2017-10-15 154 views
3

我想用python從http://idojarasbudapest.hu/archivalt-idojaras下載一些天氣信息,但我不能看到必要的信息,直到我不按下提交按鈕「Mehet」。有兩個我必須提交的信息:年('ev')和月('ho')。Python的HTML POST與請求

據我所知,我必須用兩個參數發送請求:'ev'和'ho',然後網站應該「發送給我」所需的信息。

我編寫的以下代碼打印原始網站的html代碼,而不是請求的代碼。

import requests 

data= {'ev': '2016','ho': 'Január'} 
r = requests.post('http://idojarasbudapest.hu/archivalt-idojaras', data=data) 

print (r.text) 

HTML表單是這樣的:

The html form

任何想法,如何解決這一問題? 感謝您的任何答覆或建議。

回答

4

從檢查瀏覽器發送POST請求按下「Mehet」按鈕時,我看到,在POST請求發送的參數具有不同的形式比你通過requests張貼的。

Firefox developer tools screenshot -- http://idojarasbudapest.hu/archivalt-idojaras

因此,也許你的代碼更改爲類似這樣:

import requests 

data= {'ev': '2016','ho': '01', 'button': 'Mehet'} 
r = requests.post('http://idojarasbudapest.hu/archivalt-idojaras', data=data) 

print (r.text) 
+0

謝謝,我正在尋找!:) – ajlaj25

1

給您的有效載荷添加'button': 'Mehet'

data= {'ev': '2016', 'ho': '01', 'button': 'Mehet'} 
+0

我已經試過了,但沒有解決問題。 Odysseas提到的是工作。 謝謝! – ajlaj25

+1

@ ajlaj25哦,是的,我沒有意識到,對不起。您必須提交該選項的值,1月份爲'01'。將相應地編輯。 –