高效智能自动选课:PKUAutoElective工具全攻略
PKUAutoElective是一款专为北京大学选课网补退选阶段设计的自动选课工具,支持本科生(含辅双)和研究生选课场景。该工具通过智能验证码识别技术与自动化操作流程,帮助用户在选课高峰期抢占课程名额,同时提供灵活的自定义规则系统满足个性化选课需求。无论是单账号精准选课还是多账号协同操作,都能通过简洁配置实现全程无人值守的选课体验。
如何理解PKUAutoElective的核心价值
💡 智能识别系统:集成专门训练的CNN(卷积神经网络)模型,实现99.16%的验证码自动识别准确率,彻底解决人工输入验证码的效率瓶颈。
🔍 全自动化流程:从登录验证到课程监控再到选课提交,全程无需人工干预,支持多设备同时登录选课系统而不冲突。
🛡️ 鲁棒性保障机制:内置完善的错误捕获与重试逻辑,面对网络波动、系统响应延迟等问题能自动恢复,确保选课过程稳定可靠。
⚙️ 灵活规则引擎:支持自定义互斥规则(避免重复选课)和延迟规则(智能判断选课时机),满足复杂选课策略需求。
如何准备PKUAutoElective运行环境
基础环境配置
首先确保系统已安装Python 3.6及以上版本(推荐3.6.8稳定版)。使用以下命令安装核心依赖包(采用国内镜像源加速下载):
# 安装基础依赖库
pip3 install requests lxml Pillow opencv-python numpy flask -i https://pypi.tuna.tsinghua.edu.cn/simple
PyTorch框架安装
访问PyTorch官方网站获取适配本地环境的安装命令,以下为CPU版本示例(根据实际硬件配置选择合适版本):
# 安装PyTorch核心组件(CPU版本示例)
pip3 install torch==1.8.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
项目获取与准备
通过Git工具克隆项目代码库到本地:
# 克隆项目仓库
git clone https://gitcode.com/gh_mirrors/pk/PKUAutoElective
如何配置并启动自动选课流程
配置文件创建与设置
- 进入项目根目录,复制示例配置文件创建个人配置:
# 复制配置模板
cd PKUAutoElective
cp config.sample.ini config.ini
- 使用文本编辑器打开
config.ini,重点配置以下核心部分:
- [user] 区块:填写学号(
username)和密码(password) - [course] 区块:通过
ids参数设置目标课程编号,多个课程用逗号分隔 - [elective] 区块:调整
interval参数设置选课请求间隔时间(建议3-5秒)
启动自动选课程序
完成配置后,在项目根目录执行以下命令启动程序:
# 启动主程序
python3 main.py
程序启动后将显示选课状态监控信息,包括当前课程余量、操作时间戳和验证码识别结果等关键信息。
如何实现高级选课策略
多身份并行选课方案
当需要同时为多个账号(如本人及亲友账号)选课,可通过创建多个配置文件实现并行操作:
# 为不同账号创建独立配置
cp config.ini config_studentA.ini
cp config.ini config_studentB.ini
# 分别启动多个选课进程
python3 main.py -c config_studentA.ini &
python3 main.py -c config_studentB.ini &
智能选课规则配置
场景1:核心课程优先策略
当同时监控多门课程且存在优先级时,可通过互斥规则确保选到高优先级课程后自动停止低优先级课程监控。在config.ini中添加:
[rule]
mutex_courses = 1001,1002,1003 # 这三门课程仅选其一
场景2:冷门课程延迟策略
对于热门课程与冷门备选课程的组合,可设置冷门课程的触发阈值:
[rule]
delay_course_1004 = 5 # 课程1004仅当余量≤5时尝试选课
如何拓展PKUAutoElective生态应用
验证码识别模型优化
项目内置的CNN模型(位于model/cnn.20210311.1.pt)已针对北大选课网验证码进行专项训练。如需进一步提升识别率,可通过以下途径:
- 收集新的验证码样本到
test/data/目录 - 使用
test/test_cnn.py脚本进行模型微调 - 替换模型文件并更新
config.ini中的模型路径配置
监控与告警系统集成
通过项目提供的monitor.py模块,可实现选课状态的实时监控:
# 启动监控服务
python3 autoelective/monitor.py
监控服务默认在本地5000端口提供Web界面,可查看历史选课记录、成功率统计和系统状态诊断信息。
容器化部署方案
项目提供Docker配置文件(位于Docker/目录),支持容器化部署:
# 构建镜像
docker build -f Docker/latest.Dockerfile -t pku-auto-elective .
# 运行容器(映射配置文件)
docker run -v $(pwd)/config.ini:/app/config.ini pku-auto-elective
这种方式可确保运行环境一致性,特别适合在服务器或云平台长期运行。
通过以上指南,你已掌握PKUAutoElective工具的核心使用方法与高级应用技巧。无论是常规选课还是复杂场景下的策略性选课,该工具都能显著提升选课效率与成功率,让你在激烈的选课竞争中占据优势。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust099- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00