1. 程式人生 > >利用Python爬取QQ好友空間資料

利用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空間的爬取總體來說收穫還是很大的,文章中只是大體介紹了一下過程,具體細節我希望各位能夠親自動手去做一下,授人以魚不如授人以漁,要想學好程式,不動手是肯定不行的。