社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python爬虫之微博好友圈

Python爱好者社区 • 6 年前 • 601 次点击  

 


作者:罗罗攀  

Python爱好者社区专栏作者   Python爬虫爱好者

博客地址:http://www.jianshu.com/u/9104ebf5e177



感觉很久没爬虫了,今天就爬下移动端的微博好友圈信息。

代码

import requests
import json

headers = {
    'Cookie':'xxxxxxxx',
    'User_Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'
}

f = open('C:/Users/LP/Desktop/weibo.txt','a+',encoding='utf-8')

def get_info(url,page):
    html = requests.get(url,headers=headers)
    json_data = json.loads(html.text)
    card_groups = json_data[0]['card_group']
    for card_group in card_groups:
        f.write(card_group['mblog']['text'].split(' ')[0]+'\n')

    next_cursor = json_data[0]['next_cursor']

    if page<50:
        next_url = 'https://m.weibo.cn/index/friends?format=cards&next_cursor='+str(next_cursor)+'&page=1'
        page = page + 1
        get_info(next_url,page)
    else:
        pass
        f.close()

if __name__ == '__main__':
    url = 'https://m.weibo.cn/index/friends?format=cards'
    get_info(url,1)

代码分析

1.提交cookie模拟登陆微博

2.好友圈的信息也是异步加载,如图为第一页的url





看下返回的数据中,这个next_cursor很重要!!!!





往下翻页,如图,可以看出第二页的url中也有next_cursor,刚好是第一页返回的!!!!!




这样就可以构造多页url,爬取数据啦

词云

最后,jieba分词做了一个词云,除了二哈,感觉全是群主的,被刷屏了。

福利:文末扫码立刻关注公众号,“Python爱好者社区”,开始学习Python课程:

关注后在公众号内回复课程即可获取:

1.崔老师爬虫实战案例免费学习视频。

2.丘老师数据科学入门指导免费学习视频。

3.陈老师数据分析报告制作免费学习视频。

4.玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。

5.丘老师Python网络爬虫实战免费学习视频。


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/Iem1BLwKks
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/3668
 
601 次点击