回覆列表
-
1 # 覆水難收77313204
-
2 # 小小猿愛嘻嘻
你說的隱藏的div內容,應該是動態載入的資料吧,不在網頁原始碼中顯示,只在載入網頁時才請求資料進行顯示,一般情況下,這種資料都儲存在一個json檔案中,只要抓包分析出這個json檔案的url地址,然後再根據json檔案結構進行解析,很快就能獲取到動態載入的div資料,下面我以爬取人人貸上面的散標資料為例,簡單介紹一下python如何爬取div動態載入的資料,實驗環境win10+python3.6+pycharm5.0,主要步驟如下:
1.首先,開啟散標資料,如下,爬取的資訊主要包括年利率、借款標題、期限、金額和進度這5個欄位資訊:
右鍵對應元素進行檢查,可以看出所有的資料巢狀在div標籤中,如下:
開啟網頁原始碼,我們按Ctrl+F查詢對應的資料,會發現所查詢的資料都未在網頁原始碼中,如下,即資料都是動態載入,所以直接解析原網頁是找不到div巢狀的資料的:
3.最後對應上面的json檔案,我們就可以直接獲取並解析json了,這裡主要用到requests和json這2個模組,其中requests用於根據url地址獲取json檔案,json用於解析json檔案,提取出我們所需要的資訊,即div動態載入的資料,測試程式碼如下,非常簡單:
執行程式,截圖如下,已經成功爬取到div載入的資料:
至此,我們就完成了利用python爬取div動態載入的資料。總的來說,整個過程非常簡單,最主要的還是抓包分析,只要你有一定的爬蟲基礎,熟悉一下上面的程式碼,多除錯幾遍程式,很快就能掌握的,當然,你也可以使用selenium進行爬取,直接解析就行,網上也有相關教程和資料可供參考,非常豐富,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言。
用檢視原始檔的方式檢查是否沒有你要的地址。如果沒有證明是透過js計算或者ajax獲取的內容。獲得有兩個辦法,一個是分析獲取方式,自行獲取。另一種是用模擬瀏覽器的方式執行完js再處理