Agent Skills
返回列表
📊

课程视频下载器

数据分析 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_b22a52ba/course-video-downloader。

技能介绍

要解决什么问题

多数网课平台的付费或登录视频只能在线观看:浏览器里播放流畅,想离线保存却很麻烦。手动逐个下载动辄几小时,通用下载工具又常被登录墙和动态加载的播放器挡在门外。这个技能的目标是跳过中间环节——不录屏,而是让浏览器像真人一样打开课程页面,拿到视频源文件的真实地址,再用 Python 直接下载。

它是如何工作的

核心流程分六步,全程由 Agent 驱动 browser 工具完成:

  1. 打开页面:接收课程链接后用 browser 导航打开
  2. 检测登录墙:分析页面快照中的"登录""请先登录"等文本或登录表单;命中时通过 browser.request_manual() 弹出浏览器交还控制权,等你手动登录完成后再继续
  3. 分析页面结构:定位章节列表、<video> 标签和 iframe 嵌入,必要时逐个点击展开折叠的章节
  4. 提取视频直链:按页面情况选择四种策略之一:

- video 标签的 src 直接为 mp4/webm/ogg
- 从 Network 请求或页面 JS 变量中找到 m3u8 地址
- 注入 XHR/Fetch 拦截器,捕获视频数据加载时的请求 URL
- 进入 iframe 的文档上下文提取

  1. 下载视频:m3u8 流用 ffmpeg 合并,普通直链用 Python 下载
  2. 批量处理:按目录顺序逐章节抓取,记录已下载列表,支持断点续传

下载文件统一保存到 output/course_videos/,命名格式为 {序号}_{章节标题}.mp4,同时生成 download_log.txt 记录每个文件的下载状态和失败原因。

适用边界与注意点

  • 无法录屏:浏览器自动化没有录屏能力,但直链下载画质更好、速度更快
  • DRM 加密无法绕过:blob URL 或 Widevine/PlayReady 加密流只能建议用 OBS 手动录屏
  • 防盗链:网易云课堂等平台需要正确的 Referer 和 Cookie 才能下载成功
  • 平台差异:腾讯课堂需要 cookie 鉴权,B站可用 BV 直链,超星学习通需进入 iframe 上下文,各家适配程度不同

使用场景

  • 下载付费网课视频:用户购买的腾讯课堂课程有登录墙和m3u8流,需绕过验证并下载直链,直链画质更好
  • 批量保存课程章节视频:某超星学习通课程有20个章节,需逐个进入章节页提取视频并断点续传,避免重复下载
  • 提取B站课程视频直链:用户想下载B站付费课程视频,技能通过解析BV号直链并直接下载,不依赖录屏工具
  • 下载iframe嵌入的课程视频:学堂在线课程视频嵌在iframe内,需进入iframe文档上下文提取真实视频地址

适合人员

  • 上网课的学生:购买平台课程后想离线观看,无录屏工具且需要画质清晰的视频文件
  • 整理课程资料的教育机构员工:需批量下载多个平台的课程视频,要求断点续传避免重复工作
  • 喜欢收藏网课的学习者:常收集超星、学堂在线等平台的课程,不同平台页面结构差异大
  • 研究课程内容的分析师:需要离线分析课程视频,要求获取原始文件而非录屏后的压缩视频