【Part1——理论篇】

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

但是很不幸,该接口频率受限,抓不了多少次就会被禁,刚准备好飞,就凉凉了。

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

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

可以看到一共有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掉,如果没有的话,继续追加就可以了。

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

Python干货:教你如何利用python抓取微博评论,利用python知道更多微博大V有趣搞笑评论!相关推荐

  1. 使用新浪微博官方API抓取微博数据(Python版)

    一.安装环境 从网站:http://github.liaoxuefeng.com/sinaweibopy/  下载安装SDK, 然后就可以看一下网站:https://github.com/michae ...

  2. 利用 Python 自动抓取微博热搜,并定时发送至邮箱

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夜阑卧听风吹雨,铁马冰河入梦来. ...

  3. Python爬虫实战八之利用Selenium抓取淘宝匿名旺旺

    其实本文的初衷是为了获取淘宝的非匿名旺旺,在淘宝详情页的最下方有相关评论,含有非匿名旺旺号,快一年了淘宝都没有修复这个. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语 ...

  4. python抓取数据包_利用python-pypcap抓取带VLAN标签的数据包方法

    1.背景介绍 在采用通常的socket抓包方式下,操作系统会自动将收到包的VLAN信息剥离,导致上层应用收到的包不会含有VLAN标签信息.而libpcap虽然是基于socket实现抓包,但在收到数据包 ...

  5. Python利用requests抓取页面源代码(基础)

    Python利用requests抓取页面源代码(基础) Requests模块是一个用于网络访问的模块. 由于使用到的requests库为第三方库,需要事先对其进行安装 1.1安装requests (1 ...

  6. 利用Crowbar抓取网页异步加载的内容 [Python俱乐部]

    利用Crowbar抓取网页异步加载的内容 [Python俱乐部] 利用Crowbar抓取网页异步加载的内容 [Python俱乐部] 利用Crowbar抓取网页异步加载的内容 在做 Web 信息提取.数 ...

  7. Python进阶之Scrapy利用ImagesPipeline抓取汽车之家宝马5系缩略图

    Python进阶之Scrapy利用ImagesPipeline抓取汽车之家宝马5系缩略图 1. 创建项目 2. 使用ImagesPipeline爬取数据 items.py setings.py aut ...

  8. python—简单数据抓取四(利用超级鹰的ocr识别图片验证码模拟登录超级鹰网站、利用百度云的ocr识别自如租房网价格图片获取到自如网的价格)

    学习目标: python学习二十四 -简单数据抓取四 学习内容: 1.利用超级鹰的ocr识别图片验证码模拟登录超级鹰网站 2.利用百度云的ocr识别自如租房网的价格图片,获取到自如网的价格数据 1.利 ...

  9. python每隔半个小时执行一次_一篇文章教你用Python抓取微博评论

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

最新文章

  1. 01Python基础_09异常
  2. 设计模式 ( 十八 ) 策略模式Strategy(对象行为型)
  3. Android --- RecycleView下拉刷新,item中的图片闪烁,图片采用Glide方式加载
  4. 《Python游戏编程快速上手》第十一章猜数字,推理游戏Bagels
  5. 解决网络请求的依赖关系
  6. 6、mysql中字段
  7. TRIZ解决问题方法
  8. 基本控件Password控件
  9. 新奇漂亮的Ajax/CSS表格设计汇集
  10. 【原】Coursera—Andrew Ng机器学习—Week 9 习题—异常检测
  11. 21计算机考研上岸经验分享(一战成硕,普通双非逆袭顶级211)
  12. 基于SSM的灾情发布平台
  13. 一个解决OnNcLButtonUp不能响应消息问题的更好办法
  14. 使用Spring Boot开发邮件系统
  15. Cannot load C:\Users\12778\AppData\Local\JetBrains\IntelliJIdea2021.1\tomcat\c0cf5d96-4221-48ee-b343
  16. Android多语言切换(兼容安卓9、10)
  17. 【uniapp小程序】路由跳转navigator传参封装
  18. OPPO和vivo拉抬,联发科业绩继续下滑
  19. cartographer 源码解析 (五)
  20. 怎么写实验论文的结果和分析

热门文章

  1. Ubuntu20.04下没有亮度调节且找不到/sys/class/backlight文件夹(backlight里为空)的解决办法
  2. cs231n笔记阅读
  3. Promise使用详解2(ES6中的Promise)
  4. 解决U盘在Linux系统只读的问题:[sdb] Write cache: disabled, read cache: enabled, doesn‘t support DPO or FUA
  5. Linux 虚拟文件系统(一)概述
  6. 近日学习笔记:df -h和du -sh命令,查看linux版本,vbm管理工具,su命令,ssh服务升级技巧,source命令
  7. 计算机化学博士点,一流大学建设高校各学科博士点一览
  8. eclipse如何导入jdk包
  9. 一步步读懂Pytorch Chatbot Tutorial代码(二) - 数据处理
  10. Web APIs:PC 端网页特效--常见网页特效案例--轮播图及节流阀思想