当前位置: 首页 > news >正文

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

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

【免费下载链接】PKUAutoElective北大选课网补退选阶段自动选课小工具项目地址: https://gitcode.com/gh_mirrors/pk/PKUAutoElective

PKUAutoElective是一款专为北大选课网补退选阶段设计的自动选课工具,支持本科生和研究生选课,具备验证码自动识别、多账号管理和自定义选课规则等功能。本指南将详细介绍如何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.ini

2. 核心配置项说明

配置文件采用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

服务器监控配置

通过监视器功能远程查看选课状态:

  1. 修改[monitor]配置:
[monitor] host = 0.0.0.0 port = 7074
  1. 启动时添加-m参数:
$ python3 main.py -m
  1. 配置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池,每行一个条目,程序将优先使用自定义列表。

维护与更新建议

  1. 定期同步上游:保持与原项目的bug修复同步

    $ git remote add upstream https://gitcode.com/gh_mirrors/pk/PKUAutoElective $ git pull upstream main
  2. 版本控制:为重要修改创建分支,便于回溯

  3. 文档更新:修改代码后同步更新个人分支的README

  4. 社区交流:在原项目Issue中分享你的改进,帮助其他用户

通过以上步骤,你可以轻松fork并自定义PKUAutoElective项目,打造专属于自己的选课工具。记住合理设置刷新间隔,避免给服务器造成压力,祝大家都能选到心仪的课程!

【免费下载链接】PKUAutoElective北大选课网补退选阶段自动选课小工具项目地址: https://gitcode.com/gh_mirrors/pk/PKUAutoElective

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1228510/

相关文章:

  • yudao-cloud 微服务架构安全审计深度解析:风险识别与防护策略最佳实践
  • nvidia/esm2_t36_3B_UR50D伦理指南:AI蛋白质预测的安全与合规实践
  • 游戏发行预算怎么做?一套可执行的步骤、指标与复盘方法
  • Transform-precoded PUSCH DM-RS:两种 low-PAPR 序列、长度与端口 OCC
  • 如何快速实现渐进式图片加载:vue-progressive-image与Vue 3 Composition API的完美结合
  • 产业园厂房外墙工装,铝单板抗变形耐用优势突出
  • Socket.IO Redis Emitter安全指南:保护实时通信的5个关键措施
  • DIAMOND技术报告解读:深入理解语音修复模型的创新与突破
  • Context Note数据存储完全解析:你的笔记安全吗?
  • Agent Runtime 重构:从上下文存储到事件日志的范式迁移
  • 深入解析TI CPSW端口寄存器:从FIFO管理到QoS与PTP配置实战
  • 终极Windows字体设置指南:使用noMeiryoUI彻底解决系统字体显示问题
  • 酒店数据分析推荐系统
  • 鸿蒙 PC Markdown 编辑器模拟器验证:鸿蒙 2in1 上的桌面工作流
  • C++循环性能优化:从缓存友好到并行计算的实战指南
  • 大模型任务模板化:用/goal功能提升人机协作效率
  • PKUAutoElective常见问题解答:从安装到运行的全方位解决方案
  • 同样五百元价位,科美锐(Komery)PX3与这两款机型各自选择了什么
  • 专业级机器人仿真平台RoboTwin:构建生成式数字孪生的终极指南
  • 湖南GEO优化代理怎么选?长沙株洲湘潭AI获客推荐 - 红枫叶GEO优化公司
  • 如何用Genesis Plus GX重温世嘉经典游戏:免费开源模拟器终极指南
  • Jupyter Notebook打开报错
  • 密钥轮换最佳实践:使用gorilla/securecookie保障长期安全
  • 揭秘开源抖音TikTok数据采集神器:3个提升效率的智能方案
  • 华南赛区电磁门穿越挑战赛
  • Chain33区块链开发框架:7大技术挑战与模块化架构创新深度解析
  • 为什么选择Redlock?深入解析Redis分布式锁算法的优势与实现原理
  • 5步精通puNES模拟器:从安装到完美复古游戏体验的完整指南
  • Yarn Spinner for Unity与Unity UI集成:如何创建美观的对话界面
  • 深入解析TI AM263P PRU-ICSS UART与eCAP模块:硬实时通信与精准捕获