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

Karen110 等级 481 1 0

【Part1——理论篇】

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

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

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

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

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

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

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

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

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

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

【Part2——实战篇】

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

【Part3——总结篇】

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

欢迎各位大佬点击链接加入群聊【helloworld开发者社区】:https://jq.qq.com/?_wv=1027&k=mBlk6nzX进群交流IT技术热点。

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

**-----**------**-----**---**** End **-----**--------**-----**-****

往期精彩文章推荐:

本文转自 https://mp.weixin.qq.com/s/EEq26xRAI4itw_QTdKfvmg,如有侵权,请联系删除。

收藏
评论区

相关推荐

小伙子不讲武德,竟用Python爬取了B站上1.4w条马老师视频数据来分析
作者:朱小五 源自:凹凸数据 看到标题, 啪的一下你就进来了吧! 如果有经常刷B站的小伙伴,肯定都知道B站鬼畜现在的顶流是谁? 印度:没错正是在下 那必须
数说:这只程序员组建的乐队为何能进HOT5?
上周六晚,爱奇艺的独家综艺《乐队的夏天》总决赛终于落下了帷幕,虽然决赛过程有些“曲折”,但是我最喜欢的刺猬乐队,仍然凭借自己的硬实力,最终排在第二名!
1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python
在博客上,我写了很多关于 Python 的文章,很多朋友可能觉得橡皮擦应该是一个 Python 开发人员或者一个技术开发人员,但很遗憾的告诉大家,橡皮擦恰好是很多公司中开发人员的对立面【产品经理】。但我是一个相当懂技术人的产品经理。 一、Python 初次接触,Python 变量与基本运算 1.1 滚雪球学 Python 课程前置导语 从本篇博
我用python帮朋友做了张图,结果
↖一个宝藏公众号,长的好看的人都关注了 却发现他是这么拿我当兄弟的 事情的经过是这样的: 我开开心心的去一家烧饼店吃饭 (ht
15. Python 程序运行速度如何提高十倍?第一遍滚雪球学 Python 收工
本篇文章将给大家介绍 Python 多线程与多进程相关知识,学习完该知识点之后,你的 Python 程序将进入另一个高峰。 <center<font colorred缓解一下视疲劳</font</center 15. Python 程序运行速度如何提高十倍?第一遍滚雪球学 Python 收工(https://imghelloworld.oss
python装饰器详解
你会Python嘛? 我会! 那你给我讲下Python装饰器吧! Python装饰器啊?我没用过哎 以上是我一个哥们面试时候发生的真实对白。 \分割线
深入理解 Go Slice
(https://imghelloworld.osscnbeijing.aliyuncs.com/0ce8a8773a658d4b843e5796a0dbf001.png) image 原文地址:深入理解 Go Slice(https://github.com/EDDYCJY/blog/blob/master/golang/pkg/20
Android Service 流程分析
启动Service过程 Android Service启动时序图 (https://imghelloworld.osscnbeijing.aliyuncs.com/039313fdaaf1e7dea3bde222b3ec9934.png) Android Service启动时序图.png 上图就是Android
原来Python绘图也可以这么漂亮,这次真的是学习到了!
(https://imghelloworld.osscnbeijing.aliyuncs.com/8830803f033eeed85783e9058cf08968.png) 作者:朱小五 来源:快学Python 👆人生苦短,快学Python! 最近看了一篇文章《一个牛逼的Python 可视化库:PyG2Plot》,可惜只是简单介
被“词云”包围的冰冰会更好看吗?安排
(https://imghelloworld.osscnbeijing.aliyuncs.com/b299933deefc692934e8cc6141ab3894.png) 大家好,我是小五🐶 昨天「凹凸数据」发了一篇张同学投稿的文章《用Python爬取王冰冰vlog弹幕并制作词云(https://mp.weixin.qq.com/
一款高颜值的词云包让我拍案叫绝
相信大家也都通过各种渠道了解了老干妈与鹅厂的爱恨纠缠,当然其中还混入了迷惑行为的“骗子”、吃瓜吃得飞起的“阿里系”以及连称此事与我无关的“某搜索引擎”。不过这是一篇技术文,所以无心管他到底是谁的老千妈,一心只想给大家介绍这个惊艳的好东西。我事先分别用python爬取了腾讯和老干妈的回应微博下的评论(老干妈没有微博,换成了老干妈警方公告下的评论),jieba分
为啥要学Python?
为啥要学Python?如果我跟你说你现在用一天拉出来的财务统计表,学了Python之后能用1个小时就搞定,你学不学?如果你花了8个小时扒的竞品投放数据,学了Python之后能用30min搞定,你学不学?你总羡慕你的同事能6点下班,陪女朋友蹦迪夜生活丰富,你却在满脸油头的爆肝加班,学了Python之后,你也能这样,你学不学?如果我跟你说,学会了Python能增
最好用的Python学习教程第一篇章
学习不打烊,充电加油只为遇到更好的自己。希望大家如果觉得好的话可以点赞,评论鼓励一下。 一、从这里学起?学Python你应该知道这些内容。 1.1 导语如何快速学会Python?这篇博客会告诉你如何从无到有,构建自己的知识框架,博客主励志打造最好用的Python基础教程。 1.2 为什么要学习Python 简单易学Python是一种代表简单主义思想的语言,
Python分析5000+抖音大V,发现大家都喜欢这类视频!
最近,小F在知乎上看到一个关于抖音的问题。 里面提到了,目前我国人均每天刷短视频110分钟。 看这数据,看来小F又被平均了。 不过老实说,只要一打开抖音,小F确实是有一种停不下来的感觉~ 所以还是少刷抖音,多看书。要不然时间全流逝了。 本期就给大家用数据分析一下在抖音,什么类型的视频最受欢迎。 / 01 / 数据获取 数据来自于第三方监
一篇文章教会你使用Python定时抓取微博评论
【Part1——理论篇】 试想一个问题,如果我们要抓取某个微博大V微博的评论数据,应该怎么实现呢?最简单的做法就是找到微博评论数据接口,然后通过改变参数来获取最新数据并保存。首先从微博api寻找抓取评论的接口,如下图所示。 但是很不幸,该接口频率受限,抓不了几次就被禁了,还没有开始起飞,就凉凉了。 接下来小编又选择微博的移动端网站,先登录,然后找到我们想要抓