定时微博(微博预约时间怎么设置)

[第一部分-理论]大家好,我是皮皮。设想一个问题,如果我们要抓取一个微博V微博的评论数据,应该如何实现?最简单的方法就是找到微博评论数据接口,然后修改参数,得到

[第一部分-理论]

大家好,我是皮皮。

设想一个问题,如果我们要抓取一个微博V微博的评论数据,应该如何实现?最简单的方法就是找到微博评论数据接口,然后修改参数,得到最新的数据,保存。首先从微博api中寻找抓取评论的接口,如下图。

定时微博(微博预约时间怎么设置)插图

可惜这个界面频率有限,抓不了几次就封杀了,还没开始起飞就凉了。

定时微博(微博预约时间怎么设置)插图(1)

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

定时微博(微博预约时间怎么设置)插图(2)

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

定时微博(微博预约时间怎么设置)插图(3)

可以看到总共有四个参数,其中第一个和第二个参数是这个微博的id,就像一个人的身份证号一样,相当于这个微博的身份证号。max_id是改变页码的参数,每次都会改变。下一个max_id参数的值在此请求的返回数据中。

定时微博(微博预约时间怎么设置)插图(4)

[第二部分-实用文章]

有了以上基础,我们开始用Python实现代码。

定时微博(微博预约时间怎么设置)插图(5)

1.首先,区分网址。第一次不需要max_id,第二次需要第一次返回的max_id。

定时微博(微博预约时间怎么设置)插图(6)

2.请求时应携带cookie数据。微博中的cookies是长期有效的,足以从微博中捕捉到一条评论数据。可以从浏览器分析工具中找到Cookie数据。

定时微博(微博预约时间怎么设置)插图(7)

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

定时微博(微博预约时间怎么设置)插图(8)

4.为了保存注释内容,我们必须从注释中删除表达式,并使用正则表达式对其进行处理,如下图所示。

定时微博(微博预约时间怎么设置)插图(9)

5.之后将内容保存到txt文件中,使用简单的打开功能实现,如下图所示。

定时微博(微博预约时间怎么设置)插图(10)

6.重点来了。通过这个接口最多只能返回16页数据(每页20页)。还有一些网上的报道可以退50页。但是不同的接口,返回的数据个数不一样,所以我加了一个for循环,一步遍历非常厉害,如下图。

定时微博(微博预约时间怎么设置)插图(11)

7.这里,该函数被命名为job。为了随时取出最新的数据,我们可以使用schedule在程序中添加一个定时功能,每10分钟或者半小时抓取一次,如下图所示。

定时微博(微博预约时间怎么设置)插图(12)

8.对采集的数据进行去重,如下图所示。如果评论已经在里面了,就传出来。如果没有,就继续加。

定时微博(微博预约时间怎么设置)插图(13)

这项工作基本上在这里完成。

[第3部分-摘要]

这种方法虽然抓不到所有的数据,但在这条微博的制约下,也是一种有效的方法。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/182282.html

发表回复

登录后才能评论