PKUAutoElective 项目使用教程
PKUAutoElective 北大选课网补退选阶段自动选课小工具 项目地址: https://gitcode.com/gh_mirrors/pk/PKUAutoElective
1. 项目介绍
PKUAutoElective 是一个用于北京大学选课网补退选阶段自动选课的小工具。该项目支持本科生(含辅双)和研究生选课,具有以下特点:
- 自动操作:运行过程中不需要进行任何人为操作,且支持同时通过其他设备、IP 访问选课网。
- 验证码识别:利用专门训练的 CNN 模型自动识别验证码,识别准确率为 99.16%。
- 错误捕获机制:具有较为完善的错误捕获机制,程序鲁棒性好。
- 多进程支持:支持多进程下的多账号/多身份选课。
- 自定义选课规则:可以自定义额外的选课规则,目前支持互斥规则和延迟规则。
2. 项目快速启动
2.1 环境准备
- Python 3:该项目至少需要 Python 3,可以从 Python 官网 下载并安装(项目开发环境为 Python 3.6.8)。
- 依赖包:安装 PyTorch 外的依赖包。
# 安装依赖包(使用清华镜像源以加快下载速度)
pip3 install requests lxml Pillow opencv-python numpy flask -i https://pypi.tuna.tsinghua.edu.cn/simple
- PyTorch:从 PyTorch 官网 中选择合适的条件获得下载命令,然后复制粘贴到命令行中运行即可下载安装。
# 示例命令
pip3 install torch==1.8.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
2.2 下载项目
# 使用 git 命令行下载项目
git clone https://github.com/zhongxinghong/PKUAutoElective.git
2.3 配置文件
- 复制
config.sample.ini
文件,所得的新文件重命名为config.ini
。 - 用文本编辑器打开
config.ini
,配置[user]
和[course]
部分。
2.4 启动项目
# 进入项目根目录
cd PKUAutoElective
# 运行项目
python3 main.py
3. 应用案例和最佳实践
3.1 多账号选课
如果你有多个账号需要选课,可以为每一个账号单独配置一个 config.ini
,然后以不同的配置文件运行多个进程,即可实现多账号同时刷课。
# 示例命令
python3 main.py -c /path/to/config_alice.ini
python3 main.py -c /path/to/config_bob.ini
3.2 自定义选课规则
- 互斥规则:如果你有多个备选方案,它们在选课规则上并不矛盾,可以同时被选上,但希望在选上其中之一时就不再考虑选另一门,可以定义这些课程为互斥的。
- 延迟规则:如果你有一门课有多个班可以选,但希望选择某个比较火爆的班,而另外一个冷门的班仍然有很多的名额,可以为冷门班定义一个延迟规则,延迟规则使得触发冷门班选课请求的提交必须要满足冷门班的当前空余人数小于等于某个特定的阈值。
4. 典型生态项目
- PKUElectiveCaptcha2021Spring:该项目利用专门训练的 CNN 模型自动识别验证码,识别准确率为 99.16%。
- PKUElective2022Spring:2022 年春季学期的选课工具,基于 PKUAutoElective 进行了改进和优化。
通过以上步骤,你可以快速启动并使用 PKUAutoElective 项目,实现自动选课功能。
PKUAutoElective 北大选课网补退选阶段自动选课小工具 项目地址: https://gitcode.com/gh_mirrors/pk/PKUAutoElective
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考