你說的隱藏的div內容,應該是動態加載的數據吧,不在網頁源碼中顯示,只在加載網頁時才請求數據進行顯示,一般情況下,這種數據都保存在一個json文件中,只要抓包分析出這個json文件的url地址,然后再根據json文件結構進行解析,很快就能獲取到動態加載的div數據,下面我以爬取人人貸上面的散標數據為例,簡單介紹一下python如何爬取div動態加載的數據,實驗環境win10+python3.6+pycharm5.0,主要步驟如下:
1.首先,打開散標數據,如下,爬取的信息主要包括年利率、借款標題、期限、金額和進度這5個字段信息:
右鍵對應元素進行檢查,可以看出所有的數據嵌套在div標簽中,如下:
打開網頁源碼,我們按Ctrl+F查找對應的數據,會發現所查找的數據都未在網頁源碼中,如下,即數據都是動態加載,所以直接解析原網頁是找不到div嵌套的數據的:
2.接著,我們按F12調出開發者工具,依次點擊“Network”->“XHR”,F5刷新頁面,就會看到動態加載的json文件,查看這個文件,內容如下,左邊為json文件的url地址,右邊就是我們需要爬取的div數據:
3.最后對應上面的json文件,我們就可以直接獲取并解析json了,這里主要用到requests和json這2個模塊,其中requests用于根據url地址獲取json文件,json用于解析json文件,提取出我們所需要的信息,即div動態加載的數據,測試代碼如下,非常簡單:
運行程序,截圖如下,已經成功爬取到div加載的數據:
至此,我們就完成了利用python爬取div動態加載的數據。總的來說,整個過程非常簡單,最主要的還是抓包分析,只要你有一定的爬蟲基礎,熟悉一下上面的代碼,多調試幾遍程序,很快就能掌握的,當然,你也可以使用selenium進行爬取,直接解析就行,網上也有相關教程和資料可供參考,非常豐富,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言。