爬教务处玩玩
来源:互联网 发布:mars建筑软件下载 编辑:程序博客网 时间:2024/04/28 09:39
from HTMLParser import HTMLParserfrom htmlentitydefs import entitydefsimport urlparseimport urllibimport urllib2import cookielibimport stringimport re#sava string to file def savatofile(filepath,contents): fl = open(filepath,"w"); fl.write(contents) fl.close() # list convert to str def ListToStr(list): return ''.join(list) class MyhttpParser(HTMLParser): def __init__(self): self.it_flag = 0 self.it = "" HTMLParser.__init__(self) def handle_startendtag(self, tag, attrs): if tag == "input": if len(attrs)==0: pass else: for(type,value) in attrs: if value == "lt": self.it_flag = 1 if type == "value": if self.it_flag == 1: self.it = value self.it_flag=0 def Get_lt(self): return self.itclass MyhttpParserTicket(HTMLParser): def __init__(self): self.href_flag = 0 self.href = "" HTMLParser.__init__(self) def handle_starttag(self, tag, attrs): if tag == "a": if len(attrs)==0: pass else: for(type,value)in attrs: if type == "class" and value == "btn btn-primary": self.href_flag = 1 if type == "href" and self.href_flag ==1: self.href = value self.href_flag = 0 def Get_ticket_href(self): return self.href hosturl = 'https://matrix.dean.swust.edu.cn/acadmicManager/index.cfm?event=studentPortal:DEFAULT_EVENT'posturl = 'https://ids-swust.fayea.com/cas/login?service=https%3A%2F%2Fmatrix.dean.swust.edu.cn%2FacadmicManager%2Findex.cfm%3Fevent%3DstudentPortal%3ADEFAULT_EVENT'def get_num_lt(): response = urllib.urlopen(posturl) htmlcode = response.read() hp =MyhttpParser() hp.feed(htmlcode) hp.close() str = hp.Get_lt() return strdef getticketherf(htmlcode): hp =MyhttpParserTicket() hp.feed(htmlcode) hp.close() str = hp.Get_ticket_href() return strdef Login(): It_str = get_num_lt() print It_str Referer = 'https://ids-swust.fayea.com/cas/login?service=https%3A%2F%2Fmatrix%2Edean%2Eswust%2Eedu%2Ecn%2FacadmicManager%2Findex%2Ecfm%3Fevent%3DstudentPortal%3ADEFAULT%5FEVENT' headers = { 'Host':'matrix.dean.swust.edu.cn', 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/39', 'Referer' : Referer} Postdata = {'lt':It_str, 'username':'xxxx', 'password':'xxxx', 'service':'https://matrix.dean.swust.edu.cn/acadmicManager/index.cfm?event=studentPortal:DEFAULT_EVENT' } Postdata = urllib.urlencode(Postdata) cookieJar = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar)) request = urllib2.Request('https://ids-swust.fayea.com/cas/login', Postdata) result = opener.open(request) savatofile('1.txt',result.read()) ticketurl = getticketherf(result.read()) result = opener.open(ticketurl) savatofile('2.txt',result.read()) result = opener.open(hosturl) savatofile('3.txt',result.read())Login()
0 0
- 爬教务处玩玩
- 爬学校教务处的成绩单
- 用Scrapy爬取教务处通知公告
- JAVA爬取学校教务处课表
- 玩玩
- 玩玩
- 玩玩
- 玩玩
- 玩玩
- 玩玩
- Java利用JSOUP爬取教务处成绩信息简单示例
- 校园助手APP--爬取教务处网页,并解析出数据
- [python爬虫]爬取学校教务处以及登录过程验证码的处理
- Python爬内蒙古大学教务处并自动计算绩点(小窗体版)
- 太原理工大学教务处
- 燕山大学教务处
- 沈阳工业大学教务处
- 许昌学院教务处
- hdu 1598 find the most comfortable road(并查集+枚举)
- Eclipse快捷键大全
- java统计一个字符串中中文,英文,数字的个数
- HDU 1934 Minimum Inversion Number(树状数组,线段树)
- loading条顺滑加载
- 爬教务处玩玩
- 拜登耶鲁大学演讲视频--抱负和生活的平衡
- c++和java的区别
- 数据库设计(二)——数据类型
- iGrimace闪退 IG 3.0 VX v3 iOS神器 新机 抹机 优步Uber 陌陌 微信 携程 同城旅游 美团 大众 一号专车
- 219Contains Duplicate II
- Onclick 调不到JS函数
- lua打印调用堆栈
- libsvm在matlab中使用