微博话题爬虫更新:突破 50 页限制 您所在的位置:网站首页 微博个人主页设置禁止关键词搜索 微博话题爬虫更新:突破 50 页限制

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

2024-07-16 05:15| 来源: 网络整理| 查看: 265

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

 

月小水长一个编码者、思考者

 

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

在上一次更新至今,又出现了不少了 bug,昨天趁着有空更新了代码,这次的更新主要做了三件事

1、解决了微博话题爬虫失效的问题

2、突破了微博话题爬虫只能爬取前50页的限制

3、重新组织了代码,具体可见下图

微博话题爬虫更新:突破 50 页限制_学习_02

原来的带有界面的用户、话题、评论爬虫更新后转移到项目根目录下的 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

 

微博话题爬虫更新:突破 50 页限制_学习_03

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有