使用mechanize来获取数据的替代方法?

时间:2015-06-11 20:51:18

标签: python post python-requests developer-tools mechanize-python

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

有没有办法只通过发送POST请求就能做到这一点?我知道这可以通过使用任何浏览器的开发人员工具和requests模块的组合来发送请求,但我找不到全面的教程。我还想了解有关步骤的一些细节。

1 个答案:

答案 0 :(得分:2)

第一步:获取字段名称

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

<textarea name="comment" cols="68" rows="3" 
placeholder="Use comments to ask for more information or 
suggest improvements. Avoid answering questions in comments."
></textarea>

字段名称为comment

第2步:为每个字段(包括隐藏的输入)汇总name: value的字典

让我们称之为数据:

data = {
   "comment": "this is a comment",
   "post_id": 1234
}

第3步:使用`requests.post'的<{1}}参数

data

更高级的东西

如果您的表单包含response = requests.post(url, data=data, cookies=cookies) 个字段,则可能需要在文档中查看“More complicated POST requests”。同样适用于custom authenticationcookie handling