从python提交web表单并保存结果

从python提交web表单并保存结果,python,html,form-submit,python-requests,Python,Html,Form Submit,Python Requests,我想从我的python代码中访问一个在线计算器。我已经阅读了对类似问题的回复,但没有找到有效的方法。下面的代码可以访问该网页并复制其内容,但我不知道如何将内容提交给计算器,然后保存结果。我认为提交字段称为M1value import requests url = "http://www.numbertheory.org/php/classnopos.html" payload = {'M1value':'7'} r = requests.post(url, params=payload) pri

我想从我的python代码中访问一个在线计算器。我已经阅读了对类似问题的回复,但没有找到有效的方法。下面的代码可以访问该网页并复制其内容,但我不知道如何将内容提交给计算器,然后保存结果。我认为提交字段称为M1value

import requests
url = "http://www.numbertheory.org/php/classnopos.html"
payload = {'M1value':'7'}
r = requests.post(url, params=payload)
print(r.content)

对不起,如果我犯了愚蠢的错误。我是新来的。非常感谢您的帮助。此外,我不能使用mechanize,因为Python 3不支持它。

您提交到了错误的URL。如果查看页面源,您会看到:

<FORM ACTION="classnopos.php" METHOD="POST">
使用该URL和您的代码,我会得到与在浏览器中使用表单相同的结果:

>>> import requests
>>> url = "http://www.numbertheory.org/php/classnopos.php"
>>> payload = {'M1value':'7'}
>>> r = requests.post(url, params=payload)
>>> print(r.content)
<html>
<body bgcolor="FFFFCCC">

reduced forms of discriminant 28 corresponding to ideal classes<br>
[1]: (1,4,-3)<br>
x<sup>2</sup>-7*y<sup>2</sup>=-1 has no solution<br>
h(7) = 1<p>
<a href="./classnopos.html">Return to main page</a><br>
</body>
</html>

你以前问过这个问题吗?这是非常熟悉的。是的,我有,但这一个更具体。谢谢,这是我需要的。你知道我如何从输出中提取'28'和'1,4,-3'吗?恐怕你必须使用正则表达式。
>>> import requests
>>> url = "http://www.numbertheory.org/php/classnopos.php"
>>> payload = {'M1value':'7'}
>>> r = requests.post(url, params=payload)
>>> print(r.content)
<html>
<body bgcolor="FFFFCCC">

reduced forms of discriminant 28 corresponding to ideal classes<br>
[1]: (1,4,-3)<br>
x<sup>2</sup>-7*y<sup>2</sup>=-1 has no solution<br>
h(7) = 1<p>
<a href="./classnopos.html">Return to main page</a><br>
</body>
</html>