实现广州大学图书馆的座位自动预约、自动签到, 让你不再烦恼总是挑不到座位或者忘记签到。该项目可实现多个用户同时预约、签到,只需要在 info.py
填上多个用户信息即可。
├── README.md
├── json # 保存每个房间和座位的信息
│ ├── 101.json
│ ├── 202.json
│ ├── 203.json
│ ├── 204.json
│ ├── 205.json
│ ├── ........
├── libs
│ ├── __init__.py
│ ├── info.py # 保存个人信息
│ ├── rsa.py # RSA 加密算法的实现
│ └── source.py # 核心代码
├── requirements.txt # 依赖项
├── reserve.py # 预约
└── sign.py # 签到
下面的教程部署在服务器或云函数, 如需用 Github Action 部署, 请查看
-
克隆或者下载代码
-
安装依赖
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
-
修改
libs\info.py
文件,填上自己的学号、密码以及要预约的座位号 -
运行
reserve.py
即可预约,运行sign.py
可签到python reserve.py
python sign.py
- 一楼研讨间的预约和签到
- 五楼研讨间的预约和签到
- 能自动签到对应预约的座位
- 摈弃 json 文件, 座位 ID 根据请求查询
- 用户可自定义预约时间
- 处理教务系统要求改密码问题
为了实现自动预约 + 自动签到, 需要每天定时执行预约和签到脚本。可以部署到自己的电脑、服务器、云函数、GitHub Actions。(若要部署到自己的电脑, 则需要一直开机)
reserve.py
预约脚本可于每天早上 6:15:40 执行, 因为系统每天 6:15 开放预约sign.py
签到脚本可于预约时间的1分钟后执行, 比如预约 8:30~12:30, 可 8:31 执行签到
-
部署到 Windows 的可以使用计划任务定时执行脚本 (自行百度)
-
部署到 Ubuntu/CentOS 服务器的可以使用
crontab
定时执行脚本 (自行百度) -
推荐部署到云函数(腾讯云函数、阿里云函数都行), 因为它们有免费额度, 相当于白嫖 这里以阿里云函数为例
-
打开阿里云官网, 注册阿里云账号
-
打开函数计算页面
-
点管理控制台
-
创建
两个函数
,分别用于预约和签到。- 创建函数的方式:使用内置运行时创建
- 函数名称:可以叫做
Reserve
和Sign
,随意 - 请求处理程序类型:处理 HTTP 请求
- 运行环境:Python 3.8 以上就行
- 代码上传方式:可以选择通过文件夹 或 zip 包上传代码,反正上传代码就行
- 执行超时时间:160 以上
- 请求处理程序: 分别是
reserve.main
、sign.main
(即执行 rserve.py 里的 main 函数和 sign.py 里的 main 函数) - 其余参数默认即可
-
点击打开终端,输入以下命令安装依赖项
-t .
: 表示将依赖安装置该目录下-r
: 指定对应的 requirements.txt 文件, 去安装这个文件里面的包
pip install -t . -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
-
配置触发器
-
代码上传后记得点击部署,也可以点一下测试函数看看能不能正常运行,只要有输出就说明正常,
不用管它的报错
-