回覆列表
  • 1 # 菜菜菜鳥

    這個分幾種情況,一個是動態載入的,透過ajax呼叫介面將返回的資料進行處理組合,然後新增到html中由於爬蟲只是獲取的字串,並不能執行js所以這種情況可以直接分析介面,一般來說介面返回的資料都是json,這就很方便處理了。

    另外一種情況就是頁面裡面確實有需要的資料,但是資料不在html裡,而是js裡面,可以進行字串或者標籤的過去,轉化為自己需要的格式進行處理。

    此外就是使用iframe標籤,講其他頁面進行引入,這是直接獲取到iframe的地址,重新進行爬取即可。

    此外還可以使用selenium框架進行資訊的過去,可以很方便的操作瀏覽器,執行js程式碼!

  • 2 # 小小猿愛嘻嘻

    抓包分析唄,一般不在HTML中的資料,都是網頁動態載入的,只在頁面重新整理或者重新請求時,才載入資料,一般情況下,這些資料都儲存在一個json檔案或者xml檔案中,下面我簡單列舉2個爬取網頁動態載入資料的例子,感興趣的話,可以參考一下,實驗環境win10+python3.6+pycharm5.0,主要內容如下:

    json資料:這裡以爬取人人貸的散標資料為例

    1.開啟這個頁面,假設這裡要爬取的資料如下,包括年利率、借款標題、期限、金額和進度這5個欄位資訊:

    3.最後,我們就可以根據json資料的格式編寫程式碼來解析提取我們需要的資料了,如下,程式碼很簡單,主要用到json這個包:

    程式執行截圖如下,就是我們需要爬取的資料:

    xml資料:這裡以爬取嗶哩嗶哩的彈幕資料為例

    1.這裡假設我們要爬取的是《天氣預報員》的彈幕資料,如下,看著很多,也很亂:

    我們用瀏覽器開啟這個xml檔案,內容如下,很明顯就是我們需要爬取的資料:

    3.最後,就是編寫程式碼來解析xml資料了,這個很簡單,主要用到xml這個包,程式碼截圖如下:

    程式執行截圖如下,已經爬取到我們所需要的資料:

    至此,我們就完成了利用python來爬取網頁動態載入的資料。總的來說,這2個示例都不難,最主要的還是抓包分析,找到網頁動態載入的檔案資訊,然後根據url請求這個頁面,再利用對應的包(json,xml包等)進行解析資料就行,只要你有一定的python爬蟲基礎,會使用瀏覽器基本的開發者工具,很快就能掌握爬取動態資料的,當然,網頁要是很複雜,有驗證碼,js加密等,這個就需要自己認真分析了,或者使用其他工具,selenium等,網上也有相關教程可供參考,感興趣的可以搜一下,希望以上分享的內容能對你有所幫助吧。

  • 中秋節和大豐收的關聯?
  • 用“真”組詞三個字?