導航:首頁 > 網路問題 > 網路爬蟲怎麼對數據進行爬取

網路爬蟲怎麼對數據進行爬取

發布時間:2025-06-26 06:26:05

① Python網路爬蟲5 - 爬取QQ空間相冊

自畢業後,就再也沒有使用過QQ,QQ空間里記錄的是一段段不那麼精彩的青春時光,但它們卻是不可多得的回憶。近日,我決定學以致用,利用Python將QQ空間相冊的所有照片爬取下來,以作備份。

分析QQ空間時,首先需要了解登錄QQ空間的步驟。最初的設想是通過requests庫配置登錄請求,模擬登錄過程,但很快便放棄了這一思路。通過觀察登錄按鈕綁定的監聽事件,我們可以追蹤到按鈕的點擊事件。賬號加密是必然的,對於這一堆復雜的代碼,耐心的勇士可以嘗試解析,但顯然這不是最高效的方法。

因此,選擇使用selenium模擬用戶登錄成為了一種更為省時省力的選擇。我們僅需要通過selenium完成登錄過程,獲取到Cookies和g_tk參數後即可停止使用,效率並不低。

登錄後,頁面會跳轉至 user.qzone.qq.com/{QQ_NUMBER}。這時,滑鼠移到導航欄,會發現所有的導航欄鏈接都是javascript:;。這正是暗箱操作的陷阱。不過,這並不難處理,通過調試工具捕獲點擊後產生的請求,然後過濾出正確的請求包即可。網路包數量眾多,那麼如何過濾呢?可以猜想相冊數據的API必然返回一個列表list,嘗試過濾list並逐一排除,最後定位到請求包。通過fcg_list過濾後的數據包,列表信息以jsonp格式返回,稍作處理即可作為json格式讀取。

從Headers和Response中可以分別獲取到兩組重要信息。先看請求包,其中hostUin、uin都是QQ號,g_tk是每次重新登錄都會更新的參數,其它有些參數不是必須的,通過嘗試整理出如下請求參數。

接下來看jsonp格式的跨域響應包,shine0_Callback是請求包的callbackFun參數決定的,如果沒這個參數,響應包會以_Callback作為默認名。所有相冊信息以json格式存入albumListModeSort中,上面只截取了一個相冊的信息。相冊信息中,name代表相冊名稱,id作為唯一標識可用於請求該相冊內的照片信息,而pre僅僅是一個預覽縮略圖的鏈接,無關緊要。

分析單個相冊時,與獲取相冊信息類似,進入某一相冊,使用cgi_list過濾數據包,找到該相冊的照片信息。同樣的道理,根據數據包可以獲取照片列表信息的請求包和響應信息。先看請求,其中有幾個關鍵參數。為了獲取所有照片,可以將pageStart設為0,pageNum設為所有相冊所含照片的最大值。同樣可以簡化參數,在相冊列表請求參數的基礎上添加topicId、pageStart和pageNum三個參數即可。下面來看返回的照片列表信息,返回的照片信息都存於photoList,上面只截取了一張照片的信息,後面一部分返回的是當前相冊的一些基本信息。totalInAlbum、totalInPage存儲了當前相冊總共包含的照片數及本次返回的照片數,而我們需要下載的圖片鏈接則是url。

至此,所有請求和響應數據都已分析清楚,接下來便是Coding的階段。確定爬取方案時,創建qqzone類以模擬登錄過程。獲取Cookies時,使用selenium獲取非常方便。獲取g_tk則需要解決本爬蟲的最大難點,因為從網頁中無法找到直接寫明的數值,只有各種函數調用。通過全局搜索,發現有多種獲取方式,最終選擇了其中一處,通過selenium執行腳本的功能成功獲取到了g_tk!至此,selenium的使命就完成了,剩下的將通過requests來完成。

接下來需要逐步生成請求並獲取數據,為了方便起見,使用會話的方式請求數據,配置好cookie和headers,避免每次請求都設置一遍。獲取相冊信息時,需要封裝好請求參數,然後通過session.get爬取數據,再通過正則匹配以json格式讀取jsonp數據,最後解析所需的信息。獲取相冊列表後,逐個請求照片列表信息,進而逐一下載。下載圖片也是通過request,記得設置超時時間。

爬取測試階段,確保一切順利進行。至此,利用Python爬取QQ空間相冊的過程已經完成。

② 如何通過網路爬蟲爬取appannie的排行榜數據

爬取網路數據時,面臨需要登錄的網站有兩個主要策略:模擬登錄和使用登錄後的Cookie。首先,讓我們探討模擬登錄的方法。通過Firefox或Chrome等瀏覽器,可輕松發現登錄過程往往涉及向特定網址POST提交參數,例如 /www.appannie.com/account/login/> 。需要的參數包括用戶名、密碼以及CSRF令牌。CSRF令牌通常隱藏在網頁源碼中的一個input標簽中,可以通過正則匹配或使用庫如BeautifulSoup解析HTML獲取。Python中的requests庫提供了一個方便的解決方案,用於保持登錄狀態並管理Cookie。

另一種方法是直接使用登錄後的Cookie。通過在網頁上使用你的賬號密碼登錄,然後查看瀏覽器開發者工具中獲取到的Cookie。接下來,將這些Cookie整合到你的代碼中即可。觀察網頁,Cookie有效期約為兩周,這意味著與手動更新Cookie相比,此方法在長期使用時更具優勢,避免了頻繁更新Cookie的繁瑣操作。

總結以上策略,根據需求和使用場景選擇合適的登錄方法。模擬登錄適用於需要頻繁操作的場合,而使用登錄後的Cookie則適合長期穩定使用的情況。通過合理運用這兩種方法,你可以有效地獲取App Annie排行榜數據或其他需要登錄訪問的網站信息。

③ 如何爬蟲網頁數據

爬取網頁數據原理如下:
如果把互聯網比作蜘蛛網,爬蟲就是蜘蛛網上爬行的蜘蛛,網路節點則代表網頁。當通過客戶端發出任務需求命令時,ip將通過互聯網到達終端伺服器,找到客戶端交代的任務。一個節點是一個網頁。蜘蛛通過一個節點後,可以沿著幾點連線繼續爬行到達下一個節點。
簡而言之,爬蟲首先需要獲得終端伺服器的網頁,從那裡獲得網頁的源代碼,若是源代碼中有有用的信息,就在源代碼中提取任務所需的信息。然後ip就會將獲得的有用信息送回客戶端存儲,然後再返回,反復頻繁訪問網頁獲取信息,直到任務完成。

閱讀全文

與網路爬蟲怎麼對數據進行爬取相關的資料

熱點內容
電商跟網路推廣哪個好 瀏覽:340
紅米k40蜂窩移動網路如何設置 瀏覽:178
怎麼恢復訪問移動網路 瀏覽:621
蘋果雙卡電信和移動會干涉網路 瀏覽:841
電腦怎麼打開程序允許訪問網路 瀏覽:952
網路電視怎麼設置呢 瀏覽:811
4g網路是哪個省 瀏覽:463
路由器之間可以傳輸網路嗎 瀏覽:455
如何自動刷新網路 瀏覽:776
要添加新網路密碼卻忘記了怎麼辦 瀏覽:152
網路連接壽險 瀏覽:319
網路大廳登錄密碼是多少 瀏覽:818
網路視頻論文選題有哪些 瀏覽:861
共享網路能免流嗎 瀏覽:521
隴南服務好的網路公司電話多少 瀏覽:43
電視有線網路比無線慢 瀏覽:862
聯通手機網路連接異常怎麼辦 瀏覽:255
陝西廣電網路用戶多少 瀏覽:836
機頂盒網路共享文件 瀏覽:527
為什麼oppo手機網路連接錯誤 瀏覽:542

友情鏈接