2013-03-14 233 views
0

这是使用机械化我第一次和我试图填写表格与机械化提交与机械化HTTP错误形式500

这里是我的浏览器选项:

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:内部服务器错误。我假设它检测到它是一个机器人或者是一些触及提交的东西?但我想这就是那些插头想要照顾的。

+0

你的代码部分工作正常。检查来自提交的内容实际上是否在网页上工作,或者您填写的信息是否正确,并且不需要任何其他格式。 Mb你可以给你一个运行你的脚本的网页?另外,为什么你有两个'br.addheaders = br.addheaders ='和'en- US'之间的空格? – ton1c 2013-03-14 23:20:30

+0

糟糕的是这部分是一个错字。我试图为雅虎注册页面(https://edit.yahoo.com/registration?.src=fpctx&.intl=us&.done=http%3A%2F%2Fwww.yahoo.com%2F)这样做我可以进入Captcha页面并分析图像,而无需手动填写注册。我试图在真正的浏览器上做到这一点,它的工作原理让我知道我填写的值正在工作。但是当我在真正的浏览器中登录真正的雅虎注册页面时,它给了我这个错误:抱歉,此时无法处理请求 - 错误999. – Kevin 2013-03-14 23:36:20

+0

您能否显示如何提交任何下拉选项(例如性别)? – ton1c 2013-03-14 23:42:52

回答

1

您可以使用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 

对不起,我的英语水平。