PKUAutoElective项目维护指南:如何fork并自定义你的选课工具

PKUAutoElective项目维护指南:如何fork并自定义你的选课工具
PKUAutoElective项目维护指南如何fork并自定义你的选课工具【免费下载链接】PKUAutoElective北大选课网补退选阶段自动选课小工具项目地址: https://gitcode.com/gh_mirrors/pk/PKUAutoElectivePKUAutoElective是一款专为北大选课网补退选阶段设计的自动选课工具支持本科生和研究生选课具备验证码自动识别、多账号管理和自定义选课规则等功能。本指南将详细介绍如何fork项目并根据个人需求进行定制让你轻松掌握个性化选课工具的维护技巧。为什么需要Fork项目原项目作者已毕业停更虽然项目不会被归档但不再接受PR。如果你需要添加新功能、修复bug或适配选课系统更新fork一个属于自己的分支是最佳选择。通过自定义配置和代码修改你可以打造更符合个人选课习惯的工具版本。准备工作Fork与Clone仓库1. Fork项目仓库访问项目页面点击右上角的Fork按钮创建个人副本。这将在你的账号下生成一个独立的项目分支所有修改都将保存在这里。2. 克隆到本地使用以下命令将fork后的仓库克隆到本地$ git clone https://gitcode.com/gh_mirrors/pk/PKUAutoElective基础自定义配置文件修改1. 创建个性化配置复制示例配置文件生成个人配置$ cp config.sample.ini config.ini2. 核心配置项说明配置文件采用INI格式主要包含以下关键部分[user]设置学号(student_id)、密码和登录身份[course]定义待选课程列表及优先级[client]调整刷新间隔(refresh_interval)和会话池大小[mutex]/[delay]配置高级选课规则⚠️ 注意不要使用记事本编辑配置文件建议使用VSCode等专业编辑器以确保UTF-8编码格式。高级自定义选课规则配置互斥规则设置当你需要在多门备选课程中只选其一如不同院系的同一门课可以通过互斥规则实现[mutex] # 格式课程组ID 课程1ID,课程2ID,... group1 00101,00102 group2 00203,00204优先级高的课程会被优先提交确保你选到更心仪的课程。延迟规则配置对于作为备选的课程可以设置延迟规则仅当名额紧张时才提交选课请求[delay] # 格式课程ID 阈值 00305 10当课程剩余名额≤10时程序才会尝试选课帮助你平衡热门课程和保底课程的选择策略。验证码识别模块测试与优化项目内置CNN模型用于验证码自动识别位于model/cnn.20210311.1.pt。你可以通过以下命令测试识别功能$ cd test/ $ python3 test_cnn.py测试将使用test/data/目录下的样本图片如PKUAutoElective验证码识别样本图片如果识别准确率下降可能需要重新训练模型或更新图像处理逻辑。多进程与监视器配置多账号/多页面选课创建多个配置文件实现多进程选课$ mkdir config $ cp config.ini config/config.alice.ini $ cp config.ini config/config.bob.ini分别启动进程$ python3 main.py -c config/config.alice.ini $ python3 main.py -c config/config.bob.ini服务器监控配置通过监视器功能远程查看选课状态修改[monitor]配置[monitor] host 0.0.0.0 port 7074启动时添加-m参数$ python3 main.py -m配置Nginx反向代理可选实现外网访问监控页面。常见问题解决配置文件编码问题如果遇到编码错误删除现有config.ini使用VSCode重新创建并以无BOM的UTF-8格式保存。会话超时处理若频繁出现会话超时错误尝试调整以下参数[client] elective_client_max_life 300 login_loop_interval 60自定义User-Agent创建user_agents.user.txt文件定义自定义User-Agent池每行一个条目程序将优先使用自定义列表。维护与更新建议定期同步上游保持与原项目的bug修复同步$ git remote add upstream https://gitcode.com/gh_mirrors/pk/PKUAutoElective $ git pull upstream main版本控制为重要修改创建分支便于回溯文档更新修改代码后同步更新个人分支的README社区交流在原项目Issue中分享你的改进帮助其他用户通过以上步骤你可以轻松fork并自定义PKUAutoElective项目打造专属于自己的选课工具。记住合理设置刷新间隔避免给服务器造成压力祝大家都能选到心仪的课程【免费下载链接】PKUAutoElective北大选课网补退选阶段自动选课小工具项目地址: https://gitcode.com/gh_mirrors/pk/PKUAutoElective创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考