Python分頁爬取數據的分析


前言

文的文字及圖片來源於網絡,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。

作者: 向右奔跑

PS:如有需要Python學習資料的小伙伴可以加點擊下方鏈接自行獲取

http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef

對爬蟲爬取數據時的分頁進行一下總結。分頁是爬取到所有數據的關鍵,一般有這樣幾種形式: 1、已知記錄數,分頁大小(pagesize, 一頁有多少條記錄)

  • 已知總頁數(在頁面上顯示出總頁數)

  • 頁面上沒有總記錄數,總頁數,但能從分頁條中找到總頁數

  • 滾動分頁,知道總頁數

  • 滾動分頁,不知道總頁數

以上前三種情況比較簡單,基本上看一下加載分頁數據時的地址欄,或者稍微用Chrome -- network分析一下,就可以了解分頁的URL。

一、頁面分析,獲取分頁URL

典型的如豆瓣圖書、電影排行榜的分頁。

在這里插入圖片描述

對於像以下這種分頁,沒有顯示總記錄數,但從分頁條上看到有多少頁的,一般的處理方法有兩種:一是先把最后一頁的頁碼抓取下來;二是一頁一頁的訪問抓取,直到沒有“下一頁”。 在這里插入圖片描述

二、用抓包工具,查看分頁URL

在這里插入圖片描述

通過抓包工具,獲取了分頁的URL,再進行總頁數的分析,一般是進行計算,如這里,有文章總數量,每頁顯示的文章數(頁大小),就可以計算出總頁數。 看一下這個,七日熱門文章的分頁,比較有意思。這么一長串,是不是比較崩潰。

在這里插入圖片描述

這時候一般要縮短參數,確定關鍵參數。分頁關鍵的參數是page=2,直接把url減少成這樣:

在這里插入圖片描述

到就是我們所需要的數據。 再回過頭來理解一下,為什么采用了這樣一串的URL,可以通過查看response,發現響應的是xml數據(一段網頁數據),也就是這里采用了異步加載(AJAX)。

在這里插入圖片描述

 

三、抓包分析,需要構造分頁URL

這時候,通過抓包分析,還不能獲取分頁的URL。有時候是抓包到的URL直接放到地址欄也查看不到所要的分頁數據,還有時候是分頁的URL中有其他參數。

如簡書用戶“動態”數據分頁url,抓包到的是

在這里插入圖片描述

這里就要了解如何獲取max_id這個值。還有一個問題就是要判斷是否到了最后一頁。 如簡書“投稿請求”數據的分頁:

在這里插入圖片描述

從抓包拿到的分頁URL,訪問時發現看到的不是我們所要的頁面、數據。這時就是根據經驗進行分析。基本方法還是結合網頁源代碼,查看chrome中的response。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM