开发工具
Python版本:3.6.4
相关模块:
requests模块;
selenium模块;
lxml模块;
以及一些Python自带的模块。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块,并前往:
下载与自己使用的Chrome浏览器版本对应的驱动文件,下载完毕后将chromedriver.exe所在文件夹添加到环境变量中即可。
相关文件
关注公众号“python工程狮”回复‘qq上’获取。
原理简介
本文主要解决QQ空间的登录问题。
其主要思路为:
利用selenium模拟登录QQ空间从而获取登录QQ空间所需的cookie值,这样就可以利用requests模块来抓取QQ空间的数据了。
为什么这么绕?
selenium好久不用,写起来太慢了。而且它本身速度和资源占用等问题一直为大家所诟病。
And 省略无数条理由。
一些细节:
(1)第一次获取cookie之后将其保存下来,下次再登录之前先试试保存的cookie有没有用,有用直接使用就可以了,这样可以进一步节省时间。
(2)抓包分析过程中,可以发现抓取QQ空间数据所需请求的链接都包含g_tk这个参数,这个参数实际上是使用cookie中的skey参数计算获得的,懒得打公式了,直接贴一小段代码吧: