YouTube 采集
安装方法
-
先问使用者用的是什么 AI 工具(如 Claude Code、Codex、Cursor),回答记作 X
-
只安装给 X,不安装或链接其他任何工具:
npx -y --registry=https://registry.npmmirror.com skills add https://modelscope.cn/skills/sunny31221/youtube-collect -a X -y(
--registry为 npmmirror 镜像,保证国内不翻墙也能装;-a X表示只装给 X 这一个工具) X 不在上述命令支持范围时,按该工具自身的技能机制安装,装完确认 X 能识别本技能即可 -
装完后询问是否现在使用本技能
依赖什么
- yt-dlp:取字幕、视频信息、封面图的命令行工具
- Python 3:yt-dlp 的运行环境
装不上 / 跑不通怎么办:
| 情况 | 处理 |
|---|---|
| 没有 yt-dlp | 按下方「去哪装」装一次 |
| 报错 Sign in to confirm you're not a bot | 命令加 --cookies-from-browser chrome(见流程第 0 步) |
| yt-dlp 装了但取不到字幕 | 该视频可能关闭了字幕。跳过字幕步骤,在 02_笔记信息.md 里写明「无字幕」,仅采集标题与数据 |
| 版本太旧报错 | 升级 yt-dlp(YouTube 接口变动频繁,旧版常失效) |
去哪装(推荐降级链:国际源失败 → 国内镜像):
# macOS
brew install yt-dlp # 国际源
pip3 install -U yt-dlp # 备选(官方 PyPI)
# 国内镜像(上面两条都慢或失败时)
pip3 install -U yt-dlp -i https://pypi.tuna.tsinghua.edu.cn/simple # 清华
pip3 install -U yt-dlp -i https://mirrors.aliyun.com/pypi/simple/ # 阿里云
# Windows
winget install yt-dlp
pip install -U yt-dlp -i https://pypi.tuna.tsinghua.edu.cn/simple
装完验证:
yt-dlp --version
触发场景
- "采集这个 YouTube 视频" + 链接
- "YouTube 入库" / "把这条 YouTube 链接存进对标素材"
- 采集编排器识别到 youtube.com / youtu.be 链接后分流到本技能
输出位置
AI第二大脑/02_规律研究/对标内容采集/YouTube/
└── NNN_标题_频道_视频ID/
├── 01_原始素材/
│ └── 01-封面图/
│ └── cover.jpg
├── 02_笔记信息.md
├── 04_文案结构化梳理.md
└── 05_视频脚本.md
- 编号:取目标目录已有最大编号 +1(三位补零),不假设从 001 开始
- 文件夹名:
编号_标题_频道_视频ID,标题与频道名里的/换成全角「/」 - 去重:同一视频 ID 已存在时跳过,不重复建文件夹
流程
0. 带上浏览器 cookies
YouTube 现在会把无 cookies 的请求挡成机器人(报错 Sign in to confirm you're not a bot)。所有 yt-dlp 命令都加:
--cookies-from-browser chrome
换成 edge / firefox / safari 也行,用你本机登录过 YouTube 的那个浏览器。取不到 cookies 时先让使用者在那个浏览器里打开一次 YouTube 并登录。
1. 读视频信息
yt-dlp --cookies-from-browser chrome --skip-download --no-warnings --print "%(id)s|%(title)s|%(channel)s|%(view_count)s|%(duration_string)s|%(upload_date)s" "<链接>"
2. 取字幕
先看这个视频有哪些字幕:
yt-dlp --cookies-from-browser chrome --list-subs --skip-download "<链接>"
按优先级选:中文人工字幕 → 中文自动字幕 → 英文人工字幕 → 英文自动字幕。
# 中文字幕(zh-Hans / zh-CN / zh 按上一步列出的实际语言代码填)
yt-dlp --cookies-from-browser chrome --skip-download --write-auto-subs --write-subs \
--sub-langs "zh-Hans,zh-CN,zh" --sub-format "vtt" \
-o "<素材文件夹>/05_视频脚本.%(ext)s" "<链接>"
# 中文都没有时退回英文
yt-dlp --cookies-from-browser chrome --skip-download --write-auto-subs --write-subs \
--sub-langs "en.*" --sub-format "vtt" \
-o "<素材文件夹>/05_视频脚本.%(ext)s" "<链接>"
VTT 里带时间轴、 和自动字幕的滚动重复行。转逐字稿时去掉这些:删掉 --> 时间轴行、去掉 HTML 标签、把 换成空格、丢掉与前一行完全相同的行。剩下的文字照抄,不改写、不顺句、不补标点——它是素材原文。
字幕是自动生成时可能有误转词,在 05_视频脚本.md 里注明「自动字幕,可能含误转词」。
3. 建素材文件夹
先跑脚本把文件夹建出来(编号、去重、目录结构由脚本决定,不让 AI 数):
python3 "<本技能目录>/scripts/create_note_folder.py" \
--platform YouTube --type 视频 \
--id <视频ID> --title "<标题>" --author "<频道名>" \
--published <YYYY-MM-DD> --url "<链接>"
返回 JSON 里的 folder 就是素材文件夹路径,后面所有文件都写进它。
4. 下载封面
yt-dlp --cookies-from-browser chrome --skip-download --write-thumbnail --convert-thumbnails jpg \
-o "<素材文件夹>/01_原始素材/01-封面图/cover.%(ext)s" "<链接>"
5. 写 02_笔记信息.md
固定结构:
# <标题>
| 字段 | 内容 |
|------|------|
| 编号 | <三位编号> |
| 视频ID | <id> |
| 来源 | YouTube |
| 频道 | <频道名> |
| 播放量 | <数字>(<采集日期> 实测) |
| 时长 | <时长> |
| 发布时间 | <YYYY-MM-DD> |
| 原文链接 | <链接> |
| 入库时间 | <YYYY-MM-DD> |
---
## 视频简介
<简介原文;没有就写「无」>
## 章节
<视频自带章节,一行一条;没有就写「无」>
播放量必须来自本次实测,不沿用别处看到的数字。
6. 写 05_视频脚本.md
逐字稿很长时,先整理结构化部分,再把逐字稿原样放在文末存档:
# 视频脚本(结构化整理):<标题>
> 来源:YouTube <频道名>(播放 <播放量>);转录:<官方字幕直取 / 自动字幕,可能含误转词>
---
## 一、核心观点
<3-8 条,每条一句话>
## 二、全文整理(按核心观点分组)
### 观点 N:<小标题>
<这一段的原话要点,可引原句>
---
## 三、提取的文字(转录原文存档,逐句原样)
<逐字稿,不加标点、不改写>
7. 写结构化梳理
05_视频脚本.md 是原始素材,还要再出一份便于下游提炼规律的梳理件 04_文案结构化梳理.md:
# 文案结构化梳理
> 来源:<编号> <标题>([[05_视频脚本.md]])
> 梳理日期:<YYYY-MM-DD>
> 说明:本文件做结构化梳理:中心思想、核心论点、逐段小标题 + 一句话总结。总结保留原文的具体论据、数据与比喻,不删减关键信息;完整原文见 05 号文件。
---
## 一、中心思想
<一段话说清这条视频主张什么;下面附一句可直接引用的一句话说概括>
## 二、核心论点(N 条)
1. **<论点>**:<展开,保留原文的数据、例子、比喻>
(逐条列完)
## 三、逐段梳理
### <原文小标题>|<一句话总结>
- **一句话总结**:<这一段讲了什么>
- **原文示例**:<引原句,可核对>
- **可复用点**:<这条做法在哪能用>
(按原文段落顺序,一段一条)
## 四、结构规律提炼
<3-5 条,讲这条视频的骨架怎么搭的:几段式、每段承担什么、开头与结尾各做什么>
要点:梳理件里的每一句都要能追回 05 的原文;不新增视频里没有的数据或例子。
8. 完成后报告
报告:标题、频道、播放量、字幕来源(官方 / 自动 / 无)、落盘路径。有跳过或失败的项目一并说明。
采集完实际长这样
2026-09-12 实测两条,两种情形都遇到过:
有字幕的(Kevin Stratvert《Claude Skills Explained》,11:00,自动英文字幕):
对标内容采集/YouTube/
└── 002_Claude Skills Explained教程_Kevin Stratvert_wO8EboopboU/
├── 01_原始素材/01-封面图/cover.jpg
├── 02_笔记信息.md 元信息表 + 视频简介 + 章节
├── 04_文案结构化梳理.md 中心思想 + 核心论点 + 逐段梳理 + 结构规律
└── 05_视频脚本.md 核心观点 + 全文整理 + 文末逐字稿存档(214 行 / 约 1 万字)
逐字稿的头部:
# 视频脚本(结构化整理):Claude Skills Explained - Step-by-Step Tutorial for Beginners
> 来源:YouTube Kevin Stratvert(播放 364,436);转录:自动字幕,可能含误转词
---
## 一、核心观点
...
## 三、提取的文字(转录原文存档,逐句原样)
Move over ChatGPT, Claude just released Agent
Skills. That means you can add custom abilities
to Claude, Claude Desktop, and Claude Code.
没有字幕的(Nate Herk《I Deleted All My Claude Skills》,11:56,人工字幕和自动字幕都没有):
只落 01_原始素材/01-封面图/cover.jpg + 02_笔记信息.md,05_视频脚本.md 不建。02_笔记信息.md 里写明:
## 视频简介
<简介原文>
## 章节
无(该视频未提供字幕,无法转录逐字稿)
不要用简介冒充逐字稿,也不要用 AI 摘要顶替转写 —— 没有就是没有,写明比编出来有用。
铁律
- 逐字稿照抄:字幕原文不改写、不润色、不补标点
- 数据实测:播放量来自本次
yt-dlp输出,不估、不沿用 - 无字幕就说无字幕:不用 AI 摘要冒充转写,不用简介冒充逐字稿
- 去重靠视频 ID:同一视频不重复入库
微信扫一扫