您的位置:首页 > 编程语言 > Python开发

python爬虫自动登录武汉大学校园网

2017-02-15 23:55 471 查看
#coding:utf-8
__author__ = 'zy'
import urllib2
import cookielib
import urllib
import re
import sys
'''模拟登录'''

PostUrl = "http://202.114.64.105:8080/eportal/userV2.do?method=login¶m=true&wlanuserip=ad1052f9d875d2c2202fe4aa93aae07c&wlanacname=29185648f4390d7911ef4b72391e17a9&ssid=&nasip=07e38f2323f330cd5ffcc3a203a63100&snmpagentip=&mac=e597b13dde22b3befb3e410e4564c6b7&t=wireless-v2&url=031144d9c31b76483cfae87a655ab8cffd310d1a5f2b3844e92a4e88af3808e6&apmac=&nasid=29185648f4390d7911ef4b72391e17a9&vid=8dcf080f7f54bb82&port=bb13fa65ec170962&nasportid=ac41d60d7f138208bea8d2af9b4c564cc1d0e0e34515f94a78740bbe9bdcd095&username=2014301610386&pwd=197510"
# 验证码地址和post地址
cookie = cookielib.CookieJar()
handler = urllib2.HTTPCookieProcessor(cookie)
opener = urllib2.build_opener(handler)
# 将cookies绑定到一个opener cookie由cookielib自动管理
username = '2014301610***'
password = '******'
# 用户名和密码
postData = {
'is_auto_land':"false",
"usernameHidden":"2014301610386",
"username_tip":"Username",
"username":username,
'strTypeAu':"",
'uuidQrCode':"",
'authorMode':"",
'pwd_tip':"Password",
'pwd':password,
}
# 根据抓包信息 构造表单
headers = {
'Accept':"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
'Accept-Encoding':'gzip, deflate, br',
'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
'Connection': 'keep-alive',
'Content-Length':'37',
'Host':'202.114.64.105:8080',
'Cookie':cookie,
'Referer':'http://202.114.64.105:8080/eportal/index.jsp?wlanuserip=ad1052f9d875d2c2202fe4aa93aae07c&wlanacname=29185648f4390d7911ef4b72391e17a9&ssid=&nasip=07e38f2323f330cd5ffcc3a203a63100&snmpagentip=&mac=e597b13dde22b3befb3e410e4564c6b7&t=wireless-v2&url=031144d9c31b76483cfae87a655ab8cffd310d1a5f2b3844e92a4e88af3808e6&apmac=&nasid=29185648f4390d7911ef4b72391e17a9&vid=8dcf080f7f54bb82&port=bb13fa65ec170962&nasportid=ac41d60d7f138208bea8d2af9b4c564cc1d0e0e34515f94a78740bbe9bdcd095',
#'Upgrade-Insecure-Requests':1,
'User-Agent': 'User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36',
}
# 根据抓包信息 构造headers
data = urllib.urlencode(postData)
# 生成post数据 ?key1=value1&key2=value2的形式
request = urllib2.Request(PostUrl, data, headers)
# 构造request请求
#try:
response = opener.open(request).read()

# 由于该网页是gb2312的编码,所以需要解码
print response.decode('utf-8').encode('gbk')
# 打印登录后的页面
#except (urllib2.HTTPError),e:
#    print e.code66
# 利用之前存有cookie的opener登录页面
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息