开发工具

Python版本:3.6.4

相关模块:

argparse模块;

requests模块;

jieba模块;

wordcloud模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

原理简介

一. 爬虫目标

爬取某条微博底下的评论数据。

二. 模拟登录

爬像新浪微博这样的大网站,不用想就知道不登录肯定是爬不了多少数据的(事实就是不登录的话只能爬第一页的评论数据)。

这里为方便起见,我们选择用微博的移动端接口进行模拟登录。即:

界面如下:

image

简单抓包可以发现登录链接为:

image

登录需要post的数据包括:

image

于是我们就可以愉快地写模拟登录微博移动端的代码啦~具体代码实现如下:

image

三. 评论数据爬取

这里我们以爬取胡歌的最后一条微博的评论数据为例。

移动端界面:

image.gif

PC端界面:

image

由于我们模拟登录的是移动端,所以我们只能从移动端爬取微博的评论数据。

移动端简单抓包可以发现只要请求下图这个链接就能获取这条微博的第一页评论数据了:

image

其中,id和mid是相同的,就是该评论页链接橙色加粗的部分:

获得的评论数据如下:

image

那么第二页呢?其实也很简单,可以发现只要请求下图这个链接就能获取这条微博的第二页评论数据了:

image

其实就是比第一页多了两个参数,这两个参数其实就藏在返回的第一页评论数据里:

image

以此类推,第n页所需的max_id和max_id_type参数就藏在返回的第n-1页评论数据里。

可以发现,当该页返回的max_id为0时,表示该页是该条微博底下评论的最后一页。

于是,我们就可以爬到该条微博下方的所有评论数据啦!(QAQ当然前提是网站没有其他的反爬措施,这个显然不太可能。)

那么PC端的微博评论页链接能不能转换为对应的移动端微博评论页链接呢?毕竟我们在电脑上一般都用的PC端接口登录然后看微博啊!

当然可以!

在胡歌最后一条微博评论页的PC端界面,我发现了这个:

注意:请求微博PC端的链接时,需要加cookie信息,经测试,只需要加cookie里的SUB参数就行了,详见相关文件中的源代码。

image

这不就是mid嘛,于是PC端的微博评论页链接就可以很容易地转换为对应的移动端微博评论页链接了。

所以微博评论数据抓取部分的代码就可以很轻松地写出来啦:

image

OK,大功告成完整源代码详见相关文件

使用说明

在终端运行weiboComments.py文件,命令格式如下:

image

例如:

python weiboComments.py -u 用户名 -p 密码 -m 10(即评论数据最多抓10页) -l 某条微博的评论页链接 -t pc(输入pc/phone,用于说明是PC还是移动端的微博评论页链接)。

简单运行一下,截个图:

image

数据保存在当前文件夹内,文件名为:

comments_当前时间戳.pkl。

注意:

为避免给微博服务器带来不必要的压力,每爬一页我都设置了较长的停顿时间。

数据可视化

随手画个前十页评论的词云吧,其他数据懒得分析了:

image

源代码见相关文件中的vis.py文件。

更多

新浪微博相关资料

关注公众号“python工程狮”回复‘新浪微博’获取。

python抓取微博评论_Python爬取新浪微博评论数据,你有空了解一下?相关推荐

  1. python爬携程景区评论_python爬取携程景点评论信息

    python爬取携程景点评论信息 今天要分析的网站是携程网,获取景点的用户评论,评论信息通过json返回API,页面是这个样子的 按下F12之后,F5刷新一下 具体需要URL Request的方式为P ...

  2. python爬取豆瓣书籍_python 爬取豆瓣书籍信息

    继爬取 猫眼电影TOP100榜单 之后,再来爬一下豆瓣的书籍信息(主要是书的信息,评分及占比,评论并未爬取).原创,转载请联系我. 需求:爬取豆瓣某类型标签下的所有书籍的详细信息及评分 语言:pyth ...

  3. python开源代码百度盘_python爬取百度云网盘资源-源码

    今天测试用了一下python爬取百度云网盘资源. 代码片段import urllib import urllib.request import webbrowser import re def yun ...

  4. python 柱状图上显示字体_Python爬取百部电影数据,我发现了这个惊人真相!

    2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%:国产电影总票房411.75亿元,同比增长8.65%,市场占比 ...

  5. python爬取歌曲评论_python 爬取歌曲评论的简单示例

    这篇文章主要为大家详细介绍了python 爬取歌曲评论的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣python 爬取歌曲评论的简单示例的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. ...

  6. python爬虫微博图片_python爬取微博图片及内容

    import random import urllib.request import json import re import requests import time id=(input(&quo ...

  7. python爬取豆瓣电影评论_python 爬取豆瓣电影评论,并进行词云展示及出现的问题解决办法...

    def getHtml(url): """获取url页面""" headers = {'User-Agent':'Mozilla/5.0 ( ...

  8. python公众号留言功能_Python 爬取公众号文章、评论

    前段时间有个爬取公众号评论小需求,花了几天查了不少资料,实现方案有好几种,最后其中一种得以实现.参考 [Python爬虫]微信公众号历史文章和文章评论API分析 . 本人是 Python 小白,会忽略 ...

  9. python爬取评论_python爬取网易云音乐评论

    本文实例为大家分享了python爬取网易云音乐评论的具体代码,供大家参考,具体内容如下 import requests import bs4 import json def get_hot_comme ...

最新文章

  1. 盘点游戏行业的那些干货网站
  2. XML知识点概念小摘
  3. 基于TableStore构建简易海量Topic消息队列
  4. 【转】20个让Web Developer开发生涯更加轻松的工具
  5. Jquery入门学习第三篇
  6. spring boot 整合mybatis + swagger2
  7. JavaEE学习10--Ajax
  8. 解锁小众网站 站在巨人的肩膀上
  9. git 拉取最新代码
  10. opencv入门Vec3f
  11. python爬取网易云评论最多的歌_python爬取网易云音乐评论
  12. 3D游戏引擎入门课程——概述
  13. 嵌入式系统基于linux的优点
  14. 细粒度图像分类论文研读-2011
  15. HI3520DV200+GV7601采集1080P视频
  16. 暖芯迦推出可编程神经调控平台芯片-元神ENS001
  17. 如何在路由器上做端口映射
  18. Filecoin节点部署
  19. 无胁科技-TVD每日漏洞情报-2022-9-26
  20. Jexus V5.0 正式发布

热门文章

  1. 朋友 (30分) 解题报告
  2. 基于加速科技ST2500的TPS73625芯片测试(1)
  3. 计算机考试小蒋在教务处,计算机二级MS-OFFICE考试EXCEL题型汇总附答案
  4. 软考高级 真题 2009年上半年 信息系统项目管理师 综合知识
  5. BZOJ2095[Poi2010] Bridges
  6. 为什么小姐姐能摇一晚上不倒?
  7. 2-氟丙二酸二乙酯,cas685-88-1等含氟试剂,氟化试剂
  8. “三级火箭”战略背后:联想携手云之鼎 正式进军云数据中心主航道
  9. ff新推荐弹窗怎么彻底删除---解决方案
  10. html字体颜色字号,(前端)html与css,css 5、颜色、字体、字号量取方式