内蒙古工业大学完美校园健康打卡
内蒙古工业大学完美校园健康打卡
本项目仅供学习交流使用,滥用脚本造成的一切后果与本人无关
脚本特点
- 自动化⚙早晚两次完美校园健康打卡
- 自选校区,支持金川、新城、准格尔
- 打卡位置?随机,打卡体温?随机
- 推荐使用腾讯云函数部署,免费,高效
- 打卡完成微信?推送结果(可选)
食用方法
前期准备
- 你需要一个腾讯云的账号,没有的话注册一下,https://cloud.tencent.com,本项目不会涉及到任何付费的服务,放心注册,不用担心腾讯坑你钱,给的免费额度,绝对用不完。
- (可选)如果你需要推送服务,去注册一下Server酱,http://sc.ftqq.com,绑定微信。
代码上传云服务
- 把代码从Github上下载下来(如果无法访问Github,也可以在本文章底部找到下载链接),在代码页面点击右上角的"Code",再点击"Download Zip",下载代码包,解压备用
- 下载依赖库,地址 https://imut.lanzoui.com/iF8nZje75ej,上传到腾讯云的云函数"层"服务,上传地址 https://console.cloud.tencent.com/scf/layer-create?rid=4,运行环境选择"Python3.6"。
- 打开腾讯云函数,创建一个函数服务,https://console.cloud.tencent.com/scf/list-create?rid=4&ns=default,选择“Python3.6,空白函数”
- 上传代码,确保环境为python 3.6,执行方法改为:"check.check_start",提交方式一定要选本地文件夹,然后上传刚刚解压的文件夹,完了后点击下面的高级设置。
- 高级设置,选择128M内存,超时100s,环境和变量添加"TZ""Asia/Shanghai",选择刚刚上传的“层”,最后完成即可
配置打卡信息
- 点击完成后,会跳转到在线编辑器,打开"userinfo.json",按说明填写打卡用户的信息,配置完成后,应该长这样。
- 确认无误后,选择保存并测试,首次运行你的代码,稍等片刻后,返回结果中出现以下内容即为打卡成功
- 配置自动打卡,点击左边的触发管理,然后新建触发器,触发周期为自定义,表达式就是每天的什么时候做任务,
0 0 1,13 * * * *
即为每天1点和13点执行打卡。
结语&效果展示
效果展示,学生前端效果
效果展示,教师端展示
到此,自动打卡就完美的配置在腾讯云函数上了,如果有配置或者使用上的问题,欢迎提Issues,或者邮箱联系 dapeng@imut.xyz,也可以在文章下方留言,提出建议
文件结构与思路
文件结构
campus.py 通过逆向分析得到的登陆方法,获取可供打卡使用的token和部分用户信息
check.py 程序入口,使用token打卡,并推送微信消息
userinfo.json 用户账号,密码,等信息存放文件,主配置文件
项目思路
"check.py"作为项目入口,调用"campus.py"进行用户登录,获取可用的"token",和用户的基础信息,如"班级代码","学号"。随后在"check.py"中使用上一步获取的"token"和用户信息向服务器发送POST,并获取打卡结果,使用Server酱,推送到用户微信。
项目鸣谢
@YooKing 的河南工业大学完美校园健康打卡:河南工业大学完美校园健康打卡
Q&A
Q:为啥要写这个脚本?
A:因为每天要提醒同学打卡实在太烦了,之前写过机器人去提醒打卡,结果没啥用,不如写脚本,把全班同学的都挂上去一起打了(我还写了只需要一个人的账号密码,就能打全班卡的脚本,但是需要后台的权限,放出来了,你们也用不了)
Q:为啥不用Github Action?
A:1. Github Action运行时间不够准确,因为我要给全班打卡,便于监控,选择了云函数。2. 虽然云函数需要额外安装一个依赖,但是上传到“层”也一样,运行也更快。
Q:代码为啥感觉和别人的差别那么大?
A:代码是边学边写的,所以“集成度”高了一点,除去依赖,只有三个有用的文件。
Q:博主这么厉害,肯定是学计算机的吧?
A:不,我学的是德语,虽然学的不咋地。
许可
本项目以 MIT 协议开源,详情请见 LICENSE 文件
附
件
下
载
件
下
载