Python 使用mechanize获取数据的替代方案?

Python 使用mechanize获取数据的替代方案?,python,post,python-requests,developer-tools,mechanize-python,Python,Post,Python Requests,Developer Tools,Mechanize Python,目前,我正在使用mechanize填写表单并发送POST请求,然后对响应执行regex搜索以获取数据(浮点数) 我有没有办法只发送一个POST请求就可以做到这一点?我知道这可以通过使用任何浏览器的开发工具和请求模块来发送请求,但我没有找到一个全面的教程。我还想了解有关所涉及步骤的一些详细信息。第一步:获取字段名 检查HTML代码并找到字段的名称属性。例如,此页面上的评论表单是(在Chrome中,右键单击并选择“检查元素”): 字段名为注释 步骤2:为每个字段(包括隐藏的输入)汇编一个name

目前,我正在使用
mechanize
填写表单并发送POST请求,然后对响应执行
regex
搜索以获取数据(浮点数)

我有没有办法只发送一个POST请求就可以做到这一点?我知道这可以通过使用任何浏览器的开发工具和
请求
模块来发送请求,但我没有找到一个全面的教程。我还想了解有关所涉及步骤的一些详细信息。

第一步:获取字段名 检查HTML代码并找到字段的
名称
属性。例如,此页面上的评论表单是(在Chrome中,右键单击并选择“检查元素”):


字段名为
注释

步骤2:为每个字段(包括隐藏的输入)汇编一个
name:value
的dict 我们称之为数据:

数据={
“评论”:“这是一条评论”,
“post_id”:1234
}
步骤3:使用'requests.post'的
data
参数
response=requests.post(url,data=data,cookies=cookies)
更高级的东西
如果您的表单有
文件
字段,您可能需要在文档中选中“”。等等也是一样。

数据中的键值不应该用双引号括起来吗?另外,我有两个url,表单包含的url,以及在POST请求后显示的另一个get页面,我应该在这里包括哪个请求?是的,该死的JavaScript习惯!URL是表单的action属性中的URL,如果表单缺少此属性(我猜分别是您的URL#2和#1),则是页面URL。我执行了上述步骤,但没有得到响应。它只返回包含表单和附加错误消息(在html中)的页面。我想我传递的数据是正确的,但我读了一点
请求
,了解了一些标题……它们重要吗?我将如何为我的用例定义它们?啊!我找到了!这是一个POST请求,所以应该是
requests.POST(..)
。完全错过了。