Python爬虫 - 解决动态网页信息抓取问题
作者:K同學啊
時間:2020年7月29日
寫在前面:本文僅供參考學習之用,請勿用作其他用途。
1.嵌入式網頁爬取
舉例:最常見的分頁式網頁
這里我用天津市的信訪頁面來做示例,(地址:http://www.tj.gov.cn/zmhd/zmljl0524/wywtwqz/)。
右鍵打開源碼找到iframe標簽,拿出里面的src地址http://zm.tj.gov.cn/gov_open/question/zero/list8a.jsp
進入src地址中的頁面后不要停留在首頁,首頁網址通常是比較特殊的,分析不出來規律,需要我們進入首頁外的任一地址
進入第二頁,我們便可以發現頁面中的規律,僅僅只需要更換curpage后的數字就可以切換到不同的頁面,這樣一來,我們只需要一個循環就可以得到所有數據頁面的地址,接下來發送get請求獲取數據即可。
http://zm.tj.gov.cn/gov_open/question/zero/list8a.jsp?curpage=2&rows=15&deptId=1002000000000000
2.JS加載型網頁抓取
舉例:有些動態網頁并沒有采用網頁嵌入的方式,而選擇了JS加載
這里我舉例的是北京市的信訪頁面(http://www.beijing.gov.cn/hudong/hdjl/com.web.search.replyMailList.flow)
我們會發現當選擇不同頁面時,網址并不會發生變化,這點和上面說的嵌入式頁面一樣。
右鍵打開源碼,沒有發現iframe、html等嵌入式頁面的標致性標簽,但是我們不難發現在放有數據的div中有一個id,這是JS加載處理的一個明顯標識?,F在進入控制臺的Network
進行頁面跳轉(我跳轉到了第3頁),注意觀察控制臺左方新出現的文件JS,在里面找到加載新數據的JS文件,打開它會發現PageCond/begin: 18、PageCond/length: 6類似的參數,很明顯網站就是依據這個參數來加載相關數據的,將它隨著post請求一下發送給網站,就可以得到我們想要的數據了。
總結
以上是生活随笔為你收集整理的Python爬虫 - 解决动态网页信息抓取问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一行代码制作你的专属动态二维码-Pyth
- 下一篇: 机器学习第2天:简单线性回归模型