前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用python爬取qq空间说说

用python爬取qq空间说说

作者头像
沉默的白面书生
发布2018-05-07 11:38:31
3.8K0
发布2018-05-07 11:38:31
举报

环境:PyCharm+Chorme+MongoDB Window10

爬虫爬取数据的过程,也类似于普通用户打开网页的过程。所以当我们想要打开浏览器去获取好友空间的时候必定会要求进行登录,接着再是查看说说。那么我们先把登录步骤给解决了。

1.模拟登录QQ空间

因为想更直观的看到整个登录过程所以就没有用selenium+phantomjs,而是结合Chorme使用。除了slenium和Chorme之外还需要下载ChormeDriver进行使用,官网不提供win64版本的但是win32版本的也能正常在64位系统使用 我使用的是2.30版本的ChormeDriver和61的Chorme。

2.通过浏览器的开发者工具查看数据来源。

在打开说说页面之前打开开发者工具点击NetWork选择XHR你会看到如下的几个网址通过查看Response。

                                 筛选XHR后显示的地址                                            

获取数据所需的参数

通过多次请求发现不断改变g_tk值,但是这个值是通过加密算法得到的在网上查了下发现了这个加密算法。

3.将数据获取并储存到数据库中。

既然已经搞清楚数据是怎么来的那么就可以开始考虑将获取的数据保存到数据库里了,这次我们选择的是MongoDB,MongoDB的数据储存格式为BSON类似于JSON。在获取过程需要考虑两个问题,一是你是否有权限访问该空间,二是在能访问的情况下不能无止境的爬下去需要判断该空间说说是否爬取完毕。在爬取过程中将不能访问的QQCode存入list在最后跑完的时候输出。事已至此经过漫长的等待以及和服务器不断的交互所有的数据都存入了数据库中接下来就该对数据进行处理了!!

4.处理数据,大概爬下来11万条左右的数据

将获取的位置信息标记在地图上可以看到红点密集的地方大概也是旅游时大家比较想去的地方。

通过部分说说得到的发送设备信息

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.11.15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档