python查询46级成绩
来源:互联网 发布:标书快速制作软件 编辑:程序博客网 时间:2024/04/27 14:12
python查询46级成绩
华亮
要查46级成绩,我们可以到www.99sushe.com查询,它的那些类型选项是为了验证准考证号是否正确,都是在js中完成。换句话说,如果我们直接向服务器发数据,可以忽略这个选项而直接发送准考证和名字前两个汉字。
对于华工的学生,可以在http://222.16.33.245:888/cet.asp这里通过输入自己的学号和名字,查询到自己的准考证号。当我们点击了查询,浏览器会向http://222.16.33.245:888/cetresult.asp这里发送数据。我们可以打包发到那里。这里需要教育网访问。
# -*- coding:utf-8 -*-# 从华工网上获取四六级准考证号# 作者:华亮from Queue import Emptyfrom Queue import Queuefrom sys import exitfrom urllib import urlencodeimport reimport threadingimport urllibimport urllib2'''kssj:111loginName:%C2%DE%BC%CE%B7%C9 (unable to decode value)loginPass:200930635086'''def connect(username, userid): loginData = {'kssj':'111', 'loginName':username.decode('utf-8').encode('gb2312'), 'loginPass':userid} postData = urlencode(loginData) req = urllib2.Request('http://222.16.33.245:888/cetresult.asp', postData) cookieFile = urllib2.HTTPCookieProcessor() opener = urllib2.build_opener(cookieFile) result = opener.open(req) return re.findall(r'<td width="296">(\d{15})</td>', result.read()) def GetScore(id, username): loginData = {'id':id, 'name':username.decode("utf-8").encode("gbk") } postData = urlencode(loginData) print postData req = urllib2.Request('http://cet.99sushe.com/s') req.add_header("Origin", "http://cet.99sushe.com") req.add_header("Referer", "http://cet.99sushe.com") req.add_data(postData) cookieFile = urllib2.HTTPCookieProcessor() opener = urllib2.build_opener(cookieFile) result = opener.open(req) return result.read()def main(): file = open('user.txt') file2 = open('id.txt', 'w') userinfo = [] for line in file: id, name = line.split()[0], line.split()[1] userinfo.append((id, name)) id_nameList = [] for id, name in userinfo: try: eid = connect(name, id)[ 0 ] print eid, print name file2.write(eid + ' ') file2.write(name) file2.write('\n') #id_nameList.append((eid, name)) #print GetScore(id, name) except: pass file2.close() for id, name in id_nameList: print id, print name #GetScore(id, name) if __name__ == '__main__': main()
我们可以把学号和名字保存在user.txt中,运行上述代码,就回生成一个id.txt。
我们可以切换到电信网。运行下面的代码向99sushe查询四六级成绩。
# -*- coding:utf-8 -*-# 从99sushe获取四六级成绩# 作者:华亮from HTMLParser import HTMLParserfrom Queue import Emptyfrom Queue import Queuefrom re import matchfrom sys import exitfrom urllib import urlencodeimport osimport reimport socketimport threadingimport timeimport urllibimport urllib2import shelvedef GetScore(id, username): loginData = {'id':id, 'name':username.decode("utf-8").encode("gbk") } postData = urlencode(loginData) #print postData req = urllib2.Request('http://cet.99sushe.com/s') req.add_header("Origin", "http://cet.99sushe.com") req.add_header("Referer", "http://cet.99sushe.com") req.add_data(postData) cookieFile = urllib2.HTTPCookieProcessor() opener = urllib2.build_opener(cookieFile) result = opener.open(req) return result.read()'''您的成绩总分:387听力:144阅读:140综合:39写作:64''''144,140,39,64,387,华南理工大学,XXX,0'keyword = ['听力:', '阅读:', '综合:', '写作:', '您的成绩总分:', '学校:', '姓名:', 'End-']def main(): file = open('id.txt') outfile = open('score.txt', 'w') userinfo = [] for line in file: id, name = line.split()[0], line.split()[1] userinfo.append((id, name)) for id, name in userinfo: i = 0 for item in GetScore(id, name[0:6]).decode('gbk').encode('utf-8').split(','): print keyword[i], print item outfile.write(keyword[i] + ' ') outfile.write(item + '\r\n') i += 1 print outfile.write('\r\n') outfile.close() if __name__ == '__main__': main()
然后我们就可以批量查成绩了!
- python查询46级成绩
- Python查询四六级成绩
- Python Requests实例,查询成绩
- CET 46级批量成绩查询
- 查询成绩
- 查询成绩
- 查询成绩
- 查询成绩
- 成绩查询
- 成绩查询
- Python登录大连交通大学教务在线实现成绩查询
- python爬虫——正方教务系统成绩查询
- 四六级成绩批量查询器
- 社保查询、成绩查询
- 我的成绩查询
- 简易成绩查询系统
- 简易成绩查询系统
- gov.cn成绩查询
- 在MyEclipse中设置查看源码,查看javaDoc
- 使用AT SELECTION-SCREEN事件验证用户输入条件的反思
- rndc: connect failed: 127.0.0.1#953: connection refused
- CSDN 不支持liveWriter了,写博客不是很方便~~~~~~
- Dinic算法学习资料
- python查询46级成绩
- 在Applet中引用jar中资源文件的KEY!
- ORACLE函数大全
- 四、Mp3文件类型及其判断
- Windows应用程序,操作系统,计算机硬件之间的相互关系
- ABAP实例:将SCREEN显示到其他用户的机器上
- 子屏幕selection-screen
- POJ3275 FLOYD邻接表 [模板]
- Java面向对象基础