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

相关文章

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

以jq为案例查看外观模式

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

613
来自专栏快乐八哥

Single Page Application概览

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

1757
来自专栏极客猴

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

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

902
来自专栏iKcamp

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

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

2218
来自专栏hotqin888的专栏

Merit价值和成果管理系统——1侧栏与iframe

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

832
来自专栏GopherCoder

Django:web框架的学习(3)

1413
来自专栏Seebug漏洞平台

开发小哥手把手教你用CEYE,请给他打电话!

作者:xixijun@知道创宇404实验室 1、CEYE 是什么 CEYE是一个用来检测带外(Out-of-Band)流量的监控平台,如DNS查询和HTTP请求...

7668
来自专栏更流畅、简洁的软件开发方式

【自然框架】之通用权限(七):权限到按钮

      继续,这是第七章了。我已经到了无话可说的地步了。哎,在坚持几章就结束了。第七章到第十章,我打算采用简单说明的方式来做,因为我感觉我这么写好像大家都不...

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

也来扯扯 Vue 单元测试

1833
来自专栏Android 开发者

Android Oreo 常见问题 2.0 | Android 开发者 FAQ Vol.9

2187

扫码关注云+社区