程序思路
構造請求鏈接
先獲取所有的好友
獲取說說
獲取留言
獲取個人信息
把數據存到數據庫
以上就是整個過程中的大思路,然後再逐步把大思路化解成小的具體的問題去解決。
基本環境配置
環境: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空間的爬取總體來說收穫還是很大的,文章中只是大體介紹了一下過程,具體細節我希望各位能夠親自動手去做一下,授人以魚不如授人以漁,要想學好程序,不動手是肯定不行的。
最後,小編想說:我是一名python開發工程師,
整理了一套最新的python系統學習教程,
想要這些資料的可以關注私信小編“01”即可(免費分享哦)希望能對你有所幫助
閱讀更多 Python智禪 的文章