Bruuuuuuce / PKUAutoSubmit

PKU一键出入校备案小工具
Apache License 2.0
177 stars 272 forks source link

PKUAutoSubmit

PKU一键出入校备案小工具 v3.2 (2021.11.15)

听闻近期由于疫情原因恢复了报备制度,然而由于作者已毕业离校,无法访问完整的 portal 功能进行测试及维护。往后的更新基本仅来源于在校学生的 PR 并无法进行完整测试,建议 fork 后根据自身情况参考 issue 进行完善

已知问题

感谢同学们的支持,祝大家一切顺利,学业有成!

为作者的第一个 selenium 练手小项目,完善程度较低,欢迎任意类型的使用与开发改进

说明

安装与需求

Python 3

本项目需要 Python 3,可以从Python 官网下载安装

本项目采用 Python 3.7.4 开发,由于含有 f-string ,请至少使用 Python 3.6 及以上版本,建议使用 Python 3.7 及以上版本

Packages

selenium

采用如下命令安装 selenium,支持 2.48.0 及以上版本(注意最新版本不支持 PhantomJS):

pip3 install selenium==2.48.0

然后就没了。惊不惊喜?意不意外?

基本用法

  1. config.sample.ini 文件重命名为 config.ini ,请不要新建文件,不然自己搞定编码问题

  2. 用文本编辑器(建议代码编辑器)打开 config.ini 文件

  3. 配置 [login][common][out][in][capture][wechat] 这几个 Section 下的变量,在 config.ini 文件内有详细注释

  4. 若需要多人同时填报,可将 config.ini 文件复制若干份,分别重命名为 config+序号.ini 例如 config1.ini, config2.ini...并配置对应变量

    Note: 序号仅作匹配用,具体数值不重要,但是非法命名格式可能导致检测失败

  5. 进入项目根目录,以命令 python main.py 运行主程序

    • 亦可双击 run.bat 运行(仅限 Windows 系统)
    • 亦可用代码编辑器打开 main.py 并运行(并不推荐)

定时运行

Windows

本项目中的 autoRun.bat 文件可提供在静默免打扰情况下运行程序的选择,配合 Windows 任务计划管理可实现定期自动填报,具体请参考Win10下定时启动程序或脚本

mac OS

进入项目根目录,以命令 ./macAutoRun.sh 执行 macAutoRun.sh 脚本即可,可设定或取消定时运行

Linux

使用 Linux 系统的小伙伴们想必有一定的 shell 基础,那大佬们就自行用 crontab 设置吧~

Note: 静默运行的弊端为无法看到任何报错信息,若程序运行有错误,使用者很难得知。故建议采用定时静默运行时,设置微信推送,在移动端即可查看到备案成功信息。或设置备案历史截图功能并定期查看截图(似乎出现了问题,极不推荐)

利用 GitHub Actions 自动运行

fork 本仓库后,在 config.sample.ini 中修改除学号密码以外的参数

然后在自己仓库的 settings->secrets->New repository secret 中新建 Name 为 STUDENTNUM, Value 为学号;Name 为 passwd,Value为密码

默认每天晚上0点起每四个小时跑一次,可能会运行失败

微信推送

本项目支持基于Server酱的微信推送功能,仅需登录并扫码绑定,之后将获取到的 SCKEY 填入 config.ini 文件即可

Note: 因微信将于4月底下线模板消息功能,届时推送功能也将同步更新为Server酱-Turbo。所以有微信推送需求的小伙伴们可以提前做好准备,并关注本项目的未来版本

补充说明

责任须知

证书

Apache License 2.0

版本历史

version 3.2

version 3.1

version 3.0

version 2.3

version 2.1

version 2.0

version 1.9.1

version 1.9

version 1.1

version 1.0