Skip to content

Releases: zhjcreator/fetch_lecture

v3.2 验证码识别修复 (2026/05/07)

07 May 08:07

Choose a tag to compare

v3.2 验证码识别修复 (2026/05/07)

Close #34 — 抢课一直报"非法参数"

修复内容

  • 根因修复:自定义 model.onnx 与当前验证码格式不兼容(预测结果全为空格),改用 ddddocr 默认内置模型
  • 验证码缓存修复:空验证码不再被缓存,避免一直发空 vcode 导致服务器拒绝
  • 请求拦截:验证码为空时提前跳过,不发送无效请求
  • 计数器修复:修复 app.py 中 continue 作用于内层 for 循环的 bug
  • Referer 安全:保存 ehall 完整页面 URL(含 gid_ 参数)作为后续请求 Referer
  • 清理旧文件:删除 10.9MB 的 model.onnx 和 charsets.json

下载

v2.8 油猴脚本版 (Greasemonkey)

17 Apr 07:52

Choose a tag to compare

v2.8 油猴脚本 (2026/04/17)

修复内容

  • 同步 GUI v3.1 brotli 修复:移除 Accept-Encoding: br(服务器返回 brotli 压缩数据但浏览器无法解压,导致 JSON 前导乱码)
  • 新增容错 JSON 解析 parseJSONSafe():自动跳过响应前导乱码字节,覆盖 5 个关键接口
  • 脚本版本从 v2.7 升级至 v2.8

修复的接口

  • fetchLecture(抢课请求)
  • getLectureList(讲座列表)
  • appiontCheck(预约前置检查)
  • queryMyActivityList(已预约列表查询)
  • keepAlive(保活请求)

下载

  • fetch_lecture-greasemonkey.zip — 油猴脚本最新版本

v3.1 图形界面版 (GUI) - macOS arm64

16 Apr 13:45

Choose a tag to compare

v3.1 稳定性修复 (2026/04/16)

修复内容

  • 根因修复:移除 Accept-Encoding: br,解决 brotli 压缩导致 JSON 解析失败的问题
  • 容错解析:新增 _parse_json() 自动跳过响应前导乱码字节
  • Session 隔离:已预约讲座刷新与抢课循环使用独立 HTTP session,互不干扰
  • 验证码缓存:5 秒内复用识别结果,减少冗余 OCR 请求
  • 文件日志logs/bookings_refresh.log(512KB 自动轮转),记录请求详情与诊断信息
  • 修复登录后 session tuple 未解包的 bug
  • 修复服务器繁忙时已预约列表被意外清空
  • 修复验证码接口异常未处理

下载

  • fetch_lecture_gui-macos-arm64.zip — GUI 图形界面版
  • fetch_lecture_cli-macos-arm64.zip — 命令行版

v3.0 图形界面版 (GUI) - macOS arm64

09 Apr 12:16

Choose a tag to compare

GUI 图形界面版 v3.0

适用人群

不熟悉命令行、希望图形化操作的同学;校园网或 VPN 环境下使用。

功能特色

  • 多账号管理(账号信息保存在本地)
  • 卡片式讲座列表,支持右键查看讲座详情
  • 定时抢课 + 实时日志
  • 右侧显示已预约讲座卡片(支持打卡状态)
  • 非可信设备手机验证码支持

使用说明

  1. 下载 fetch_lecture-gui-macos-arm64.zip 并解压
  2. 首次运行:chmod +x fetch_lecture_gui
  3. 双击运行,或右键 → 打开(绕过 Gatekeeper)

注意事项

  • 校外用户:需连接 SEU VPN(WebVPN 或 EasyConnect)后使用

从源码运行(跨平台)

git clone https://github.com/zhjcreator/fetch_lecture.git
cd fetch_lecture
uv venv && uv pip install -e . && uv pip install PyQt6
python gui/app.py

v3.0 油猴脚本版 (Greasemonkey) + OCR API - macOS arm64

09 Apr 12:21

Choose a tag to compare

油猴脚本版 v3.0(校外推荐)

适用人群

校外无 VPN 的同学首选。运行在浏览器中,借助已登录的 Cookie 直接发请求,无需 VPN。

压缩包内容

文件 说明
greasemonkey.js 油猴脚本(安装到浏览器)
ddddocr_api 本地 OCR 验证码识别服务(macOS arm64 可执行文件)

使用步骤

第一步:启动本地 OCR 服务

chmod +x ddddocr_api
./ddddocr_api

服务监听在 http://127.0.0.1:5000,保持运行。

第二步:安装油猴插件

浏览器 安装地址
Chrome / Edge Tampermonkey - Chrome Web Store
Firefox Tampermonkey - Firefox Add-ons

第三步:安装脚本

greasemonkey.js 全部内容复制到油猴编辑器,保存即可。

第四步:开始使用

打开 研究生讲座预约系统 并登录,页面右上角出现控制面板。

注意事项

  • macOS 可能提示「无法验证开发者」,右键 → 打开 即可
  • 其他平台从源码启动:uv pip install flask flask-cors ddddocr pillow && python ddddocr_api.py

v3.0 命令行版 (CLI) - macOS arm64

09 Apr 12:16

Choose a tag to compare

命令行版本 v3.0

适用人群

熟悉命令行、在校园网或 VPN 环境下使用的同学。

使用说明

  1. 下载 fetch_lecture-cli-macos-arm64.zip 并解压
  2. macOS 首次运行需授予执行权限:chmod +x fetch_lecture
  3. 运行:./fetch_lecture
  4. 按提示输入学号、密码,选择目标讲座后自动开始抢课

注意事项

  • 校外用户:需连接 SEU VPN(WebVPN 或 EasyConnect)后使用
  • 本版本为 macOS arm64(Apple Silicon)编译版

从源码运行(跨平台)

git clone https://github.com/zhjcreator/fetch_lecture.git
cd fetch_lecture
uv venv && uv pip install -e .
python main.py

v0.0.3

27 Oct 11:27

Choose a tag to compare

尝试过防脚本

DDDDocr api v0.1

16 Oct 11:54

Choose a tag to compare

配合油猴脚本使用的ocr api,端口5000

v0.0.2

09 Oct 11:48

Choose a tag to compare

过二次验证

v0.0.1

29 Apr 11:13

Choose a tag to compare

有不少bug,随缘修。