这是我第一次使用机械化,我正在尝试用机械化填写表格
以下是我的浏览器选项:
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: error500: Internal Server Error。我假设它正在检测到它是一个机器人还是什么东西在点击提交?但我认为这就是addheaders应该处理的问题。
发布于 2013-03-15 07:42:16
你可以使用http://grablib.org/docs/,它更简单,更高效。试试看。在linux上安装:
pip安装pycurl lxml
pip安装抓取
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 对不起,我的英语不好。
https://stackoverflow.com/questions/15421692
复制相似问题