带有请求的 Python HTML POST

ajl*_*j25 3 html python python-requests

我想用 python 从以下位置下载一些天气信息:http://idojarasbudapest.hu/archivalt-idojaras,但直到我不按提交按钮“Mehet”,我才能看到必要的信息。我必须提交两个信息:年份(\'ev\')和月份(\'ho\')。

\n\n

据我了解,我必须发布带有两个参数的请求:\'ev\'和\'ho\',然后网站应该“向我发送”请求的信息。

\n\n

我编写的以下代码打印原始网站的 html 代码,而不是请求的代码。

\n\n
import requests\n\ndata= {\'ev\': \'2016\',\'ho\': \'Janu\xc3\xa1r\'}\nr = requests.post(\'http://idojarasbudapest.hu/archivalt-idojaras\', data=data)\n\nprint (r.text)\n
Run Code Online (Sandbox Code Playgroud)\n\n

html 表单如下所示:

\n\n

html 形式

\n\n

知道如何解决这个问题吗?\n感谢您的任何回答或建议。

\n

Ody*_*eas 5

通过检查按下“Mehet”按钮时浏览器发送的 post 请求,我发现 POST 请求中发送的参数的形式与您通过requests.

Firefox 开发者工具屏幕截图 - 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)
Run Code Online (Sandbox Code Playgroud)