HNU疫情防控和健康监测系统每日自动打卡
使用前须知:本项目仅用于学习交流Python语言的学习与相关库的使用,不得用于获利 (NON FOR PROFIT)!如有体温异常等请如实上报!
参考开源仓库:中南大学nCov健康打卡定时自动脚本
Duang~~~在GayHub里面找了一圈才看到一个湖大的打卡脚本,作者还不更新了,可能是信息院的同学都不想开源吧😅😅😅。于是在极度愤怒的情况下自己生了个玩意。
本品通过GitHub Actions实现自动化,具有美容养颜、改善睡眠、舒肝理气、应该不会再被辅导员电话轰炸或被喝茶等功效。 需要你做的前期工作有:
-
配置学号与个人中心密码
进入刚刚你fork过去到自己名下的项目,再进入Settings -> Secrets页面,点击New repository Secret,在Name栏输入USERNAME,Value栏输入你的学号。然后再添加一个Secret,Name栏为PASSWORD,Value栏填写你登录个人中心的密码。
-
填写打卡地址
你还需要分别以PROVINCE, CITY, COUNTY为NAME添加相应的Secret,Value中请注意须在地名后面添加“省“、”市“、”县/区“,如”湖南省“、”长沙市“、”岳麓区“。另外,详细地址默认为一个句号,你可以在源代码(clock_in.py)中修改。
-
配置验证码识别API
由于不在微信环境下登录打卡系统需要验证码,所以需要使用网上的API来自动识别,请参考如下文章:
按照文章操作注册百度智能云账号,并在控制台创建一个文字识别的应用,拿到AppID, API Key, Secret Key三个参数,再回到GitHub的Secrets界面,分别以APP_ID, API_KEY, SECRET_KEY为NAME创建三个SECRETS。
-
开始自动化运行
进入到Actions界面,点击该工作流,然后Run workflow,即可开启自动化运行,你可以在设置里绑定邮箱以接收运行失败的通知,防止未来哪天打卡系统升级了你还蒙在鼓里。
我设定为每天早晨6:10自动运行,你可以在/.github/workflows/python-app.yml文件里修改,请注意cron语法下的时间为零时区时间,需要将北京时间减8个小时,且分钟在前小时在后。详情参见POSIX cron 语法和官方文档。
-
如果一切顺利的话,应该没有第六步。若不是那样,可以在Discussion里面说。