2015-11-02 67 views
0

我想通过表单登录到网站,然后用python进行机械化,但是在提交表单后它仍然没有登录 - 即在br.submit()之后我会尝试抓取页面使用br.open('something'),我得到标准的'你没有登录'消息该网站提供...代码如下。看到什么不正确?我试着改变/没有运气去除头...通过机械化的Python表单登录

import mechanize 

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

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) 

br.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36')] 

br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1) 

br.open('http://www.marketbeat.com/login') 

br.select_form(nr = 0) 

br.form['ctl00$cphPrimaryContent$txtUserName'] = '[email protected]' 
br.form['ctl00$cphPrimaryContent$txtPassword'] = 'password' 

br.submit() 
+0

提交页面后,获取响应并打印出来。寻找任何关于密码不匹配,无效格式等的错误消息。 –

+0

我确实尝试过 - 它似乎是在运行python脚本时重定向到与通过浏览器登录时不同的页面...我试过改变用户代理设置,但迄今没有运气。 –

回答

0

其实我想通了 - 原来有JavaScript的形式,我不得不使用br.submit(名称=“什么” )选择正确的提交。