PKUAutoElective常见问题解答:从安装到运行的全方位解决方案
【免费下载链接】PKUAutoElective北大选课网补退选阶段自动选课小工具项目地址: https://gitcode.com/gh_mirrors/pk/PKUAutoElective
PKUAutoElective是一款专为北京大学学生设计的补退选阶段自动选课小工具,能够帮助用户在选课高峰期高效抢课。本文将解答从安装配置到日常使用中的常见问题,让你轻松掌握这款选课神器的使用方法。
一、安装准备:快速搭建运行环境
1.1 必备环境要求
使用PKUAutoElective前,需确保你的系统已安装Python环境。推荐使用Python 3.6及以上版本,以保证所有依赖库正常运行。
1.2 依赖库安装步骤
项目所需的依赖库已在requirements.txt中列出,主要包括:
- lxml==4.3.0:用于HTML解析
- requests==2.22.0:处理网络请求
- numpy==1.18.2:支持验证码识别的数值计算
- opencv-python==4.4.0.42:图像处理库
- torch==1.8.0+cpu:深度学习框架,用于验证码识别
安装命令:
pip install -r requirements.txt1.3 项目获取方法
通过以下命令克隆项目到本地:
git clone https://gitcode.com/gh_mirrors/pk/PKUAutoElective二、配置文件:正确填写选课信息
2.1 配置文件模板位置
项目提供了配置文件模板config.sample.ini,使用前需将其复制为config.ini并进行个性化设置。
2.2 核心配置项说明
在config.ini中,需要重点配置以下内容:
用户信息部分:
[user] student_id = 1x000xxxxx # 你的学号 password = xxxxxxxx # 你的选课系统密码 dual_degree = false # 是否为双学位账号 identity = bzx # 双学位账号登录身份,"bzx"为主修,"bfx"为辅双选课参数部分:
[client] refresh_interval = 8 # 每次循环后的暂停时间(秒) random_deviation = 0.2 # 时间偏移量,实际间隔为8±20%秒 supply_cancel_page = 1 # 待刷课程所在页数2.3 课程信息配置示例
添加需要抢的课程信息:
[course:math_3] name = 集合论与图论 class = 3 school = 信息科学技术学院三、验证码识别:自动处理验证难题
3.1 验证码识别原理
PKUAutoElective通过深度学习模型自动识别选课系统的验证码,项目中已包含预训练模型model/cnn.20210311.1.pt。
3.2 验证码样本示例
系统使用的验证码为字符型图片,以下是项目测试数据中的示例:
这些验证码图片分辨率为130x52,包含不同的干扰点和字符样式,系统能够有效识别这些复杂的验证码。
四、常见错误:快速定位与解决方法
4.1 登录失败问题
- 检查账号密码:确认config.ini中的
student_id和password是否正确 - 双学位账号设置:如果是双学位账号,需将
dual_degree设为true并正确设置identity - 网络问题:检查网络连接,或尝试修改
iaaa_client_timeout参数(默认30秒)
4.2 选课循环异常
- 课程配置错误:确保课程的
name、class和school与选课系统完全一致 - 互斥规则冲突:检查[mutex]配置,避免同一互斥组内的课程同时被设置
- 请求频率问题:适当增大
refresh_interval,避免因请求过于频繁被系统限制
4.3 验证码识别失败
- 模型文件缺失:确认model/cnn.20210311.1.pt文件存在且未损坏
- 依赖库版本:确保torch和opencv-python版本与requirements.txt中指定的一致
五、高级功能:提升抢课成功率
5.1 互斥规则设置
当多门课程存在冲突时,可通过互斥规则避免重复选课:
[mutex:math_group] courses = math_1,math_2,math_3 # 多个课程ID用逗号分隔同一互斥组内的课程,一旦有一门被选上,其他课程将自动被忽略。
5.2 延迟选课配置
对于热门课程,可设置延迟规则,当剩余名额较少时才触发抢课:
[delay:cs_course] course = cs_101 # 课程ID threshold = 5 # 剩余名额阈值5.3 调试模式开启
如需排查问题,可开启调试模式:
[client] debug_print_request = true # 打印请求细节 debug_dump_request = true # 记录重要接口请求日志六、运行与监控:实时掌握选课状态
6.1 启动命令
在项目根目录执行以下命令启动自动选课:
python main.py6.2 监控界面访问
系统内置监控功能,默认地址为http://127.0.0.1:7074,可在config.ini的[monitor]部分修改:
[monitor] host = 127.0.0.1 # 监控服务地址 port = 7074 # 监控服务端口6.3 日志查看
运行过程中的日志信息会实时输出到控制台,重要操作也会记录到本地日志文件,便于追踪选课情况。
通过以上解答,相信你已经掌握了PKUAutoElective的使用方法。祝大家都能顺利选到心仪的课程!如有其他问题,可查阅项目文档或提交issue反馈。
【免费下载链接】PKUAutoElective北大选课网补退选阶段自动选课小工具项目地址: https://gitcode.com/gh_mirrors/pk/PKUAutoElective
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考