PKUAutoElective常见问题解答:从安装到运行的全方位解决方案

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.txt

1.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_idpassword是否正确
  • 双学位账号设置:如果是双学位账号,需将dual_degree设为true并正确设置identity
  • 网络问题:检查网络连接,或尝试修改iaaa_client_timeout参数(默认30秒)

4.2 选课循环异常

  • 课程配置错误:确保课程的nameclassschool与选课系统完全一致
  • 互斥规则冲突:检查[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.py

6.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),仅供参考