东南大学讲座自动预约脚本,基于 ddddocr 实现完全免费的本地验证码识别。
本项目参考了 shen142857/seu-lecture-reserve,将原项目中需要付费充值的超级鹰验证码服务替换为 ddddocr 本地识别方案,实现 零费用 自动预约。
| 原项目 (seu-lecture-reserve) | 本项目 (seu-lecture-revenge) | |
|---|---|---|
| 验证码识别 | 超级鹰(需注册 + 充值) | ddddocr(本地运行,完全免费) |
| 配置方式 | 修改源代码 | 独立 config.json 文件 |
| 依赖管理 | pip | uv、pip |
| Python 版本 | - | >= 3.10, <= 3.12 |
| 多讲座预约 | 不支持 | 支持,按顺序依次预约 |
- 定时自动预约讲座(精确到秒)
- 支持配置多个目标讲座,按顺序依次预约
- 自动识别图片验证码(内建 ddddocr,无需额外服务)
- 智能处理预约响应:成功/满员自动跳下一个,验证码错误立即重试,频率限制等待1秒重试
- Cookie 登录状态自动保活(每 30 秒)
- 配置与代码分离,无需修改源文件
- Python >= 3.10, <= 3.12
- uv(推荐)或 pip
git clone https://github.com/candyb0x/SEU-Lecture-Revenge.git
cd SEU-Lecture-Revenge方式一:使用 uv(推荐)
uv sync方式二:使用 pip
pip install -r requirements.txt编辑项目根目录下的 config.json:
{
"cookie": "你的SEU-Ehall Cookie",
"lecture_keys": [
"第一个目标讲座名称关键词",
"第二个目标讲座名称关键词"
],
"schedule": {
"hour": 19,
"minute": 0,
"second": 0
}
}| 字段 | 说明 |
|---|---|
cookie |
SEU-Ehall 登录后的完整 Cookie 字符串 |
lecture_keys |
目标讲座名称关键词列表,按数组顺序依次预约 |
schedule.hour |
定时预约的小时(24 小时制) |
schedule.minute |
定时预约的分钟 |
schedule.second |
定时预约的秒 |
- 浏览器访问 讲座预约页面 并登录。
- 按
F12打开开发者工具,切换到 Network(网络) 标签。 - 刷新页面,在请求列表中点击任意一个请求。
- 在 Request Headers 中找到
Cookie字段,复制其完整值填入config.json。
注意: Cookie 有效期有限,请确保在运行脚本前重新获取。
在讲座预约页面中找到目标讲座,复制标题中的部分文字作为关键词。关键词越具体越好,避免匹配到多个讲座。可配置多个关键词,脚本将按顺序依次预约。
使用 uv:
uv run main.py使用 Python:
python main.py程序启动后会依次执行以下操作:
- 初始化 ddddocr 验证码识别引擎
- 根据关键词列表依次搜索目标讲座
- 验证 Cookie 有效性(保活测试)
- 进入定时调度,每 30 秒自动保活,到达设定时间后按顺序预约讲座
- 所有讲座处理完毕后自动退出程序
每个讲座的预约策略:
- 预约成功 → 继续预约下一个
- 讲座已满 → 跳过,继续预约下一个
- 时间冲突 → 跳过,继续预约下一个
- 验证码错误 → 立即重新获取验证码并重试
- 请求过于频繁 → 等待 1 秒后重试
按 Ctrl+C 可随时安全退出。
seu-lecture-revenge/
├── main.py # 主程序:验证码识别、定时调度、讲座搜索与预约
├── config.json # 用户配置(Cookie、讲座关键词列表、定时时间)
├── image.png # 运行效果截图
├── pyproject.toml # 项目元数据与依赖声明
├── requirements.txt # pip 依赖清单
├── uv.lock # uv 依赖锁定文件
└── README.md
- shen142857/seu-lecture-reserve — 原始项目,提供了讲座预约的核心逻辑
- sml2h3/ddddocr — 带带弟弟 OCR,免费开源的验证码识别库
本项目仅供学习交流使用,请勿用于任何违规操作。使用本脚本所产生的一切后果由使用者自行承担。
