中国科学院大学选课助手
这是一个针对中国科学院大学(UCAS)选课系统的自动化选课脚本,旨在帮助学生在选课高峰期提高选课成功率。
- requests: 用于发送HTTP请求与选课系统交互
- ddddocr: OCR识别库,用于自动识别验证码
- re: 正则表达式库,用于解析HTML页面内容
- time: 时间控制,实现请求间隔和延时
- random: 生成随机延时,避免请求过于频繁
- 通过POST请求查询课程状态
- 使用正则表达式解析HTML响应
- 返回三种状态:
-1: 已选该课程0: 课程已满match对象: 课程可选,包含选课参数
- 调用UCAS验证码API获取验证码图片
- 使用ddddocr库进行OCR识别
- 自动重试直到获取有效的5位数字验证码
- 构建完整的选课POST请求
- 包含验证码、院系ID列表、课程ID等必要参数
- 发送选课请求并处理响应
- 循环检查课程状态
- 当课程可选时立即执行选课
- 包含智能延时机制,避免频繁请求
- 支持批量选课功能
- 按顺序处理课程列表
- 课程间设置随机延时
- 持续监控已满课程的退课情况
- 发现空位立即抢课
- 适用于热门课程的退课抢课场景
- 智能延时: 使用随机延时避免被系统检测
- 验证码自动识别: 无需手动输入验证码
- 状态监控: 实时监控课程状态变化
- 批量处理: 支持多课程同时选课
- 安装依赖:
pip install requests ddddocr- 配置个人信息:
- 修改
session_id为你的实际会话ID - 设置目标课程代码列表
# 单课程选课
auto_select("课程代码")
# 多课程选课
course_code_list = ["课程代码1", "课程代码2"]
auto_select_multiple(course_code_list)
# 蹲退课模式
course_robber("课程代码")本脚本仅供学习和技术研究目的使用,使用者需自行承担使用风险。
- 违反校规风险: 使用自动化脚本可能违反学校相关规定,请仔细阅读UCAS的选课政策和学生手册
- 账号安全风险: 频繁的自动化请求可能导致账号被暂时或永久封禁
- 法律责任风险: 不当使用可能涉及违反相关法律法规
- 课程冲突风险: 脚本不检查课程时间冲突,请自行确认课程安排
- 谨慎使用: 仅在选课系统允许的范围内使用
- 适度频率: 避免过于频繁的请求,建议设置合理的延时
- 自行负责: 使用者需对使用后果负全部责任
- 遵守规则: 严格遵守学校和相关平台的使用规定
- 本脚本开发者不对使用该脚本造成的任何后果负责
- 使用者应自行评估风险并决定是否使用
- 建议在使用前咨询学校相关部门确认政策允许性
- 初始版本:实现基本选课功能
- 支持验证码自动识别
- 添加多课程和蹲退课模式
- 请确保网络连接稳定
- 建议在选课高峰期前测试脚本功能
- 定期检查脚本兼容性,选课系统可能更新