使用机械化HTTP错误500提交表单

时间:2013-03-14 22:49:34

标签: python python-2.7 mechanize form-submit mechanize-python

这是我第一次使用机械化,而我正试图用机械化填写表格

以下是我的浏览器选项:

br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)


cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)


br.addheaders = br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-    US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

我用有效值填写表单并点击br.submit()但它给了我HTTP:错误500:内部服务器错误。我假设它检测到它是机器人或某些东西击中提交?但我认为这就是添加者想要照顾的东西。

1 个答案:

答案 0 :(得分:1)

您可以使用http://grablib.org/docs/,它更容易,更有效率。试试吧。 在linux上安装:

pip install pycurl lxml

pip install grab

from grab import Grab

g = Grab()
g.go('http://google.com') # go to google.com
g.choose_form(0)  #form number
g.set_input('q', 'test')  # 'q'-input name, 'test' - search query
g.submit()  # send request
print g.xpath_list('//a/text()') # view xpath result link list 

抱歉我的英文。

相关问题