python带cookie提交表单自动登录(转)

今天突然把博客给申请了,以前也想过的,奈于自己觉得水平还太低有点不好意思写博客,但是后来一想,自己的记录所学,加深印象,主要还是为了学习进步,不怕丢人!今天就稍微回顾一下这两天写的一段用python模拟浏览器登录自己学校官网的代码吧(多亏大神指导了)。

复制代码
 1 import urllib
 2 import urllib2
 3 import cookielib
 4 
 5 login_url = "xxxxxxxxxxxxx"
 6 
 7 cj = cookielib.CookieJar()#实例化对象,创建cookie容器cj
 8 opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))#通过build_opener方法构造一个包含把cookie传给HTTP...构造方法的类实例的URL访问器
 9 
10 contens = opener.open(login_url).read()#这里是因为学校官网提交的表单中需要有一个lt参数,而它是变化的所以先获取解析一下得到它
11 lt = re.findall('<input type="hidden" name="lt" value="(.*)" />',contents1)
12 

   #好了现在把需要POST的数据都放到form_info中,里面的参数要具体分析!查看页面HTML的表单!
13 form_info={"username":"xx","password":"xx","lt":lt[0],"_eventId":"submit","errors":"0"}
14 
15 postData = urllib.urlencode(form_info)
17 opener.addheaders=[("User-Agent","xxxx"),]#加个浏览器的请求头信息,模拟浏览器访问
18 
19 resp = opener.open(login_url,postData)#开始登录
20 
21 print resp.read()
22 
23 #一般情况下到这里就可以继续用构造好的opener继续访问里面的页面了,可能里面有一些特别的页面会访问不了,具体问题还需具体分析
复制代码


http://www.cnblogs.com/inva/p/4200189.html

原文地址:https://www.cnblogs.com/softidea/p/5116229.html