利用Python爬取QQ好友空间数据

程序思路

构造请求链接

先获取所有的好友

获取说说

获取留言

获取个人信息

把数据存到数据库

以上就是整个过程中的大思路,然后在逐步把大思路化解成小的具体的问题去解决。

本人对于Python学习创建了一个小小的学习圈子,为各位提供了一个平台,大家一起来讨论学习Python。欢迎各位到来Python学习群:960410445一起讨论视频分享学习。Python是未来的发展方向,正在挑战我们的分析能力及对世界的认知方式,因此,我们与时俱进,迎接变化,并不断的成长,掌握Python核心技术,才是掌握真正的价值所在。

基本环境配置

环境:Ubuntu 16.04

IDE: PyCharm

python 3.5

selenium : 用于模拟登录获取cookies

requests : 用于保存会话

json : 用于把数据进行清理,整合

urllib : 用于对链接的构造

pymongo : 用于对mongodb数据库的调用

模拟登录

首先QQ空间是需要登录的,我们利用selenium进行模拟登录

我们使用账号密码登录,通过如下代码可以进行模拟登录:

构造链接

有过爬虫经验的朋友肯定知道,构造链接在爬虫过程中是经常会遇到的,特别是数据需要动态加载的时候。

我们仔细来分析一下它的请求链接:

在chrome的Network下的js中找到qzfl_v8_2.1.65.js

这里就是获取g_tk的算法部分,转换成python版本就是:

这个就是整个程序的核心部分,只要拿到了这个g_tk,其他的就不是什么困难的地方了。

获取所有好友的账号

请求链接构造如下:

获取好友信息如下:

获取所有的好友的说说

先上代码:

总结

这次对QQ空间的爬取总体来说收获还是很大的,文章中只是大体介绍了一下过程,具体细节我希望各位能够亲自动手去做一下,授人以鱼不如授人以渔,要想学好程序,不动手是肯定不行的。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190106A0JR2500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券