Python语言——使用Python定时抓取微博评论
小职 2020-12-14 来源 :「 IT共享者」 阅读 995 评论 0

摘要:本篇介绍了如何用Python定时抓取微博评论,希望对Python语言的学习有所帮助,

本篇介绍了如何用Python定时抓取微博评论,希望对Python语言的学习有所帮助,

Python语言——使用Python定时抓取微博评论

【Part1——理论篇】

 

试想一个问题,如果我们要抓取某个微博大V微博的评论数据,应该怎么实现呢?最简单的做法就是找到微博评论数据接口,然后通过改变参数来获取最新数据并保存。首先从微博api寻找抓取评论的接口,如下图所示。

 Python语言——使用Python定时抓取微博评论

 

 

但是很不幸,该接口频率受限,抓不了几次就被禁了,还没有开始起飞,就凉凉了。

 Python语言——使用Python定时抓取微博评论

 

 

接下来小编又选择微博的移动端网站,先登录,然后找到我们想要抓取评论的微博,打开浏览器自带流量分析工具,一直下拉评论,找到评论数据接口,如下图所示。

 Python语言——使用Python定时抓取微博评论

 

 

之后点击“参数”选项卡,可以看到参数为下图所示的内容:

 

 Python语言——使用Python定时抓取微博评论

 

可以看到总共有4个参数,其中第1、2个参数为该条微博的id,就像人的身份证号一样,这个相当于该条微博的“身份证号”,max_id是变换页码的参数,每次都要变化,下次的max_id参数值在本次请求的返回数据中。

 

 Python语言——使用Python定时抓取微博评论

 

【Part2——实战篇】

 

有了上文的基础之后,下面我们开始撸代码,使用Python进行实现。

 Python语言——使用Python定时抓取微博评论

 

 

1、首先区分url,第一次不需要max_id,第二次需要用第一次返回的max_id。

 

 Python语言——使用Python定时抓取微博评论

 

2、请求的时候需要带上cookie数据,微博cookie的有效期比较长,足够抓一条微博的评论数据了,cookie数据可以从浏览器分析工具中找到。

 Python语言——使用Python定时抓取微博评论

 

 

3、然后将返回数据转换成json格式,取出评论内容、评论者昵称和评论时间等数据,输出结果如下图所示。

 Python语言——使用Python定时抓取微博评论

 

 

4、为了保存评论内容,我们要将评论中的表情去掉,使用正则表达式进行处理,如下图所示。

 Python语言——使用Python定时抓取微博评论

 

 

5、之后接着把内容保存到txt文件中,使用简单的open函数进行实现,如下图所示。

 Python语言——使用Python定时抓取微博评论

 

 

6、重点来了,通过此接口最多只能返回16页的数据(每页20条),网上也有说返回50页的,但是接口不同、返回的数据条数也不同,所以我加了个for循环,一步到位,遍历还是很给力的,如下图所示。

 Python语言——使用Python定时抓取微博评论

 

 

7、这里把函数命名为job。为了能够一直取出最新的数据,我们可以用schedule给程序加个定时功能,每隔10分钟或者半个小时抓1次,如下图所示。

 Python语言——使用Python定时抓取微博评论

 

 

8、对获取到的数据,做去重处理,如下图所示。如果评论已经在里边的话,就直接pass掉,如果没有的话,继续追加即可。

 Python语言——使用Python定时抓取微博评论

 

 

这项工作到此就基本完成了。

 

【Part3——总结篇】

 

这种方法虽然抓不全数据,但在这种微博的限制条件下,也是一种比较有效的方法。



关注“职坐标在线”(Zhizuobiao_Online)公众号,免费获取学习视频资料、技术就业咨询。

Python语言——使用Python定时抓取微博评论

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved