python爬虫之微博评论爬取提交Cookie信息模拟微博登录异步加载数据如何爬取代码词云制作及分析总结

最近喜欢看《火星情报局》,搞笑中也不缺内涵。记得2016年的最后一期,里面说到,年终总结只需一个字,而沈梦辰给自己的是一个黑字,2016的她如此招黑,那今天我爬取她2017年的一篇微博评论,看看2017有什么变化呢?

提交Cookie信息模拟微博登录

需要爬取登录之后的信息,大家都是望而止步,不要担心,今天呢,给大家提供一个超级简单的方法,就是提交Cookie信息登录微博,首先,我们找到沈梦辰的微博网址:http://m.weibo.cn/u/1732927460 这里是登录的移动端,你会发现,你点击网址会自动跳转到登录微博的界面(没有跳转的注销掉自己的账号),如下图所示:

然后登录自己的账号密码,这时记得打开Fiddler进行抓包,如图所示,提取Cookie做为请求沈梦辰微博网址的请求头即可。

异步加载数据如何爬取

我在网上看过移动端的微博数据很好爬,没有异步加载,可是不知道为什么,我的评论数据就是异步加载的,其实异步加载不可怕,找到相应js包即可,如下图为沈梦辰的一条微博和评论的js包。我们只需请求这个js数据,然后利用json库即可提取我们所需的评论数据。

代码

import requests
import json
import time
import pymongo

client = pymongo.MongoClient('localhost', 27017)
weibo = client['weibo']
comment_shengmengc = weibo['comment_shengmengc']

headers = {
    "Cookies":'xxxxxxxxxxx',
    "User-Agent":'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1'
}

url_comment = ['http://m.weibo.cn/api/comments/show?id=4060977869675098&page={}'.format(str(i)) for i in range(0,1000)]
def get_comment(url):
    wb_data = requests.get(url,headers=headers).text
    data_comment = json.loads(wb_data)
    try:
        datas = data_comment['data']
        for data in datas:
            comment = {"comment":data.get("text")}
            comment_shengmengc.insert_one(comment)
    except KeyError:
        pass
for url in url_comment:
    get_comment(url)
    time.sleep(2)

爬取的数据导入数据库后又导出为csv格式进行分析

词云制作及分析

可以说支持的评论更多一些:例如爱你,喜欢,坚强等等;不过也有不少的恶意评论:黑,恶心,讨厌等。 希望你在新的一年好好努力,让喷子远离你吧。

总结

1Cookie提交是一个简单不错的选择,但Cookie信息隐藏着隐私,大家千万别暴露在外面,以防外人所利用。 2异步加载不可怕,找包有技巧,有id,vid等字段的嫌疑最大,多练习就行。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏子勰随笔

SDK那些事(总纲)

27010
来自专栏架构师之路

微信多点登录与QQ消息漫游架构随想

【需求缘起】 之前的一些文章简单介绍了 《“单人消息”》《“离线消息”》《“群消息”》《“用户状态”》的一些相关技术(点击上面的link直接阅读),今天来聊一聊...

3455
来自专栏程序生活

Python爬虫系列(一)初期学习爬虫的拾遗与总结(11.4更)

---- 最近,为了提取裁判文书网的有关信息,自己迈入Python的学习之路,写了快两周的代码,自己写这篇文章总结下踩过的坑,还有遇到一些好的资料和博客等总结下...

3555
来自专栏假装我会写代码

用 Algolia DocSearch 轻松实现文档全站搜索

1463
来自专栏北京马哥教育

登陆新浪微博&批量下载收藏内容[Python脚本实现]

作者:wklken 来源: http://blog.csdn.net/wklken/article/details/7884529 今天开新浪微博,才发现收藏...

4346
来自专栏iOSDevLog

生意参谋 App 需求 分析 编码 GUI 交付 Licence

还有一个登录的问题,我这里用最简单的,获取 Chrome 的 cookie,放到请求头中。

912
来自专栏玩转全栈

如何愉快的使用mpvue开发小程序

首先mpvue是基于vue实现的一套能够在微信小程序上跑起来的框架。因此,如果你开始准备使用mpvue开发小程序,而且,如果你恰好有vue开发的经验,那么可以略...

69421
来自专栏sunseekers

入门微信小程序 (一)

小程序已经快两岁的,我才入坑,刚刚入坑那会我使劲和我朋友抱怨,太难了,学不动,不想学,不学了。硬着头皮死磕一遍文档,然后觉得也没有我想象中那么难。或许是因为语言...

702
来自专栏JavaQ

我的2016年书单

相对于电子书,我更喜欢纸质版的书籍。我喜欢在拿到新书时记录购买时间、地点、开始阅读的时间、第一次看完的时间,算是一种学习的记录。过去的2016年一共阅读过15本...

3397
来自专栏知晓程序

已发布的个人小程序,终于可以改名了!

在小程序开放个人注册时,知晓程序(微信号 zxcx0101)提到过,个人类型小程序在发布之前,有三次更名机会。发布之后,「小程序暂不支持改名」。

691

扫码关注云+社区