我想从http://idojarasbudapest.hu/archivalt-idojaras下载python的一些天气信息,但在我没有按下提交按钮" Mehet"之前,我看不到必要的信息。我必须提交两个信息:年份(' ev')和月份(' ho')。
据我了解,我必须使用两个参数发布请求:' 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表单如下所示:
任何想法,如何解决这个问题? 感谢您的任何回答或建议。
答案 0 :(得分:4)
在按下“Mehet”按钮时检查浏览器发送的发布请求,我看到POST请求中发送的参数与您通过requests
发布的参数形式不同。
因此,或许可以将代码更改为:
import requests
data= {'ev': '2016','ho': '01', 'button': 'Mehet'}
r = requests.post('http://idojarasbudapest.hu/archivalt-idojaras', data=data)
print (r.text)
答案 1 :(得分:1)
在您的有效负载中,添加'button': 'Mehet'
。
data= {'ev': '2016', 'ho': '01', 'button': 'Mehet'}