抓包分析唄,一般不在HTML中的數(shù)據(jù),都是網(wǎng)頁(yè)動(dòng)態(tài)加載的,只在頁(yè)面刷新或者重新請(qǐng)求時(shí),才加載數(shù)據(jù),一般情況下,這些數(shù)據(jù)都保存在一個(gè)json文件或者xml文件中,下面我簡(jiǎn)單列舉2個(gè)爬取網(wǎng)頁(yè)動(dòng)態(tài)加載數(shù)據(jù)的例子,感興趣的話(huà),可以參考一下,實(shí)驗(yàn)環(huán)境win10+python3.6+pycharm5.0,主要內(nèi)容如下:
json數(shù)據(jù):這里以爬取人人貸的散標(biāo)數(shù)據(jù)為例
1.打開(kāi)這個(gè)頁(yè)面,假設(shè)這里要爬取的數(shù)據(jù)如下,包括年利率、借款標(biāo)題、期限、金額和進(jìn)度這5個(gè)字段信息:
2.按F12,調(diào)出開(kāi)發(fā)者工具,依次點(diǎn)擊“網(wǎng)絡(luò)”->“XHR”,然后按F5刷新頁(yè)面,就能看到頁(yè)面的抓包數(shù)據(jù),如下,點(diǎn)擊進(jìn)去,就能看到頁(yè)面加載的Json數(shù)據(jù):
3.最后,我們就可以根據(jù)json數(shù)據(jù)的格式編寫(xiě)代碼來(lái)解析提取我們需要的數(shù)據(jù)了,如下,代碼很簡(jiǎn)單,主要用到j(luò)son這個(gè)包:
程序運(yùn)行截圖如下,就是我們需要爬取的數(shù)據(jù):
xml數(shù)據(jù):這里以爬取嗶哩嗶哩的彈幕數(shù)據(jù)為例
1.這里假設(shè)我們要爬取的是《天氣預(yù)報(bào)員》的彈幕數(shù)據(jù),如下,看著很多,也很亂:
2.第二步,與上面類(lèi)似,按F12調(diào)出開(kāi)發(fā)者工具,F(xiàn)5刷新頁(yè)面,就可以看到抓包的數(shù)據(jù),點(diǎn)擊list.so這個(gè)文件(xml文件),就是我們需要爬取的數(shù)據(jù),如下:
我們用瀏覽器打開(kāi)這個(gè)xml文件,內(nèi)容如下,很明顯就是我們需要爬取的數(shù)據(jù):
3.最后,就是編寫(xiě)代碼來(lái)解析xml數(shù)據(jù)了,這個(gè)很簡(jiǎn)單,主要用到xml這個(gè)包,代碼截圖如下:
程序運(yùn)行截圖如下,已經(jīng)爬取到我們所需要的數(shù)據(jù):
至此,我們就完成了利用python來(lái)爬取網(wǎng)頁(yè)動(dòng)態(tài)加載的數(shù)據(jù)。總的來(lái)說(shuō),這2個(gè)示例都不難,最主要的還是抓包分析,找到網(wǎng)頁(yè)動(dòng)態(tài)加載的文件信息,然后根據(jù)url請(qǐng)求這個(gè)頁(yè)面,再利用對(duì)應(yīng)的包(json,xml包等)進(jìn)行解析數(shù)據(jù)就行,只要你有一定的python爬蟲(chóng)基礎(chǔ),會(huì)使用瀏覽器基本的開(kāi)發(fā)者工具,很快就能掌握爬取動(dòng)態(tài)數(shù)據(jù)的,當(dāng)然,網(wǎng)頁(yè)要是很復(fù)雜,有驗(yàn)證碼,js加密等,這個(gè)就需要自己認(rèn)真分析了,或者使用其他工具,selenium等,網(wǎng)上也有相關(guān)教程可供參考,感興趣的可以搜一下,希望以上分享的內(nèi)容能對(duì)你有所幫助吧。