Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SEU Lecture Revenge

东南大学讲座自动预约脚本,基于 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

快速开始

1. 克隆项目

git clone https://github.com/candyb0x/SEU-Lecture-Revenge.git
cd SEU-Lecture-Revenge

2. 安装依赖

方式一:使用 uv(推荐)

uv sync

方式二:使用 pip

pip install -r requirements.txt

3. 配置

编辑项目根目录下的 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 定时预约的秒

如何获取 Cookie

  1. 浏览器访问 讲座预约页面 并登录。
  2. F12 打开开发者工具,切换到 Network(网络) 标签。
  3. 刷新页面,在请求列表中点击任意一个请求。
  4. 在 Request Headers 中找到 Cookie 字段,复制其完整值填入 config.json

注意: Cookie 有效期有限,请确保在运行脚本前重新获取。

如何确定讲座关键词

在讲座预约页面中找到目标讲座,复制标题中的部分文字作为关键词。关键词越具体越好,避免匹配到多个讲座。可配置多个关键词,脚本将按顺序依次预约。

4. 运行

使用 uv:

uv run main.py

使用 Python:

python main.py

程序启动后会依次执行以下操作:

  1. 初始化 ddddocr 验证码识别引擎
  2. 根据关键词列表依次搜索目标讲座
  3. 验证 Cookie 有效性(保活测试)
  4. 进入定时调度,每 30 秒自动保活,到达设定时间后按顺序预约讲座
  5. 所有讲座处理完毕后自动退出程序

每个讲座的预约策略:

  • 预约成功 → 继续预约下一个
  • 讲座已满 → 跳过,继续预约下一个
  • 时间冲突 → 跳过,继续预约下一个
  • 验证码错误 → 立即重新获取验证码并重试
  • 请求过于频繁 → 等待 1 秒后重试

Ctrl+C 可随时安全退出。

效果展示

运行效果

项目结构

seu-lecture-revenge/
├── main.py          # 主程序:验证码识别、定时调度、讲座搜索与预约
├── config.json      # 用户配置(Cookie、讲座关键词列表、定时时间)
├── image.png        # 运行效果截图
├── pyproject.toml   # 项目元数据与依赖声明
├── requirements.txt # pip 依赖清单
├── uv.lock          # uv 依赖锁定文件
└── README.md

致谢

免责声明

本项目仅供学习交流使用,请勿用于任何违规操作。使用本脚本所产生的一切后果由使用者自行承担。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages