
我去年写过一个微博全站爬虫
web
在上一次更新至今,又出现了很多了 bug,昨天趁着有空更新了代码,此次的更新主要作了三件事flex
一、解决了微博话题爬虫失效的问题编码
二、突破了微博话题爬虫只能爬取前50页的限制spa
三、从新组织了代码,具体可见下图.net
原来的带有界面的用户、话题、评论爬虫更新后转移到项目根目录下的 GUI 功能集中版 文件夹下,这部分的代码主要是 GUI.py 源代码,里面分别有 WeiboSearchScrapy、WeiboUserScrapy、WeiboUserScrapy 三个类,以及其余文件夹下 ListModel、ListView 等界面类,以及负责在业务逻辑和界面之间传送消息的信号类。若是以前 clone 过该项目,只须要复制功能集中版下的 GUI.py 文件并覆盖以前的 GUI.py 运行便可。3d
若是是第一次使用该项目,建议直接 clone 无 GUI 功能独立版 文件夹下的代码,该文件夹下一个 py 文件对应着一个功能爬虫,目前有两个文件orm
WeiboCommentScrapy.py 爬取评论blog
WeiboTopicScrapy.py 爬取指定关键词的全部微博,突破了 50 页的限制,可指定截至日期
由于每次微博更新,爬虫就要作相应更新,而后一些逻辑的变化致使 GUI 界面也要修改,一个产品不少代码都是浪费在了界面的编写上,为了减轻更新压力,将主要任务放在爬虫逻辑的更新上,这也是我为何单独剥离功能代码的初衷。
更新的 WeiboTopicScrapy 类新增了一个参数 limit_date
WeiboTopicScrapy(keyword='特朗普',filter=0,limit_date='2020-01-10')
filter=0 表示爬取全部微博,filter=1 表示只爬取原创微博;limit_date 指明只抓取 2020-01-10 至今的微博;上述新建类的语句代表开启一个抓取特朗普话题下 2020-01-10 至今的全部微博的任务。
代码最前面须要替换成你本身 weibo.cn 的 Cookie,关于 Cookie 怎么获取,能够参考微博全站爬虫修复更新啦!!!的最后面说明。
代码已更新到 Github,阅读原文一键直达。
该项目不按期更新,请持续关注,若有需求请在本公众号留言,回复 社群 可进粉丝交流群,和 200+ 人一块儿 day day up~
往期精选
本文分享自微信公众号 - 月小水长(inspurer)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。