我正在编写一个python脚本来收集大量数据,不幸的是,这涉及提交一些Web表单以获取我感兴趣的信息。由于这必须重复几千次才有意义进行自动化它
我从未处理过这类事情的形式方面,所以我有几个问题。以下是我正在使用的代码片段:
url = 'http://example.com/result.do'
values = {'id' : 'value', 'id' : 'value', 'submit' : 'Submit'}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
我的问题: 即使我没有选择它们,我还需要传递所有表单字段吗?
我是否需要通过此方式传递HTTP标头,如果是这样,有人可以链接我对此的一个很好的解释吗?
我错过了什么吗?
答案 0 :(得分:0)
我建议您查看Mechanize
模块。它允许您选择表单,填充字段,选择选项和单击按钮。它会自动生成表单在普通浏览器中提交的表单数据。
这是一个很好的小教程/示例:http://stockrt.github.com/p/emulating-a-browser-in-python-with-mechanize/