学员实践:openbili AI 接入驾驶舱介绍
Calvin 是「翔宇工作流」的学员,方向是 AI 模型中转。他把这件事做成了独立站点「openbili」,覆盖 OpenAI SDK 兼容、模型路由、调用成本可见、失败可解释。本文将其介绍给关注同方向的读者。
用 Make.com 和 Apify 搭建全自动 YouTube 视频采集系统,自动抓取指定频道的标题、描述、字幕、封面、播放量等完整数据并存入 Notion 数据库。教程涵盖 Apify Actor 配置、JSON 参数导入、数据清洗映射、字幕筛选器设置,支持一次性全量采集和周期定时更新两种模式,适合自媒体创作者和竞品分析师使用。
你是否关注了很多 YouTube 频道,但总是错过更新?又或者想系统性地采集某个频道的所有视频信息——标题、描述、字幕、封面、播放量——但手动复制粘贴效率太低?
我是翔宇。在本期教程中,我会教你用 Make.com + Apify 搭建一套全自动 YouTube 视频采集系统。它能自动采集指定频道的视频数据,包括标题、描述、时长、字幕等完整信息,一键存入 Notion 数据库。支持一次性全量采集,也支持周期性定时更新。
这套工作流对自媒体创作者、内容研究者、竞品分析师都很实用。不用写一行代码,不用打开电脑,后台自动运行。
本教程配套视频已发布在 YouTube,建议搭配视频一起学习效果更佳。
打开 Notion,新建一个表格页面,命名为"视频采集"。我们需要设计以下属性字段来承载 YouTube 视频数据:
| 字段名 | 类型 | 用途 |
|---|---|---|
| 视频标题 | Title | 视频名称 |
| 视频描述 | Text | 视频简介 |
| 频道名称 | Text | 所属频道 |
| 时长 | Text | 视频时长 |
| 观看次数 | Number | 播放量 |
| 评论数 | Number | 评论数量 |
| 喜欢数 | Number | 点赞数量 |
| 频道链接 | URL | 频道地址 |
| 视频链接 | URL | 视频地址 |
| 视频封面 | Files & Media | 缩略图 |
| 创建时间 | Date | 条目创建时间 |
| 更新时间 | Date | 条目更新时间 |
| 发布时间 | Date | 视频发布时间 |
来到 Make.com,创建新场景,命名为"视频采集"。
添加第一个模块:Basic Trigger(简单数据触发)。点开后添加两条数据,名称都选 URL,分别粘贴你要采集的 YouTube 频道链接。
我这里输入了两个频道——Make.com 官方频道和 OpenAI 频道。设置两个是为了演示多频道采集。如果你只需要一个频道也可以。
注意:URL 必须带
https://前缀。只有www开头会导致后续 Apify 报错。
Trigger 里有两条数据,但默认一次只传第一条。我们需要用 Iterator(迭代器)把它们拆分。
点击加号,选择 Flow Control → Iterator。选择 URL 字段,它会把两条数据分开,每次只传一条给后续模块。
这样不管你添加多少个频道链接,迭代器都能逐一处理。
打开 Apify 网站,用邮箱或 Google 账号注册登录。
在 Actor 列表中找到 YouTube 数据采集器。这个平台不只支持 YouTube——TikTok、Twitter、Instagram 等很多平台都有对应的 Actor。
进入 YouTube Actor 的设置页面,关键参数:
| 参数 | 设置 | 说明 |
|---|---|---|
| 采集方式 | URL(非关键词) | 输入频道链接而非搜索词 |
| 字幕下载 | 开启 | 采集视频字幕 |
| 排序方式 | Upload Date | 按上传时间从新到旧 |
| Upload Date | This Year | 采集今年发布的视频 |
| Type | Video | 只采集视频类型 |
设置完成后点击 Save,Apify 会生成一段 JSON 格式的采集参数。
复制 Apify 生成的 JSON 参数。建议先在 jsonformatter.org 上格式化一下,确保格式标准,避免导入时出错。
回到 Make.com,添加 Apify 模块,选择「Run an Actor」。首次使用需要创建连接——把 Apify 的 API Token 粘贴进去。
关键设置:
重要:JSON 中的频道链接不要写死。把它替换为 Trigger → Iterator 传来的动态 URL,这样添加新频道只需在 Trigger 中增加一条即可。
添加第二个 Apify 模块,选择「Get Dataset Items」。
Dataset ID 选择上一个模块输出的 Default Dataset ID。格式选择 JSON。
这个模块的作用是把 Actor 采集到的数据取出来,供后续 Notion 模块使用。
提示:如果找不到上一个模块的输出字段,需要先运行一次前面的模块产生数据。Make.com 要求前序模块至少运行过一次,后续模块才能识别数据结构。
添加 Notion 模块,选择「Create a Database Item」。连接 Notion 后搜索"视频采集"数据库。
字段映射:
在 Item Content(附录内容)中添加 Paragraph,选择 SRT 字段来保存视频字幕。Database Data Item ID 用于定位写入的条目。
有些视频没有字幕,直接写入会报错。我们在 Apify 和 Notion 之间添加一个筛选器(Filter)。
设置条件:SRT 字段 → Exists(存在)。只有字幕存在时才执行后续的 Notion 写入。
Make.com 的筛选器支持多种判断:等于、包含、大于、小于、存在等。这里我们只用最简单的「存在」判断。
一次性全量采集:
周期性定时采集:
设置排程后,每周日会自动采集本周新发布的视频并写入 Notion。
Q:运行时 Apify 模块报错"URL 格式不正确"怎么办?
检查 Trigger 中的频道链接是否以 https:// 开头。只有 www 开头的链接 Apify 无法识别。
Q:后续模块找不到前序模块的输出字段怎么办?
Make.com 中大部分错误都是中途数据传输问题。需要先运行前面的模块产生数据,后面的模块才能识别数据结构。建议逐模块运行测试。
Q:采集的视频封面是空的怎么办?
确认 Notion 中视频封面字段的类型是「Files & Media」。在 Notion 模块中映射时,选择 Apify 输出的 Thumbnail URL 字段。
在本期教程中,我们用 Make.com + Apify 搭建了一套自动化 YouTube 视频采集系统。整个工作流包含 5 个核心模块:触发器输入频道链接 → 迭代器拆分 → Apify 采集数据 → 获取数据集 → 写入 Notion。支持一次性全量采集和周期性定时更新两种模式。
采集到的数据包括视频标题、描述、时长、播放量、字幕、封面等完整信息,在 Notion 中可以表格、画廊等多种视图查看。
下一期我会介绍如何用 Jina Reader API 采集网页全文内容,以 OpenAI 官网新闻为例,搭建一套自动化新闻采集库。
每周精选 AI 编程与自动化实战内容,直达你的邮箱