No description
  • JavaScript 100%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-07 21:24:39 +08:00
README.md refactor: 一键扫描全部资源,两级选择(类型→项目),并行下载幻灯片 2026-07-07 21:24:39 +08:00
yuketang-downloader.js refactor: 一键扫描全部资源,两级选择(类型→项目),并行下载幻灯片 2026-07-07 21:24:39 +08:00

雨课堂课件下载器

批量下载长江雨课堂课件、课堂习题、课后作业,保存为 PDF。

使用方式

  1. 打开课程页面 → 点击 学习日志 标签
  2. F12 打开开发者工具 → 控制台 (Console)
  3. 粘贴脚本回车运行,自动扫描全部课件、习题和作业,控制台输出扫描进度
  4. 扫描完成后显示各类资源总数和页数/题数,通过对话框选择要下载的类型(留空=全部,支持 1,2,3 / 1-3Esc 取消)
  5. 选择类型后列出具体项目,再次输入序号选择要下载的项目(留空=全部,支持 1,3,5 / 1-5 / 1 3 5Esc 取消跳过该类)

输出文件

模式 文件名 说明
课件 {课程名}_课件.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
  • 支持 studentLogstudentCardsstudent-lesson-report 三种 URL 路径

注意事项

  • 需在已登录的雨课堂网页版中运行
  • 作业批量下载会逐个弹窗,请允许弹窗