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 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

全球N个WordPress网站感染了……

安全研究人员又发现了超过2000个WordPress站点,感染了被加载到WordPress后端登录页面的键盘记录器,研究人员将这些新发现的感染地点与 2017年...

1769
来自专栏达摩兵的技术空间

以jq为案例查看外观模式

套餐服务–外观模式,属于大类结构型设计模式的一种,通常是为一组复杂的子系统接口提供一个更高级的统一接口,通过这个接口让使用者对子系统的接口更加容易访问。

933
来自专栏前端黑板报

构建离线web应用(一)

本文由哔哩哔哩前端工程师 墨白 翻译分享 我喜欢移动app,而且也是那些坚持使用Web技术构建移动应用程序的人之一。 经过技术的不断迭代(可能还有一些其它的东西...

26610
来自专栏Java进阶架构师

周末学不动了,推荐五款小众实用的工具,请查收(内有大波妹福利)

这个确实好用,作为正在通往架构师路上的我们没有几台电脑怎么行?台式机、笔记本,都放在写字台上,笔记本内置键盘鼠标,台式机则有一套无线键鼠。经常需...

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

也来扯扯 Vue 单元测试

2323
来自专栏快乐八哥

Single Page Application概览

第一点 :传统web应用遇到的2个问题 1.User Experience 用户体验 2.Performance 性能问题 SPA如何解决这些问题的: 不重新加...

1797
来自专栏极客猴

爬取《Five Hundred Miles》在网易云音乐的所有评论

在使用 Ajax 技术加载数据的网站中, JavaScript 发起的 HTTP 请求通常需要带上参数,而且参数的值都是经过加密的。如果我们想利用网站的 RES...

922
来自专栏SHERlocked93的前端小站

Vue项目骨架屏注入实践

相比于早些年前后端代码紧密耦合、后端工程师还得写前端代码的时代,如今已发展到前后端分离,这种开发方式大大提升了前后端项目的可维护性与开发效率,让前后端工程师关注...

3404
来自专栏阿杜的世界

Mac版Java开发环境配置

1153
来自专栏iKcamp

微信小程序教学第三章(含视频):小程序中级实战教程:列表-静态页面制作

§ 列表 - 开发准备 本文配套视频地址: https://v.qq.com/x/page/f0554syejjd.html 开始前请把 ch3-1 分...

2388

扫码关注云+社区