您的位置:首頁技術文章
文章詳情頁

python - 如何爬取帶有日期選擇的ajax網站?

瀏覽:100日期:2022-09-20 16:55:54

問題描述

需要爬取三峽水庫的實時水情數據,可以在網頁中選擇日期顯示水情信息,如果一天天選擇再復制數據發現很是耗時,我現在需要將下圖中三峽水利樞紐2014年-2016年每天的數據爬下來。

python - 如何爬取帶有日期選擇的ajax網站?

網址如下:http://www.ctgpc.com.cn/sxjt/...

通過瀏覽器自帶的檢查工具,右鍵檢查元素,查看 network,查看調用的 ajax API 地址:初步分析后發現是通過ajax調用了以下網址,并用POST傳遞了一個日期數據,例如今天2017-02-15給該網址:http://www.ctgpc.com.cn/eport...

Header如下:

python - 如何爬取帶有日期選擇的ajax網站?

Response如下:

python - 如何爬取帶有日期選擇的ajax網站?

之前有搜索到類似的問題:https://segmentfault.com/q/10...但是按照回答并沒能解決我的疑惑,因此在這里求助各位前輩,麻煩大家了

問題解答

回答1:

可以利用requests庫模擬post提交。 從游覽器檢查工具可以看到傳的參數是time:2017-02-07。定義data={'time': 日期譬如2017-02-07}。 然后你可以寫個循環,循環一次日期往后加一天。然后就r = requests.post('url', data=data, header=****)。 取出數據保存入庫。每次循環嫌慢的話,可以加上gevent這個協程庫加快速度,看你也就想抓2年的數據循環365*2次就OK了

回答2:

你已經看到了那個包含數據的請求,那么你的問題是什么呢?

回答3:

抓包,再模擬post或get看看下面的內容Python爬蟲聯想詞視頻和代碼https://zhuanlan.zhihu.com/p/...

跟黃哥學Python爬蟲抓取代理IP和驗證。https://zhuanlan.zhihu.com/p/...跟黃哥學Python爬蟲抓取代理IPhttps://zhuanlan.zhihu.com/p/...

回答4:

都已經拿到Json串了,數據更好拿了啊

標簽: Python 編程
相關文章:
国产综合久久一区二区三区