带有请求的Python HTML POST

时间:2017-10-15 11:55:55

标签: python html python-requests

我想从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表单如下所示:

The html form

任何想法,如何解决这个问题? 感谢您的任何回答或建议。

2 个答案:

答案 0 :(得分:4)

在按下“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)

答案 1 :(得分:1)

在您的有效负载中,添加'button': 'Mehet'

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