No description
- JavaScript 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| README.md | ||
| yuketang-downloader.js | ||
雨课堂课件下载器
批量下载长江雨课堂课件、课堂习题、课后作业,保存为 PDF。
使用方式
- 打开课程页面 → 点击 学习日志 标签
- 按
F12打开开发者工具 → 控制台 (Console) - 粘贴脚本回车运行,自动扫描全部课件、习题和作业,控制台输出扫描进度
- 扫描完成后显示各类资源总数和页数/题数,通过对话框选择要下载的类型(留空=全部,支持
1,2,3/1-3,Esc 取消) - 选择类型后列出具体项目,再次输入序号选择要下载的项目(留空=全部,支持
1,3,5/1-5/1 3 5,Esc 取消跳过该类)
输出文件
| 模式 | 文件名 | 说明 |
|---|---|---|
| 课件 | {课程名}_课件.zip |
内含每节课独立 PDF(一课多个课件合并为一个 PDF) |
| 习题 | {课程名}_习题.pdf |
所有含有习题的幻灯片合并 |
| 作业 | {课程名}_课后作业.pdf |
线上作业 DOM 截图合并 |
脚本说明
| 功能 | API | 说明 |
|---|---|---|
| 获取活动列表 | GET /v2/api/web/logs/learn/{id}?actype={type}&page={p}&offset=20&sort=-1 |
actype=-1=课堂, 15=作业 |
| 课件幻灯片 | GET /api/v3/classroom-report/student/ppt?lesson_id={id}&presentationId={pid} |
遍历所有 presentationId 合并 |
| 课件信息 | GET /api/v3/classroom-report/student/lesson-info?lesson_id={id} |
返回 presentationIds 列表 |
| 幻灯片比例 | GET /api/v3/lesson-summary/student/presentation?lesson_id={id}&presentation_id={pid} |
获取 width/height |
| 课程信息 | GET /v2/api/web/classrooms/{id}?role=5 |
获取课程名 |
| 作业截图 | html2canvas DOM 截图 | 保证像素精确 |
技术细节
- 课件/习题使用 API 封面图 → jsPDF → ZIP(按原始宽高比)
- 若一节课有多个课件(presentationIds 数组 > 1),自动合并所有可见幻灯片为同一 PDF
- 作业使用 html2canvas 1.5x 截图 → JPEG 0.85 质量 → A4 PDF
- 支持
studentLog、studentCards、student-lesson-report三种 URL 路径
注意事项
- 需在已登录的雨课堂网页版中运行
- 作业批量下载会逐个弹窗,请允许弹窗