日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python爬虫 - 解决动态网页信息抓取问题

發布時間:2025/4/5 python 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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加載處理的一個明顯標識。現在進入控制臺的Network

進行頁面跳轉(我跳轉到了第3頁),注意觀察控制臺左方新出現的文件JS,在里面找到加載新數據的JS文件,打開它會發現PageCond/begin: 18、PageCond/length: 6類似的參數,很明顯網站就是依據這個參數來加載相關數據的,將它隨著post請求一下發送給網站,就可以得到我們想要的數據了。

payloadData ={"PageCond/begin": (i-1)*6,"PageCond/length": 6,"PageCond/isCount": "false","keywords": "","orgids": "","startDat e": "","endDate": "","letterType": "","letterStatue": ""} dumpJsonData = json.dumps(payloadData) headers = {"Host": "www.beijing.gov.cn","Origin": "http://www.beijing.gov.cn","Referer": "http://www.beijing.gov.cn/hudong/hdjl/","User-Agent": str(UserAgent().random)#,} req = requests.post(url,headers=headers,data=payloadData) 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Python爬虫 - 解决动态网页信息抓取问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。