我正在尝试自动化一些我必须定期在网站上做的事情。 首先,我必须登录并尝试使用Mechanize:
from mechanize import Browser
br = Browser()
br.set_handle_robots(False)
br.open("http://leghe.fantagazzetta.com/")
#Seleziona il form di login di nome Form1
formcount=0
for frm in br.forms():
if str(frm.attrs["id"])=="Form1":
break
formcount=formcount+1
br.select_form(nr=formcount)
#imposta username e password
#br['username']='asdasd'
br.set_value('******',id="username")
br.set_value('******',id="password")
#submit
res = br.submit()
print res.read()
我注释掉了行#br['username']='asdasd'
,因为它引发了一个ControlNotFoundError
;所以我选择了.set_value
方法(我不确定它是否工作,但它不会引发任何异常)。
问题是在br.submit()
之后页面保持不变。
如何获取更新的页面?你知道吗
编辑1:
我不知道这是不是我的本意;如果是这样,那就什么也没变。你知道吗
import cookielib
import mechanize
br = mechanize.Browser()
#br.set_handle_robots(False)
#br.set_handle_redirect(True)
# Enable cookie support for urllib2
cookiejar = cookielib.LWPCookieJar()
br.set_cookiejar(cookiejar)
# Broser options
br.set_handle_equiv(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
# Set refresh handle
br.set_handle_refresh(mechanize.HTTPRefererProcessor(), max_time=1)
headers = [('User-Agent', 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0'),('Connection', 'keep-alive')]
br.open("http://leghe.fantagazzetta.com/")
#Seleziona il form di login di nome Form1
br.select_form(nr=1)
#imposta username e password
br.set_value('****',id="username")
br.set_value('****',id="password")
br.select_form(nr=0)
#submit
res = br.submit()
print res.read()
Mechanize可以在提交表单后重定向页面。 在提交表单之前,可以尝试使用以下代码:
相关问题 更多 >
编程相关推荐