回覆列表
-
1 # 小小猿愛嘻嘻
-
2 # Mr資料楊
有些網站有反爬措施,需要加入瀏覽器各種的引數,比如headers,headers裡的引數根據實際情況要進行填寫,否則是無法獲取到資訊的。這只是舉了一個比較簡單的例子。複雜的還要解析各種內容。望採納。
有些網站有反爬措施,需要加入瀏覽器各種的引數,比如headers,headers裡的引數根據實際情況要進行填寫,否則是無法獲取到資訊的。這只是舉了一個比較簡單的例子。複雜的還要解析各種內容。望採納。
最有可能的原因就是網頁資料是動態載入的,儲存在一個json檔案中,直接獲取原始碼是提取不到任何資訊的,需要抓包分析才行,下面我簡單介紹一下操作過程,以某某貸上的資料為例(動態載入):
1.首先,開啟原網頁,如下,這裡假設我們要爬取的資料包含年利率、借款標題、期限、金額和進度5個欄位:
2.接著右鍵開啟網頁原始碼,按Ctrl+F搜尋其中關鍵字,如“10.20%”,可以看到,任何資訊都匹配不到,說明資料是動態載入的,而非直接巢狀在網頁原始碼中:
3.按F12調出瀏覽器開發者工具,開始抓包分析,依次點選“Network”->“XHR”,F5重新整理頁面,可以看到,資料是動態載入的,儲存在一個json檔案中,而非html網頁原始碼,只有解析這個json檔案,才能提取出我們需要的資料:
4.接著就是根據抓包結果解析json檔案,已經獲取到url地址,所以直接get請求即可,然後用python自帶的json包解析就行,測試程式碼如下,非常簡單,依次根據屬性提取欄位資訊即可:
至此,我們就完成了網頁動態資料的爬取。總的來說,整個過程非常簡單,最主要的還是抓包分析,獲取到真實儲存資料的檔案,然後再解析就行,只要你有一定的python基礎,熟悉一下上面的過程,很快就能掌握的,當然,如果資料或連結進行了加密處理,這個就非常複雜了,需要自己好好琢磨一下,網上也有相關資料和教程,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。