Python爬取QQ空间说说是一个比较复杂的任务,需要考虑到很多因素。首先,我们需要了解QQ空间的数据结构,以及如何使用Python来获取数据。
其次,我们需要准备好一些必要的工具,例如Python语言、Selenium浏览器驱动、BeautifulSoup库等。这些工具都可以帮助我们实现对QQ空间说说的采集。
最后,我们需要写一个Python脚本来实现对QQ空间说说的采集。这个脚本应当包含三个部分:1. 登录QQ空间 2. 获取说说信息 3. 保存数据。
# 登录 QQ 空间 def login_qqzone(username, password): # 具体实现代码省略 pass # 获取 QQ 空间 说说信息 def get_qqzone_data(username): # 具体实现代码省略 pass # 保存 QQ 空间 说说信息 def save_qqzone_data(data): # 具体实现代码省略 pass # 执行函数 if __name__ == '__main__': username = 'your username' password = 'your password' login_qqzone(username, password) data = get_qqzone_data(username) save_qqzone_data(data)
本文转载至知乎ID:Charles(白露未晞)知乎个人专栏
下载手机App,0基础随时随地学编程>>戳此了解
翻了翻之前关于爬虫的文章。。。
似乎一直在欺负小网站,没什么挑战性。。。
那么,就来“试水”一波TX吧~~~
本着细水长流(偷懒)的原则T_T,这期文章我决定拆成两篇写。第一篇主要解决QQ空间的登录问题并尝试抓取一些信息,第二篇致力于抓取QQ空间的好友信息并做可视化分析。
让我们愉快地开始吧~~~
百度网盘下载链接: https://pan.baidu.com/s/1D3C5cSp7YhuTooPJa7znjw
密码: yccp
Python版本:3.6.4
相关模块:
requests模块;
selenium模块;
lxml模块;
以及一些Python自带的模块。
安装Python并添加到环境变量,pip安装需要的相关模块,并前往:
http://npm.taobao.org/mirrors/chromedriver/
下载与自己使用的Chrome浏览器版本对应的驱动文件,下载完毕后将chromedriver.exe所在文件夹添加到环境变量中即可。
本文主要解决QQ空间的登录问题。
其主要思路为:
利用selenium模拟登录QQ空间从而获取登录QQ空间所需的cookie值,这样就可以利用requests模块来抓取QQ空间的数据了。
为什么这么绕?
selenium好久不用,写起来太慢了。而且它本身速度和资源占用等问题一直为大家所诟病。
And 省略无数条理由。
一些细节:
(1)第一次获取cookie之后将其保存下来,下次再登录之前先试试保存的cookie有没有用,有用直接使用就可以了,这样可以进一步节省时间。
(2)抓包分析过程中,可以发现抓取QQ空间数据所需请求的链接都包含g_tk这个参数,这个参数实际上是使用cookie中的skey参数计算获得的,懒得打公式了,直接贴一小段代码吧:
最后:
不抓点数据好像不能证明这篇文章真的有用?
好吧,那就把:
扒下来吧~~~
具体实现过程详见相关文件中的源代码。
QQ号(username)和密码(password):
在QQ_Spider.py文件中填写,位置如下图所示:
运行:
在cmd窗口运行QQ_Spider.py文件即可。
结果:
That's All.
在本期基础上抓取好友的个人信息,并可视化分析抓取的结果。有兴趣的小伙伴可以提前试试~~~
事实上,微调本文所提供的代码,理论上是可以抓取QQ所有用户的信息的。当然,只是理论上,以及干很多有趣的事情。
T_T作为一个不搞事且不爱喝茶的boy,上述的理论我就不负责实现了。
本文转载至知乎ID:Charles(白露未晞)知乎个人专栏下载手机App,0基础随时随地学编程戳此了解导语在“python抢火车票(上)”...
本文转载至知乎ID:Charles(白露未晞)知乎个人专栏下载手机App,0基础随时随地学编程戳此了解导语T_T并不玩这些游戏。。。单纯...
在讲解爬虫内容之前,我们需要先学习一项写爬虫的必备技能:审查元素(如果已掌握,可跳过此部分内容)。1、审查元素在浏览器的...
本文转载至知乎ID:Charles(白露未晞)知乎个人专栏下载手机App,0基础随时随地学编程戳此了解导语T_T没有科研梦想的人半夜过来...
本文转载至知乎ID:Charles(白露未晞)知乎个人专栏下载手机App,0基础随时随地学编程戳此了解导语不像考卷,现实生活中,有些...