如何用Python網(wǎng)絡(luò)爬蟲獲取頭條所有好友信息?
前言
大家好,我是黃偉。今日頭條我發(fā)覺做的挺不錯,啥都不好爬,出于好奇心的驅(qū)使,小編想獲取到自己所有的頭條好友,
看似簡單,那么情況確實是這樣嗎,下面我們來看下吧。
項目目標
獲取所有頭條好友昵稱
項目實踐
編輯器:sublime text 3
瀏覽器:360瀏覽器,順帶一個頭條號
實驗步驟1.登陸自己的頭條號:
可以看到2599,不知道誰會是下一個幸運觀眾了,哈哈哈哈哈,下面我們老樣子,打開瀏覽器,因為我們是要獲取到所有的好友啊,所以我們得先進入粉絲列表看看有哪些粉絲吧:
然后右鍵--審查元素,來一波騷操作,定位粉絲的位置:
接下來我們要做的就是獲取粉絲的昵稱,從上面的圖可以看出我余下的粉絲都隱藏在ajax加載的動態(tài)頁面中,如果我不進行滾動則看不到后面的粉絲,那怎么辦呢?不過不要緊,遇到問題先不慌,淡定。
2.查找粉絲列表的接口
打開network:
然后你會發(fā)現(xiàn)有很多get_info_list 中文譯為獲取信息列表,我想這應(yīng)該很重要,打開一看:
媽媽耶,這啥玩意,嚇得我都不會說話了。
3.加載所有請求
于是只好滿滿滾動鼠標滾輪期待發(fā)現(xiàn)點什么,終于,功夫不負苦心人,終于讓我滾到了有用的結(jié)果:
于是我在看看它的頭部信息,有重大發(fā)現(xiàn):
4.找接口分析內(nèi)容,轉(zhuǎn)換Unicode
可以看到用戶的昵稱使用Unicode碼表示,所以我們需要將他們轉(zhuǎn)換為中文,關(guān)于Unicode轉(zhuǎn)中文,兩種方法:
ss='u4e00u8defu5411u897f8635'print((ss.encode('utf8')).decode())print(eval('u"%s"' % ss))
沒毛病,老鐵。
5.獲取頁面文件
那我們現(xiàn)在就要獲取這個頁面的所有結(jié)果啦:
發(fā)現(xiàn)既然和結(jié)果不一樣,這是什么騷操作,好吧,我服了。
6.對頁面數(shù)據(jù)進行猜解
通過對上上個圖的反復分析,我發(fā)現(xiàn)一個很重要的信息,那就是pagesize的值就等于當前頁面所顯示的粉絲的數(shù)量,那小編有2599個粉絲,那pagesize不就是2599嗎?哈哈,說干就干:
然后小編不斷對頁面的粉絲進行請求:
發(fā)現(xiàn)還是不行啊,跟我們想的背道而馳,在試試,發(fā)現(xiàn)最多只有200才行的通:
其實這個情況下,已經(jīng)捕捉到所有請求了,只是那些粉絲每28個粉絲分為一個請求,而且每個請求的時間戳不一,其實我們可以用三方軟件來捕獲這些請求響應(yīng)然后將他們加入到程序中,我們好對他們進行一個請求分析,最后將他們保存為json格式的文件,然后我們獲取到他們對應(yīng)的值。
7.打印粉絲名稱和響應(yīng)正常的網(wǎng)址
我們還可以將所有請求中cursor最小的值和最大值拿出來分析,通過查找我找到,
cursor取值:1570591241~1589072863
這個信息很重要,接下來我們就可以依次對這些cursor構(gòu)建請求了:
我們將所有能成功請求的頁面信息輸入到1.txt 文件中去,然后我們在對1.txt中的網(wǎng)頁內(nèi)容逐個讀取。然后我們獲取他們的json文件保存下來,最后直接把他讀取出來就ok啦。由于時間的關(guān)系,在此我只演示上圖中出現(xiàn)的兩百條信息,我們把它保存為json文件然后用json 模塊進行讀取:
json是系統(tǒng)自帶的模塊,所以直接導入json模塊并讀取文件:
終于全部打印出來啦,哈哈哈,然后我們就可以去獲取我們自己關(guān)注了哪些人,如果有人把我們?nèi)∠P(guān)注了,那么我們也相應(yīng)取消對他們的關(guān)注。通過一段時間的爬取,終于爬的差不多了,不過我想應(yīng)該沒有爬完,因為網(wǎng)站有反爬:
項目總結(jié)
通過對今日頭條ajax和一些加密數(shù)據(jù)的一些情況使我認識到爬蟲這條路真的很遠,不學js逆向是不可能的。希望大家多多學習,學無止境的。

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 AI 眼鏡讓百萬 APP「集體失業(yè)」?
- 2 大廠紛紛入局,百度、阿里、字節(jié)搶奪Agent話語權(quán)
- 3 深度報告|中國AI產(chǎn)業(yè)正在崛起成全球力量,市場潛力和關(guān)鍵挑戰(zhàn)有哪些?
- 4 上海跑出80億超級獨角獸:獲上市公司戰(zhàn)投,干人形機器人
- 5 國家數(shù)據(jù)局局長劉烈宏調(diào)研格創(chuàng)東智
- 6 下一代入口之戰(zhàn):大廠為何紛紛押注智能體?
- 7 百億AI芯片訂單,瘋狂傾銷中東?
- 8 Robotaxi新消息密集釋放,量產(chǎn)元年誰在領(lǐng)跑?
- 9 格斗大賽出圈!人形機器人致命短板曝光:頭腦過于簡單
- 10 一文看懂視覺語言動作模型(VLA)及其應(yīng)用