python 抓取微博评论破亿_一篇文章教会你使用Python定时抓取微博评论

【Part1——理论篇】

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

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

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

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

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

【Part2——实战篇】

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

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

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

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

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

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

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

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

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

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

【Part3——总结篇】

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/338714.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cassandra 入门_Apache Cassandra和Java入门(第一部分)

cassandra 入门在此页面上,您将学到足够的知识以开始使用NoSQL Apache Cassandra和Java,包括如何安装,尝试一些基本命令以及下一步要做什么。 要求 要遵循本教程,您应该已经有一个正在运行的Cassandra实例,并且已经在…

C语言如何实现动态数组?

提出问题请问在c语言里如何实现动态大小的数组啊,比如说int a[N];,这里N的值可以在程序中定,或者有什么方法可以实现类似的功能?总之只要在编译时不用制定数组大小就行。分析问题嵌入式系统的内存是宝贵的,内存是否高效…

Oracle为什么装在XP系统,重装xp系统后oracle恢复方法

重装系统后oracle如何恢复呢?下面就给大家介绍一下重装系统后oracle的恢复方法1、我们安装数据库软件只需安装同版本的数据库软件,不需要创建数据库。最好安装在和原来数据库同样的%ORACLE_HOME%下,省得还要修改参数文件路径等。(直接覆盖原来的oracle即…

vba 当前文件名_VBA代码解决方案第77讲内容:如何导出文件

大家好,我们今日继续讲解VBA代码解决方案的第77讲内容:如何导出文件,形成一个文本文件,如果需要将工作表中的数据保存为文本文件,可以创建一个文本文件用于保存数据。应用于FileSystemObject对象的CreateTextFile方法创…

jboss调jvm参数_在同一台机器上启动多个JBoss A-MQ JVM

jboss调jvm参数因此,我最近没有写过很多博客-只是很忙。 但是,我新年的决心是写一些博客,分享一些我经常遇到的事情,即使这些简单的事情可能会帮助一些人。 因此,对于本条目,我将展示一种在单个计算机上启…

startup oracle 01012,ORA-01012:not logged on的解决办法

conn / as sysdba 报错ORA-01012: not logged on发生缘故原由:关闭数据库是shutdown 后面没有接关闭参数中的任何一个。nomal --->所有毗邻都断开时才气关闭;transactional --->守候事务竣事后,自动断开毗邻;immediate ---&…

常见的C语言字符串操作

#字符串倒序输出实现逻辑,通过strlen获取字符串长度,然后通过 len/2 进行交叉赋值,这里需要注意,不需要考虑len是奇数还是偶数的问题。如果len是奇数,最后一个字符就不需要倒序,如果是偶数,最后…

mui 时间样式错乱_微信公众号素材样式中心在哪?公众号动态分割线怎么添加?...

相比于静态分割线,动态分割线更有特色,能给文章增加趣味性。今天壹姐就来给公众号运营的小伙伴们介绍,怎么添加动态的分割线样式到文章里吧~1怎么使用公众号样式中心公众号后台的编辑功能比较基础,想要使用好看的公众号素材&#…

apache mesos_Apache Mesos:编写自己的分布式框架

apache mesos在上一篇文章中 ,我们了解了mesos是什么,它如何有用,并开始使用它。 在本文中,我们将看到如何在mesos上编写自己的框架。 (在mesos中,框架是在其上运行的任何应用程序。)本文介绍了…

php获取访问量文本形式,php利用用文本统计访问量的方法图文详解

这篇文章主要介绍了php使用文本统计访问量的方法,涉及php文本文件读写与数值运算的相关技巧,需要的朋友可以参考下方法1:$fp fopen("counter.txt", "r");while(!flock($fp, LOCK_EX)) { // acquire an exclusive lock// waiting to lock the f…

yolov4论文_Alexey 大神接棒,YOLOv4 重磅来袭!快来一睹论文真容吧!| 原力计划...

作者 | Mr.Jk.Zhang责编 | 夕颜出品 | CSDN(ID:CSDNnews)前言千呼万唤始出来系列,继YOLOv3两年后,YOLOv4终于在上周出来了,让我们来一睹论文真容吧!由于YOLO之父Jeseph Redmon在今年2月已宣布退出CV学术界,大家都以为Y…

【C/C 】浅谈C/C 中函数指针与回调函数

01、函数指针1.1、函数指针定义一个函数总是占用一段连续的内存区域,函数名在表达式中有时也会被转换为该函数所在内存区域的首地址,这和数组名非常类似。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使…

jvm 错误_JVM因“ OutOfMemory”错误而关闭-我该怎么办?

jvm 错误看起来似乎很神奇,但是在有关JVM设置的搜索请求结果中经常显示“来自深度”的特定呼声。 您可能会遇到“我记得那个选项,但如何启用它”的问题,而有时(主要是半年一次)管理服务器或调整虚拟设备,而…

天线3db波束宽度_浅谈 Wi-Fi 天线(2)

在上一期内容中,我们为大家解读了增益(gain)、天线方向图(Antennae Directional Pattern)两个天线技术参数,本期我们来谈谈波束宽度(lobe width)。另一个常见的天线参数是“波束宽度”(又名:波瓣宽度),英文是 lobe width 或 beam …

C语言实例:3个数从小到大排序

需求任意输入3个整数,对这3个整数由小到大进行排序,并将排序后的结果输出。源码// // author: 冲哥 // date: 2021/5/7 13:37 // description: 实现对这3个整数由小到大进行排序 #include int main() {int num1, num2, num3, temp;printf("请输入3个…

oracle u01清理,Oracleの/u01/11g/diag/rdbms/orcl/orcl/incident 的清理

https://docs.oracle.com/cd/E11882_01/server.112/e25494/diag.htm#ADMIN11007每当一个错误发生的时候,oracle会创建一个incident,并且分配一个INCIDENT_ID号,同时在ADR HOME的INCIDENT目录中创建相应的INCIDENT 目录,每个错误号…

jar 、war、ear_在命令行上操作JAR,WAR和EAR

jar 、war、ear尽管Java IDE和许多图形工具使查看和操作Java归档文件(JAR,WAR和EAR)文件的内容比以往更加容易,但有时我还是更喜欢使用命令行jar命令来完成这些任务。 当我必须重复做某事或作为脚本的一部分来做时,尤其…

C语言 | 读写文件

C语言怎样向文件读写字符fgetc函数调用形式:fgetc(fp) 功能:从fp指向的文件读入一个字符。 返回值:读成功,带回所读的字符,失败则返回文件结束标志EOF(即-1)。fputc函数调…

哨兵系列卫星_空客“哥白尼哨兵-1C”卫星雷达天线首次展开双翼

【民航事儿】2020年8月11日,腓特烈港:通过模拟零重力环境并固定在特殊装置上,哥白尼哨兵-1C卫星的12.3米宽、860公斤重的合成孔径雷达(SAR)的雷达天线,首次成功的在位于德国腓特烈港的空中客车综合技术中心展开双翼。作为哨兵-1系…

oracle vm 环境支持,使用 Oracle VM 模板快速部署 Oracle RAC 环境

6. 实时监控部署状态日志[rootracnode1 racovm]# cat /tmp/progress-racovm.out2014-04-16 03:02:27:[buildcluster:Start:racnode1] Building 11gR2 RAC Cluster2014-04-16 03:02:27:[setsshroot:Start:racnode1] SSH Setup for the root user…2014-04-16 03:02:39:[setsshro…