爬虫系列之新浪微博

 

提供代码运行过程的相关咨询服务,确保代码成功运行。

本文代码已同步更新到,下面公众号。​请大家关注公众号   【 Python人生之技术实践】,  近期将推出 豆瓣、知乎、微博、网易云音乐、拉勾网、知网的爬虫教程,代码已经完成,在整理阶段谢谢。

爬虫方式:

 

1 爬取某个话题的所有的评论

2 爬取某个博主的所有微博的评论

3 爬取某个博主的所有粉丝的用户信息,位置信息

微博评论爬虫难点:

获取max_id 和 max_id_type 参数

以“迪丽热巴的微博”为案例,爬取热巴的所有微博,所有微博评论,所有粉丝的用户信息,并对所有的粉丝进行位置分析,在地图上显示粉丝分布。

requests_weibo.py功能:爬取迪丽热巴的所有的微博,微博内容的text保存在excel中,包括微博id

requests_weibo_comment.py 功能:读取热巴所有的微博id, 爬取某个微博的所有评论内容,粉丝id

user_infro.py 功能:读取所有粉丝id, 爬取微博用户(热巴粉丝)的基本信息(生日,位置,性别)。粉丝信息接口在代码中。

4 map_weibo_fensi.py对粉丝的性别和位置信息进行可视化

注意事项:

新浪微博评论内容获取时,url参数第1页,第2页至第15页,第16页及以后页码,参数是不同的。

第1页https://m.weibo.cn/comments/hotflow?id=4511519801087016&mid=4511519801087016

第2 -15 页:max_id_type 的数值为 0

https://m.weibo.cn/comments/hotflow?id=4511519801087016&mid=4511519801087016&max_id=1290444946018013&max_id_type=0

第16页及以后

从第16页开始max_id_type 的数值为 1, 这里最后是通过请求获取该值,不要手动修改为1。

requests_weibo.py

# time  : 2020/6/1 11:37
# author :wujiajia
# email :wujiajia666@qq.com
# file  : requests_weibo.py
# Software: PyCharm
# python_version:  3.6
# funcation:  获得迪丽热巴的所有微博及粉丝评论的详细url
import requests
import time
# ************************
time_ = []  # 微博发布时间
comment_url = []  # 某个微博的详细内容url
text = [] #微博文字内容
comment_num = [] #评论数
zan_num = []  # 点赞数
id = []  # 每个微博的唯一编号, 需要id 构造粉丝评论url  https://m.weibo.cn/comments/hotflow?id=4510598555019129&mid=4510598555019129&max_id_type=0
​
def spider(a):  # 参数a 表示微博的第几页
    url = "https://m.weibo.cn/api/container/getIndex"  # m. 表示手机登入浏览
    # 请求头要改为 手机或者ipad模式
    headers = {'User-Agent': 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1'}
    data = {  # 这个data  就是 xhr 中 的查询参数
        "uid": "1669879400",
        "t": "0",
        "luicode": "10000011",
        "lfid": "100103type=1&q=迪丽热巴",
        "type": "uid",
        "value": "1669879400",
        "c
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值