網(wǎng)站源碼爬取(獲取網(wǎng)站源碼)
今天給各位分享網(wǎng)站源碼爬取的知識,其中也會對獲取網(wǎng)站源碼進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!
本文目錄一覽:
用requests庫爬取網(wǎng)站源碼問題
這個網(wǎng)頁是JavaScript異步加載的,直接用requests爬不到你想要的網(wǎng)頁源碼。
為什么別人網(wǎng)站源碼中只有少量內(nèi)容,其他通過js實現(xiàn)
最有可能的原因就是網(wǎng)頁數(shù)據(jù)是動態(tài)加載的,存儲在一個json文件中,直接獲取源碼是提取不到任何信息的,需要抓包分析才行,下面我簡單介紹一下操作過程,以某某貸上的數(shù)據(jù)為例(動態(tài)加載):
1.首先,打開原網(wǎng)頁,如下,這里假設(shè)我們要爬取的數(shù)據(jù)包含年利率、借款標題、期限、金額和進度5個字段:
2.接著右鍵打開網(wǎng)頁源碼,按Ctrl+F搜索其中關(guān)鍵字,如“10.20%”,可以看到,任何信息都匹配不到,說明數(shù)據(jù)是動態(tài)加載的,而非直接嵌套在網(wǎng)頁源碼中:
3.按F12調(diào)出瀏覽器開發(fā)者工具,開始抓包分析,依次點擊“Network”-“XHR”,F(xiàn)5刷新頁面,可以看到,數(shù)據(jù)是動態(tài)加載的,存儲在一個json文件中,而非html網(wǎng)頁源碼,只有解析這個json文件,才能提取出我們需要的數(shù)據(jù):
4.接著就是根據(jù)抓包結(jié)果解析json文件,已經(jīng)獲取到url地址,所以直接get請求即可,然后用python自帶的json包解析就行,測試代碼如下,非常簡單,依次根據(jù)屬性提取字段信息即可:
5.最后點擊運行程序,截圖如下,已經(jīng)成功提取到我們需要的數(shù)據(jù):
至此,我們就完成了網(wǎng)頁動態(tài)數(shù)據(jù)的爬取??偟膩碚f,整個過程非常簡單,最主要的還是抓包分析,獲取到真實存儲數(shù)據(jù)的文件,然后再解析就行,只要你有一定的python基礎(chǔ),熟悉一下上面的過程,很快就能掌握的,當然,如果數(shù)據(jù)或鏈接進行了加密處理,這個就非常復(fù)雜了,需要自己好好琢磨一下,網(wǎng)上也有相關(guān)資料和教程,感興趣的話,可以搜一下,希望以上分享的內(nèi)容能對你有所幫助吧,也歡迎大家評論、留言進行補充。
python怎么爬取網(wǎng)頁源代碼
#!/usr/bin/env python3
#-*- coding=utf-8 -*-
import urllib3
if __name__ == '__main__':
http=urllib3.PoolManager()
r=http.request('GET','IP')
print(r.data.decode("gbk"))
可以正常抓取。需要安裝urllib3,py版本3.43
網(wǎng)站源碼爬取的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于獲取網(wǎng)站源碼、網(wǎng)站源碼爬取的信息別忘了在本站進行查找喔。
掃描二維碼推送至手機訪問。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。