Python HTML带请求的POST

2024-09-30 20:34:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用python从:http://idojarasbudapest.hu/archivalt-idojaras下载一些天气信息,但是在我不按提交按钮“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

有什么办法,怎么解决这个问题? 谢谢你的回答或建议。在


Tags: 代码信息httpdata网站htmlrequests按钮
2条回答

通过检查按下“Mehet”按钮时浏览器发送的post请求,我发现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)

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

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

相关问题 更多 >