Releases: zhjcreator/fetch_lecture
Releases · zhjcreator/fetch_lecture
v3.2 验证码识别修复 (2026/05/07)
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
下载
- fetch_lecture_gui-macos-arm64.zip — GUI 图形界面版
- fetch_lecture_cli-macos-arm64.zip — 命令行版
- ddddocr_api-macos-arm64.zip — OCR API 服务
- fetch_lecture-greasemonkey.zip — 油猴脚本
v2.8 油猴脚本版 (Greasemonkey)
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
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
GUI 图形界面版 v3.0
适用人群
不熟悉命令行、希望图形化操作的同学;校园网或 VPN 环境下使用。
功能特色
- 多账号管理(账号信息保存在本地)
- 卡片式讲座列表,支持右键查看讲座详情
- 定时抢课 + 实时日志
- 右侧显示已预约讲座卡片(支持打卡状态)
- 非可信设备手机验证码支持
使用说明
- 下载
fetch_lecture-gui-macos-arm64.zip并解压 - 首次运行:
chmod +x fetch_lecture_gui - 双击运行,或右键 → 打开(绕过 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.pyv3.0 油猴脚本版 (Greasemonkey) + OCR API - macOS arm64
油猴脚本版 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
命令行版本 v3.0
适用人群
熟悉命令行、在校园网或 VPN 环境下使用的同学。
使用说明
- 下载
fetch_lecture-cli-macos-arm64.zip并解压 - macOS 首次运行需授予执行权限:
chmod +x fetch_lecture - 运行:
./fetch_lecture - 按提示输入学号、密码,选择目标讲座后自动开始抢课
注意事项
- 校外用户:需连接 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.pyv0.0.3
尝试过防脚本
DDDDocr api v0.1
配合油猴脚本使用的ocr api,端口5000
v0.0.2
过二次验证
v0.0.1
有不少bug,随缘修。