爬取豆瓣top250电影表单之数据可视化
数据库存储在爬虫写完了,添加了一个新的功能,把爬取到的数据存到了数据库中。在刚开始时了解到PyMySQL,但是用这么库只能用sql语句注入,效率非常低下。在看了大量教程后,了解到了sqlAIchemy能方便地建立sql与pandas数据类型间的连接(类似与Mybatis?)
部分代码如下:
# 写入数据库print("正在写入数据库...")# 建立连接engine = create_engine("mysql+mysqlconnector://root:root@localhost:3306/douban?charset=utf8")conn = engine.connect()# 读取csvdf = pd.read_csv(r'douban_top250.csv', header=None, names=head)df.sort_values('rank', inplace=True)df = df.replace('无', np.NaN)# 写入sql 建立主键rankdf.t ...
爬取豆瓣top250电影表单
需求分析
爬虫是获取数据一种方式,能够按照一定规则自动抓取某个网站或者万维网信息的程序;现实环境中很大一部分网络访问都是由爬虫造成的;我们来看一个常见应用场景:当我们使用百度或者其他搜索引擎搜索某个关键字的时候,搜索结果中会包含对应的内容,比如:搜索Python,搜索结果可能包括Python官网,Python相关文章等,可是这些信息分布在不同的网站,这些搜索引擎是如何知道这些信息与相对应的地址呢?也许是搜索引擎获取网站相关数据及对应的地址;python的官网应该不可能主动把相应数据给这些搜索引擎公司,那么这些数据是如何获取的呢?最可能的答案,搜索引擎公司按照一定的规则将这些网站的信息抓取下来,保存到本地,然后对数据进行清洗处理,这些数据是搜索网站的基础,而获取数据过程就是爬虫所做的事情。根据爬取方式不同我们可以将爬虫分为两类:
1.增量型爬虫:不会限制抓取数据属性,比如Google, baidu搜索引擎都是增量型爬虫;他们无时无刻不在抓取数据,还会根据一定算法评价网站的好坏,定期抓取最新数据,以保证他们的搜索结果时效性,正确性;
2.批量型爬虫:限制抓取的属性,抓取特定网站的信息 ...
python爬虫三种数据解析
最近在学习爬虫,对爬虫中的数据解析规则作一下记录。
re解析元字符. 匹配除换⾏符以外的任意字符\w 匹配字⺟或数字或下划线\s 匹配任意的空⽩符\d 匹配数字\n 匹配⼀个换⾏符\t 匹配⼀个制表符^ 匹配字符串的开始$ 匹配字符串的结尾\W 匹配⾮字⺟或数字或下划线\D 匹配⾮数字\S 匹配⾮空⽩符a|b 匹配字符a或字符b() 匹配括号内的表达式,也表示⼀个组[…] 匹配字符组中的字符[^…] 匹配除了字符组中字符的所有字符
量词* 重复零次或更多次+ 重复⼀次或更多次? 重复零次或⼀次{n} 重复n次{n,} 重复n次或更多次{n,m} 重复n到m次
贪婪匹配和惰性匹配.* 贪婪匹配.*? 惰性匹配 (让*尽可能少出现的结果).*? 表示尽可能少的匹配, .*表示尽可能多的匹配
bs4解析Beautiful Soup以代码举例
import requestsfrom bs4 import BeautifulSoupim ...
转|基于油猴的力扣题目转换工具 html转markdown 便于写题解
描述刷力扣的时候,写题解是好习惯,但是每次复制题目,都需要手动修改成markdown格式的,挺麻烦的,于是借助油猴脚本插件,写了这个力扣题目转换工具,功能是将html格式的题目,转换成markdown格式的题目,一键复制粘贴即可很愉快的去写题解了
使用参考zimo大佬博客
GitHub访问困难问题
针对 GitHub和 GitHub pages访问困难有以下两种方法1. 修改hosts在本地的hosts文件中添加
#github69.171.224.40 github.global.ssl.fastly.net185.199.111.153 assets-cdn.github.com140.82.113.4 github.com140.82.113.4 www.github.com#github.io185.199.108.153185.199.109.153185.199.110.153185.199.111.153
能一定程度上加快加载速度
2. 科学上网这个各凭本事。。。