网站调用新浪微博内容( 请求下图这个链接就能获取这条微博的第二页评论数据)
优采云 发布时间: 2022-01-11 21:01网站调用新浪微博内容(
请求下图这个链接就能获取这条微博的第二页评论数据)
第二页呢?事实上,这很简单。您可以通过以下链接获取本微博第二页的评论数据:
其实比第一页多了两个参数。这两个参数实际上隐藏在返回的首页评论数据中:
以此类推,第 n 页所需的 max_id 和 max_id_type 参数隐藏在返回的第 n-1 页的评论数据中。
可以发现,当页面返回的max_id为0时,表示该页面是微博下评论的最后一页。
这样,我们就可以爬取到微博下方的所有评论数据了!(QAQ当然前提是网站没有其他防爬措施,这显然不太可能。)
那么,能否将PC端微博评论页面的链接转换为移动端微博评论页面对应的链接呢?毕竟我们平时都是用电脑上的PC端界面登录然后看微博的!
当然!
在胡歌上一条微博评论页面的PC界面,我发现了这个:
注意:在微博PC端请求链接时,需要添加cookie信息。经过测试,只需要在cookie中添加SUB参数即可。有关详细信息,请参阅相关文件中的源代码。
这不是mid吗,所以PC端微博评论页面的链接可以很方便的转换成手机端微博评论页面对应的链接。
因此,微博评论数据抓取部分的代码可以很方便的写成:
OK,大功告成~完整源码见相关文档~使用说明
在终端运行weiboComments.py文件,命令格式如下:
例如:
python weiboComments.py -u 用户名 -p 密码 -m 10 (即评论数据最多可以抓取10页) -l 一条微博的评论页面链接 -t pc (输入pc/phone,用于表示是否是PC端或移动端微博评论页链接)。
只需运行它并截取屏幕截图:
数据以文件名保存在当前文件夹中:
评论_当前时间戳.pkl。
注意:
为了避免对微博服务器造成不必要的压力,我为我抓取的每个页面设置了更长的暂停时间。
数据可视化
只画了前十页评论的词云,其他数据懒得分析:
源码见相关文件中的vis.py文件。
更多的
新浪微博相关信息