技术分享
🗒️教务系统成绩自动推送到微信(XUST)
00 分钟
2024-1-30
2024-3-22
type
status
date
slug
summary
tags
category
icon
password
💡
学校使用的正方教务系统V8.0,没有成绩更新后自动推送给学生的功能,对于期末考完试想要及时了解自己的成绩同学,隔一段时间就要登陆教务系统,查询十分不方便,本教程使用Python自动化 + Github Action + Pushplus实现自动监测教务系统的成绩,如果有更新则通过Pushplus自动推送到微信上,免去了多次登录教务系统的烦恼!本服务不需要任何服务器,代码知识,5分钟即可完成!

1.效果展示

以1月25日为例
手机上收到的消息是这样的
notion image
点进去之后,发现更新的课程名称为“高频电子电路”
notion image
显示出了老师提交成绩单的时间为14:06 可以看到14:10成绩更新的消息就推送到手机上了,因为我们代码里设置的时间是每隔5分钟运行一次来检测成绩有无变化,无变化不推送,有变化就发送到微信上

2.准备工作

 
一个正常的Github账号
Pushplus Token
相信Github账号大家都有,我们需要他用来储存代码库,和定时运行代码
Pushplus Token获取方式如下:
  1. 微信公众号搜索关注“Pushplus”
notion image
2.点击功能-个人中心
notion image
3.点击开发设置-Token
notion image
notion image
4.复制Token,备用
notion image

3.克隆代码仓库并设置环境变量

 
进入链接,右上角Fork
notion image
 
notion image
点击之后,创建好,会自动跳转到你自己复制好的仓库
右上角Setting
notion image
找到Secret - Action - New Repository Secrets
notion image
Name:URL Secrets:http://59.74.174.150/ (XUST教务系统登陆入口)
notion image
同样的方法,按照下面表格再添加三个
Name
Secret
USERNAME
你的学号
PASSWORD
你的教务系统密码
TOKEN
刚刚在公众号中获取到的TOKEN
所有数据都是以环境变量,密文形式储存的,没有任何泄露风险
添加完之后是这个样子的
notion image

4.开启Github Action定时运行

点击页面上部分的Actions
notion image
紧接着点击绿色的丨 understand my wokflows, go ahead and enable them
notion image
此时,已经完成了,他已经在工作了,每十分钟自动运行一次,为了测试效果我们手动运行一次,因为是首次运行,不管有没有成绩更新都会推送给你。
 

5.测试

notion image
然后刷新一下页面,一分钟左右,你的微信就收到消息了,点进去就能查看详细的成绩信息
notion image

6.问题排查

如果你没有收到信息,那么按照下面步骤查看日志来确定失败的原因
notion image
notion image
notion image

📎 参考文章

为基础,虽然都是正方系统,但查询接口与原仓库不符,我做了适配本校教务系统的工作,以及接入Pushdeer的工作(如有需要在pushplus.py代码中自己修改),如果有其它学校需要使用,请自行修改代码中的url接口
💡
请勿用于非法用途!

评论
  • Cusdis