id 怎么获取jira 评论_一篇文章教会你使用Python定时抓取微博评论

b1b03ad6251475360af8efe5820a8371.png

【Part1——理论篇】

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

f9b33a37aab1e3df55e4336136397493.png

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

5c48737a23394fdfddd7a4d2848182e8.png

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

6ff94c8be58fe2e1519bb4f476e9e28e.png

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

aa7b827d86e56f918c63b8fa169dd687.png

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

8245d46446da3214fe1e360e5d81e87f.png

【Part2——实战篇】

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

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

1bdd1bec7abfafa77c1afed225768e62.png

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

e46858561c5b13b03f2b5d2e837ebc86.png

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

b7697b65e50d665a205ae1b9bda9ea97.png

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

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

a709b21e46ca3d61d2c5909cad5874e2.png

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

e78bb5e3380b7fa046f2db916603ec98.png

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

db63549082afd34976d49a8db0b0c570.png

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

c8f2de5d39a5b7035b549c3a8c296682.png

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

【Part3——总结篇】

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

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

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

相关文章

单片机中存储器扩展位地址线怎么算_51单片机CPU结构各部件的原理详细分析

一、 51单片机串行口工作原理MCS-51系列单片机片内有一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)可与外设电路进行全双工的串行异步通信。1.串行端口的基本特点8031单片机的串行端口有4种基本工作方式,通…

h5弹框滑动 ios_微信 iOS 版更新:细节大更新,你值得拥有

在9月17日,IOS 微信 7.0.7 正式上线了,和一周前安卓 微信 7.0.7 内测版相似,本次的微信更新并没有新功能的上线,更多的是细节上的改变优化。不知道大家有没有发现,iOS版微信从 7.0.5直接跳过7.0.6,直接更新…

jpa onetoone_拥抱开源从表设计到 JPA 实现

long may the sunshine.今天的我拿起键盘就是猛敲代码。果然,十分钟后各种 JPA 报错开始了。跟新手党一样,看到一个错误就解决一个,没有好好思考为什么会出现这样的错误。于是乎,遇到一个解决一个,解决一个又遇到一个&…

python 数据流中的移动平均值_剑指Offer-41-数据流中的中位数

题目题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 例如,[2,3,4] 的中…

vue 全局键盘_如何解决ios input框唤起软键盘不灵敏问题?

为什么移动端点击事件要加300ms延迟呢?早在 2007 年初,苹果公司在发布首款 iPhone 前夕,遇到一个问题:当时的网站都是为大屏幕设备所设计的。于是苹果的工程师们做了一些约定,应对 iPhone 这种小屏幕浏览桌面端站点的问…

css一个盒子里可以装3个图片并排吗_John: CSS浮动与清除浮动属性详解(CSS float clear)...

CSS里的浮动,可以让元素脱离标准流,从左上角或右上角依次贴边排列。下面这个案例将会帮我们了解浮动的基本情况。下面这段代码块,外面是一个大div,里面包含着3个div,第一个左浮动,后两个无浮动。//style样式…

连接驱动_在jdbc中完成对于jdbc参数、jdbc变量,加载驱动,创建连接的封装

JDBC简介JDBC中文含义:Java数据库连接,英文全称:Java Database Connectivity。它是Java语言中用来规范访问数据库的接口,提供了放多接口方法,例如查询 、更新、插入、删除等方法。另外一点要注意的是:JDBC是…

tensorflow 保存训练loss_tensorflow2.0保存和加载模型 (tensorflow2.0官方教程翻译)

最新版本:https://www.mashangxue123.com/tensorflow/tf2-tutorials-keras-save_and_restore_models.html英文版本:https://tensorflow.google.cn/alpha/tutorials/keras/save_and_restore_models翻译建议PR:https://github.com/mashangxue/t…

layui导入模板数据_数据可视化图表 教程echarts,第一讲

1我们写web项目,展示数据的地方,可能会使用到图表。今天就讲这个玩意。本教程暂时定为 三讲:(随后情况,如果有新的研究,会有所更新!)第一讲 饼图的使用第二讲 柱状图的使用第三讲 拆线图的使用此教程希望…

出发a标签_以用户标签为例,复盘B端产品的需求挖掘方法论

阅读指南受众人群:B端初级产品经理阅读收获:B端产品需求挖掘的一些技巧;了解用户标签/画像的一些业务知识。手上负责一个和数据方面有关的B端系统,在日常的产品规划当中,没有关于“用户标签”方面的规划,突…

字符ascii码值转换_没想到 Unicode 字符还能这样玩?

脚本之家你与百万开发者在一起来源 | 程序通事(ID:US_stocks)如若转载请联系原公众号上周的时候,朋友圈的直升飞机不知道为什么就火了,很多朋友开着各种花式飞机带着起飞。图片来自网络还没来得及了解咋回事来着,这个直升飞机就?…

右键菜单无响应_被流氓软件玩坏了?这两个清理工具拯救你凌乱的右键菜单。...

Hello 这里是一周进步我们写了四年近2000篇的干货文章,还分享了许多实用的神器工具,一路以来,感谢大家的支持与陪伴~文 / 一周进步 安哥拉如果你和我们一样,是一个喜欢在电脑上安装各种各样的软件的人,你的电脑右键菜…

jsp mysql源码_jsp+servlet+mysql员工管理系统源代码下载

jspservletmysql员工管理系统项目截图注册页面登录页面添加员工编辑员工员工列表数据库建表语句/*Navicat MySQL Data TransferSource Server : localhostSource Server Version : 50509Source Host : localhost:3306Source Database : wdhdbTarget Server Type : MYSQLTarget …

vs里安装了mysql吗_vs2017安装 MySQL for Visual Studio 1.2.

vs2017安装想在win7EF6 VS2017 MySQL 但是安装MySQL for Visual Studio 1.2.7 时一直安装不上去,如下:Action 9:40:05: InstallFinalize.1: Action 9:40:05: DeleteRegKeyAndExtensionsFile_VS2013.1: Action 9:40:06: DeleteRegKeyAndExtensionsFile_…

mysql数据库优化语句_mysql数据库优化语句

mysql优化语句数据库语句: Ddl(数据定义语言) alter create drop Dml(数据操作语言) inset delete update www.2cto.com Dtl(数据事务语言) conmmit rollback savepoint Select Dcl(数据控制语句) grant赋权限 revoke回收 Mysql数据库优化: 1、 数据库表…

json模拟数据怎么用_在使用axios获取自己模拟的json数据是踩到的坑

最近在使用Vue仿写一个网易云音乐的单页面应用,当页面布局什么的写完后,然后就准备用axios获取后台数据渲染页面了,当然,我自己写的,并没有后台,所以,我就自己写json文件,然后弄prox…

mysql架构深入_mysql性能优化2:深入认识mysql体系架构

前言本文将重点梳理mysql的体系架构,便于了解mysql的实现原理。Mysql体系结构Client Connectors 接入方 支持协议很多Management Serveices & Utilities 系统管理和控制工具,mysqldump、 mysql复制集群、分区管理等Connection Pool 连接池&#xff1…

mysql租车管理系统_基于java实现租车管理系统

概述基于java swing JFrame 的图书馆管理系统,租车,还车,管理员管理用户,付款等。部分代码public class Login extends JFrame {private static final long serialVersionUID 1L;/*** 登录窗体*/public Login() {setDefaultClo…

java 1的阶乘之和_1-20的阶乘之和(java)

import java.math.BigInteger;public class Factorial {//2)求1&#xff01;2&#xff01;……20&#xff01;public static void main(String[] args){BigInteger sumBigInteger.ZERO;for(BigInteger iBigInteger.ONE;i.intValue()<20;){ii.add(BigInteger.ONE);sumsum.add…

java构建json_Java构造和解析Json数据的两种方法详解一

在www.json.org上公布了很多JAVA下的json构造和解析工具&#xff0c;其中org.json和json-lib比较简单&#xff0c;两者使用上差不多但还是有些区别。下面首先介绍用json-lib构造和解析Json数据的方法示例。用org.son构造和解析Json数据的方法详解请参见我下一篇博文&#xff1a…