微博话题爬虫更新:突破 50 页限制

月小水长

一个编码者、思考者

我去年写过一个微博全站爬虫

在上一次更新至今,又出现了不少了 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 怎么获取,可以参考微博全站爬虫修复更新啦!!!的最后面说明。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200113A0BRA400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券