前言
我最近想做一个 YouTube 关键词监测工具。
需求并不复杂:输入一个关键词,定期获取相关公开视频的标题、频道、观看量、发布时间、时长和链接,再把数据送入选题或竞品分析看板。
如果从零开始写 Playwright 脚本,手写基础 Playwright 脚本可在数十行代码内完成页面请求,但后续需维护代理池、处理动态渲染与失败重试。
这次我换了一种思路:使用 Bright Data Scraper Studio,直接用自然语言描述数据需求,让 AI Agent 生成 Schema 和爬虫代码,看看它能否把 YouTube 公开搜索结果变成可重复调用的结构化数据接口。
本文记录完整的搭建思路、Prompt、Schema、运行结果和成本。
一、为什么选择 YouTube 关键词监测?
YouTube 不只是一个视频平台,也是内容团队观察行业趋势、竞品动作和用户兴趣的重要数据来源。
以"AI coding agent"为例,如果每天手动搜索一次,很难持续回答这些问题:
- 最近一周出现了哪些新视频?
- 哪些频道正在集中讨论这个话题?
- 哪些标题获得了更高的观看量?
- 同一关键词在不同时间段的内容热度如何变化?
因此,我把这次测试限定为一个具体任务:
按关键词采集 YouTube 公开搜索结果,过滤无效卡片,提取视频基础元数据,并输出为结构化 JSON。
这次只处理无需登录即可看到的公开页面,不采集私人或受限内容,也不自动执行播放、点赞、评论和订阅等操作。
从爬虫类型来看,这个任务适合使用 Search :输入关键词,返回匹配的视频列表。如果实际创建流程要求从页面 URL 开始,也可以选择 Discovery,从搜索结果页继续发现数据:
https://www.youtube.com/results?search_query=AI+coding+agent
二、Scraper Studio 到底解决了什么?
Bright Data Scraper Studio 是 Bright Data 提供的托管式爬虫构建环境,主要有两种使用方式。
第一种是 AI Agent。用户描述目标网站、输入参数和所需字段,AI 自动生成输出 Schema 与爬虫代码,适合快速完成原型。
第二种是 IDE。开发者可以查看和修改生成的 JavaScript,在需要特殊解析、清洗或翻页逻辑时获得更完整的控制权。
它的核心价值并不是简单地"帮我写几行选择器",而是把代理、浏览器渲染、解锁、重试和托管运行放在同一个平台里。爬虫完成后,可以手动触发、通过 API 调用或设置定时任务;结果支持 JSON、NDJSON、CSV、XLSX 和 Parquet,也可以发送到 Webhook、S3、GCS、Azure Blob、Snowflake、SFTP 等目的地。
不过,YouTube 是一个需要特别说明的目标网站。Bright Data 已经提供现成的 YouTube Scraper API,可以采集标准的视频、频道和评论字段。
如果现成 API 已经覆盖全部需求,直接使用它通常更快。我这次选择 Scraper Studio,是因为需要:
- 自定义输出字段;
- 过滤广告、Shorts 货架和非视频卡片;
- 按 video_id 去重;
- 保留后续修改解析与交付逻辑的空间。
换句话说,现成 YouTube Scraper API 更适合标准化需求,Bright Data Scraper Studio 更适合定制化工作流。查看 Bright Data Scraper Studio AI Agent 官方文档与 API 规格。
三、用一段 Prompt 创建 YouTube 爬虫
首先我们在"爬虫器"里选择"使用AI构建爬虫"

进入 Bright Data Scraper Studio 后,我创建了一个新的 Search 爬虫,并把目标限定为 YouTube 公开搜索结果。
接着,我向 AI Agent 提交了下面这段 Prompt,以下是用于生成 YouTube 关键词监测 Scraper 的完整自然语言 Prompt 示例:

请创建一个用于 YouTube 公开搜索结果的 Search 爬虫。 输入参数为 keyword 和 num_results。根据 keyword 搜索视频,并持续加载结果, 直到获得 num_results 条有效视频或没有更多结果。 请跳过可识别的广告、Shorts 货架和没有视频链接的卡片,并为每条视频提取: - video_id - title - video_url - channel_name - channel_url - view_count_text - published_text - duration_text - thumbnail_url video_url 和 channel_url 请输出完整 URL。字段名使用 snake_case。 无法取得的非必要字段返回 null,不要使用空字符串。 请按 video_id 去重,并输出结构化 JSON。
随后会生成抓取,接下来我们开始收集数据

随后可以设置爬取的数量、关键字、url,这些其实我们在前面设置好了,也可以添加其他参数。

点击开始之后,会在Runs菜单下生成一条记录数据

等数据抓取结束之后,下载按钮就会取消置灰,下载数据结果进行查看

这里没有要求 AI 立即把观看量和发布时间转换为统一数字,而是先保留 view_count_text 和 published_text。
这是因为 YouTube 会根据语言和地区显示 1.2M views、120万次观看 或"3 days ago"等不同格式。第一版先保证原始字段稳定,后续再统一清洗,通常比在页面解析阶段强行转换更可靠。
抓取最终的部分结果如下
{
"video_id": "FbKXvab-0yQ",
"title": "Cloudroom just destroyed all AI coding apps (fully open-source)",
"video_url": "https://www.youtube.com/watch?v=FbKXvab-0yQ",
"channel_name": "David Ondrej",
"channel_url": "https://www.youtube.com/@DavidOndrej",
"view_count_text": "113K",
"published_text": "1d ago",
"duration_text": "1:00:23",
"thumbnail_url": "https://i.ytimg.com/vi/FbKXvab-0yQ/hq720.jpg?sqp=-oaymwEnCNAFEJQDSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLCoVpFIgGnF-CdS-slpTXUCWK1hSw"
},
四、预览、调试与实际输出
生成爬虫后,我也可以使用下面的输入进行小规模预览:
{
"keyword": "AI coding agent",
"num_results": 20
}
Browser Preview 用来确认 YouTube 搜索结果是否正常加载,以及页面是否按预期继续滚动;HTML 调试视图则用来检查标题、视频链接和频道信息是否来自同一张结果卡片。
YouTube 搜索结果不只有普通视频,还可能混入 Shorts、播放列表、频道和广告。只检查第一条数据很容易漏掉问题,因此我分别抽查了结果开头、中间和结尾的多条记录。

点击后面的预览按钮,在右侧可以实时看到抓取的页面变化。下面是输出的结果:

点击预览icon 或者下载查看本次运行结果,其中部分结果如下:

完成验证后,结果可以下载为 CSV,也可以配置定时任务,通过 Webhook 或云存储进入后续数据管道。对于每日关键词监测,下游系统只需要消费固定 Schema,不必关心浏览器、代理和重试是如何运行的。
设置定时任务如下:

交付偏好设置:

五、页面变化后如何修复?
网页爬虫最常见的问题不是第一次跑不通,而是运行一段时间后,目标网站改版导致字段为空或提取错位。
Bright Data Scraper Studio 提供了 Self-Healing,但它不是在后台未经确认就自动修改生产代码。更准确的流程是:发现异常后,用自然语言描述问题,检查 AI 生成的代码差异,完成预览,再决定是否保存到生产环境。

例如,当 title 和 video_url 突然返回 null 时,可以输入:

当前预览中的 title 和 video_url 返回 null。 请根据最新页面结构重新定位包含 /watch?v= 的视频链接, 从同一条视频结果中提取标题,保持现有 Schema 和字段名不变。 修改后请用当前测试关键词重新预览,并确保结果按 video_id 去重。 接受修改后,变更会先进入草稿。确认预览正常后再保存到生产环境;如果新版本出现问题,也可以通过版本记录回滚。
六、成本以及和其他方案的区别
根据 Bright Data 当前公开页面,新账户每月提供 5,000 个共享免费信用点,无需信用卡。在 Bright Data Scraper Studio 中,一次页面加载消耗一个信用点。免费额度用完后,公开的按量价格为每 1,000 次成功页面加载 1.50 美元。
需要注意的是,一条视频记录不一定等于一次页面加载。Search 或 Discovery 流程可能持续滚动或访问更多页面;如果再打开每条视频的详情页,消耗还会进一步增加。正式扩大规模前,应以控制台统计的页面加载量估算成本。
与手写 Playwright 相比, Bright Data Scraper Studio 减少了代理、浏览器运行、验证码、失败重试和部署维护工作,同时仍允许开发者在 IDE 中修改 JavaScript。
与 Apify 相比,Apify 的社区 Actor 生态更丰富,适合快速寻找现成方案;Bright Data Scraper Studio 则强调自然语言生成、自有爬虫工作流、Bright Data 托管基础设施,以及可以审查和回滚的 Self-Healing。实际选择时,应使用相同输入量、字段和成功标准测试总成本,而不是只比较宣传单价。
对于 YouTube,可以按照需求做出选择:
- 只需要标准视频、频道或评论字段,优先评估现成 YouTube Scraper API;
- 需要自定义字段、过滤、去重或特殊交付逻辑,选择 Bright Data Scraper Studio;
- 官方 YouTube Data API 已覆盖需求,并且能够接受其配额与政策要求,也应优先纳入评估。
结论
这次测试最大的变化,是我不再从"选择什么代理、浏览器如何部署"开始,而是先定义最终需要交付的数据。
AI Agent 负责把自然语言需求转成 Schema 和可运行爬虫,Bright Data Scraper Studio IDE 保留进一步修改代码的空间,托管平台则负责浏览器、代理、解锁和重试。对于需要快速验证 YouTube 公开数据源、搭建关键词监测原型,又不想长期维护完整爬虫基础设施的团队,这种方式推荐大家使用。
它并不意味着数据采集从此完全零维护。字段是否准确、页面加载成本是否合理、采集行为是否符合平台规则和适用法律,仍然需要使用者判断。
Bright Data 新账户目前每月提供 5,000 个共享免费信用点。
免费试用 Bright Data Scraper Studio →
相关资料:
- Bright Data Scraper Studio 产品页
- Bright Data Scraper Studio AI Agent 文档
- Bright Data Self-Healing 文档
- 采集与交付文档
合规提醒:本文仅讨论公开可见的网页元数据。自动化采集 YouTube 数据可能受到平台条款、robots 规则、数据保护规定及当地法律限制。请在采集前完成独立评估,不要访问登录后、私人或受限内容,也不要使用自动化工具操纵播放、点赞、评论或订阅。
常见问题
1、Bright Data Scraper Studio 如何处理目标网站改版?
Scraper Studio 通过 Self-Healing 根据自然语言要求生成代码修复方案,由用户检查差异、完成预览并确认后再发布到生产环境。它不会在未经确认的情况下直接覆盖生产代码;已发布版本出现问题时,也可以通过版本记录回滚。
2、什么时候应该选择 Bright Data Web Scraper API,而不是 Scraper Studio?
当需求是标准的视频、频道或评论字段时,应优先评估 YouTube Scraper API;当需求涉及自定义字段、特殊过滤、去重、页面流程或交付逻辑时,更适合使用 Scraper Studio。
3、Bright Dat Scraper Studio 需要写代码吗?
Scraper Studio 不要求用户从零写代码,AI Agent 可以根据自然语言生成第一版爬虫;需要精细控制时,开发者仍可在 Scraper IDE 中修改 JavaScript。FAQ:Bright Dat
4、Scraper Studio 支持哪些输出格式和交付方式?
Scraper Studio 支持 JSON、NDJSON、CSV、XLSX 和 Parquet,并可通过 API 下载、Webhook、S3、GCS、Azure Blob、Snowflake、SFTP 等方式交付。
5、Bright Dat Scraper Studio 与 Apify 应该如何选择?
Apify 更适合希望使用社区 Actor 快速启动的场景;Scraper Studio 更强调自然语言生成、自有爬虫工作流、Bright Data 托管基础设施以及可审核和回滚的 Self-Healing。正式选择前,应使用相同字段、页面量和成功标准比较可靠性与总成本。