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登录页面
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- 爬虫笔记
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- python统计多维数组的行数和列数