在上一次更新至今,又出现了不少了 bug,昨天趁着有空更新了代码,这次的更新主要做了三件事
1、解决了微博话题爬虫失效的问题
2、突破了微博话题爬虫只能爬取前50页的限制
3、重新组织了代码,具体可见下图
原来的带有界面的用户、话题、评论爬虫更新后转移到项目根目录下的 GUI 功能集中版 文件夹下,这部分的代码主要是 GUI.py 源代码,里面分别有 WeiboSearchScrapy、WeiboUserScrapy、WeiboUserScrapy 三个类,以及其他文件夹下 ListModel、ListView 等界面类,以及负责在业务逻辑和界面之间传送消息的信号类。如果之前 clone 过该项目,只需要复制功能集中版下的 GUI.py 文件并覆盖之前的 GUI.py 运行即可。
如果是第一次使用该项目,建议直接 clone 无 GUI 功能独立版 文件夹下的代码,该文件夹下一个 py 文件对应着一个功能爬虫,目前有两个文件
WeiboCommentScrapy.py 爬取评论
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