利用Python爬取QQ好友空間資料
阿新 • • 發佈:2019-01-08
程式思路
構造請求連結
先獲取所有的好友
獲取說說
獲取留言
獲取個人資訊
把資料存到資料庫
以上就是整個過程中的大思路,然後在逐步把大思路化解成小的具體的問題去解決。
本人對於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空間的爬取總體來說收穫還是很大的,文章中只是大體介紹了一下過程,具體細節我希望各位能夠親自動手去做一下,授人以魚不如授人以漁,要想學好程式,不動手是肯定不行的。