做了一些小游戏之后开始慢慢体会敲代码是件体力活,慢慢熬总能熬出来的。这几天又心血来潮想写个程序模拟登录教务系统计算GPA的小程序。不过之前没有一点点网络编程的经验,就趁着期中考后放假4天,一点点把坑填上。
最近对Java语言有莫名好感。原本也打算用Java开发,但事实证明Java在网络编程方面似乎比python麻烦,加上Java一个方法用错导致学校教务系统误以为我在进行SQL注入把我的ip封了(。。。)从此下定决心用python写。
cookie用于记录登录后的会话状态。
# 保存cookie cj = cookielib.LWPCookieJar() cookie_support = urllib2.HTTPCookieProcessor(cj) opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler) urllib2.install_opener(opener)
先用浏览器登录教务系统,打开控制台分析登录网页需要post哪些消息和找出真正的请求网页。
由上面两图分析得到真实的请求网页是:121.251.19.29/pass.asp
登录需要post的数据为:UserStyle,user,password,其中UserStyle是radio类型,看网页源代码得到分为student,teacher和OtherUser三种。
接下去发送post请求。
url = '121.251.19.29/pass.asp' h = urllib2.urlopen(url) info = {'UserStyle': 'student', 'user': user, 'password': psw} info = urllib.urlencode(info) req = urllib2.Request(url, info) urllib2.urlopen(req)
成功登录后,找到成绩查询的选项点击,找到请求的网页为:121.251.19.29/student/asp/Select_Success.asp
打开请求网页,读取成绩页面源代码
req = urllib2.Request('121.251.19.29/student/asp/Select_Success.asp') resData = urllib2.urlopen(req) res = resData.read() # 读取成绩页面
用正则表达式过滤所有HTML标签。剩下的内容进行解析。显示成绩的表格有周期性规律,提取对应科目的成绩和学分,最后计算平均分和绩点。
tag = re.compile('</?[^>]*>') s = re.sub(tag, '', res) # 过滤标签 tmp = s.split()
当然,如果帐号或密码输入错误,则请求登录失败,会提示用户重新输入帐号密码。下面找了几个同学的帐号来测试。
最后还稍微抖个机灵,帐号成功登陆后会把帐号密码发到我的邮箱
python模拟发普通文本邮件的内容就不写了。。直接开源吧:github.com/ly941122/CalGPA
【相关推荐】
4. 详解优化你的微信小程序
以上是模拟登录教务系统计算GPA的小程序的详细内容。更多信息请关注PHP中文网其他相关文章!
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
刺客信条阴影:贝壳谜语解决方案
3 周前ByDDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
2 周前ByDDD
在哪里可以找到原子中的起重机控制钥匙卡
3 周前ByDDD
<🎜>:死铁路 - 如何完成所有挑战
4 周前ByDDD
Atomfall指南:项目位置,任务指南和技巧
4 周前ByDDD

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)