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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34069180/article/details/55226069
#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&param=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登录页面

猜你喜欢

转载自blog.csdn.net/qq_34069180/article/details/55226069