基于在 SO 和其他来源上找到的一些快速示例,我正在尝试使用 Python urllib/urllib2 通过以下方式提交表单:
>>> import urllib, urllib2
>>> url = 'http://example.com'
>>> r_params = {'a':'test','b':'hooray'}
>>> e_params = urllib.urlencode(r_params)
>>> user_agent = 'some browser and such'
>>> headers = {'User-Agent': user_agent}
>>> req = urllib2.Request(url, e_params, headers)
>>> response = urllib2.urlopen(req)
>>> data = response.read()
我已经让这个工作了,但是,在我正在寻找的特定表单上,有两个“提交”类型的按钮。例如:
<b><input type="submit" name="ButtonA" value="SUBMIT"></b>
<b><input type="submit" name="ButtonB" value="LINK"></b>
我相信我遇到的问题是由于当前代码选择了错误的代码。如何通过提交 ButtonB 而不是 ButtonA 来获得响应?我读过的一些东西似乎表明我可以尝试使用 mechanize,但我希望保持简单,而无需阅读和学习 mechanize。有没有一种简单的方法可以做到这一点,或者我需要接受它并真正花时间学习和理解我在做什么?