今天给大家带来python脚本实现 爬取新浪微博评论数据【附完整源代码】,希望能够帮助到大家。
今天目标爬取微博任意博文的评论信息
工具使用
开发环境:win10、python3.6
开发工具:pycharm
工具包 :requests,re, time, random,tkinter
项目思路分析
1.网页版登录拿回cookie值
2.选取要爬的博文评论信息的网页版网址
https://weibo.com/3167104922/Kkl7ar83T#comment为例
3.根据网页版的地址抓包拿回博文唯一的id值(weibo_id)
4.构造博文手机版评论请求的地址
f’https://m.weibo.cn/comments/hotflow?id={weibo_id}&mid={weibo_id}&max_id_type=0’
5.发送请求拿回响应的json数据
6.max_id和max_id_type的值确定
7.构造data参数,下次翻页请求要加上参数
"""构造GET请求参数""" data = { 'id': weibo_id, 'mid': weibo_id, 'max_id': max_id, 'max_id_type': max_id_type }
8.max_id为上一个包的翻页规律
9.然后继续解析数据,获取评论信息内容,然后再翻页,一直回调。
起始地址先进行登录
https://weibo.com/
登录之后点开一篇博文,点击评论,点击查看更多评论
本文以https://weibo.com/3167104922/Kkl7ar83T#comment为例
search搜索weibo_id,构造headers里面的requests url,发送请求拿回weibo_id的值
进入手机版模式进行XHR抓包
翻页用到data的参数
"""构造GET请求参数""" data = { 'id': weibo_id, 'mid': weibo_id, 'max_id': max_id, 'max_id_type': max_id_type }
先来个代码操作
本代码需要准备手机版登录后的cookie和博文网页版地址
源码展示: