程序思路
構造請求鏈接
先獲取所有的好友
獲取說說
獲取留言
獲取個人信息
把數(shù)據存到數(shù)據庫
以上就是整個過程中的大思路贞绵,然后在逐步把大思路化解成小的具體的問題去解決屁魏。
本人對于Python學習創(chuàng)建了一個小小的學習圈子秆撮,為各位提供了一個平臺劳曹,大家一起來討論學習Python捣辆。歡迎各位到來Python學習群:960410445一起討論視頻分享學習鹅很。Python是未來的發(fā)展方向,正在挑戰(zhàn)我們的分析能力及對世界的認知方式,因此税课,我們與時俱進,迎接變化账忘,并不斷的成長菠齿,掌握Python核心技術佑吝,才是掌握真正的價值所在。
基本環(huán)境配置
環(huán)境:Ubuntu 16.04
IDE: PyCharm
python 3.5
selenium : 用于模擬登錄獲取cookies
requests : 用于保存會話
json : 用于把數(shù)據進行清理绳匀,整合
urllib : 用于對鏈接的構造
pymongo : 用于對mongodb數(shù)據庫的調用
模擬登錄
首先QQ空間是需要登錄的芋忿,我們利用selenium進行模擬登錄
我們使用賬號密碼登錄,通過如下代碼可以進行模擬登錄:
構造鏈接
有過爬蟲經驗的朋友肯定知道疾棵,構造鏈接在爬蟲過程中是經常會遇到的戈钢,特別是數(shù)據需要動態(tài)加載的時候。
我們仔細來分析一下它的請求鏈接:
在chrome的Network下的js中找到qzfl_v8_2.1.65.js
這里就是獲取g_tk的算法部分是尔,轉換成python版本就是:
這個就是整個程序的核心部分殉了,只要拿到了這個g_tk,其他的就不是什么困難的地方了拟枚。
獲取所有好友的賬號
請求鏈接構造如下:
獲取好友信息如下:
獲取所有的好友的說說
先上代碼:
總結
這次對QQ空間的爬取總體來說收獲還是很大的薪铜,文章中只是大體介紹了一下過程,具體細節(jié)我希望各位能夠親自動手去做一下恩溅,授人以魚不如授人以漁隔箍,要想學好程序,不動手是肯定不行的脚乡。