
做YouTube的数据采集,最大的障碍就是官方API的配额限制。默认每天只有10000个配额单位,上传一个视频要消耗大约1600个单位,而搜索调用更是单独限制每天只能使用100次。配额用完了之后,要么等到第二天重新设置,要么走审核程序申请提高,时间长而且不能保证通过。
因此,在进行数据采集的时候,大部分人都会选择避开官方API,使用第三方工具或者开源方案。目前比较主流的工具有四类:第三方API服务、浏览器插件、开源Python库、多平台数据集成方案。依次发言。
第三方API服务:拿来就可以用
Apify公司
Apify是目前比较火的一个第三方采集平台。上面有很多YouTube采集器,例如YouTube Scraper可以进行并行处理,每秒可以抓取200多个视频,并且能够获取到30多个字段,包括播放量、点赞数、评论数以及缩略图等等。还可以进行定向搜索100多个国家,没有API配额、速率限制等限制。根据所取得的结果来收费,最低为每千条视频0.5元。
Bright Data公司
Bright Data主要面向企业用户。YouTube Scraper API可以获取频道、视频和评论的数据,一次最多可以处理20个URL,并且返回的是结构化的JSON格式,可以支持NDJSON、CSV、Parquet等格式。新账户每月有5000条免费额度,超过部分按照数量收费,起始价格为每千条记录1元。
浏览器插件:零门槛
YouTube URL Grabber Plus
这是一个Chrome插件,可以提取出搜索页、频道页、播放列表、主页上的视频数据,包括标题、URL、观看数、时长、发布时间等信息,并且可以一键导出为CSV格式。版本3增加了一个自动滚动的功能,可以等到所有的视频都加载完毕之后再进行抓取,并且还可以对Shorts进行过滤。完全在浏览器内运行,并且不会把数据上传到外部服务器上。
Tubeman
功能一样,从搜索、频道、播放列表页面获取元数据,导出CSV格式文件,界面简单。适合研究者、学生、分析师等快速整理数据。
开源的Python库:灵活但是需要一定的技术能力
ytscrape
这是一个纯粹的HTTP版YouTube采集库,可以直接调用YouTube内部的InnerTube API,不需要API Key,不需要浏览器,也没有配额限制。支持搜索、视频/频道元数据、评论(含回复)、字幕采集,支持同步和异步两种模式,自带CLI工具。通过运行pip install ytscrape就可以完成安装。
Tubescrape
仍然使用InnerTube API来实现搜索过滤(类型、时长、上传日期、排序)、频道浏览、字幕获取(支持SRT/WebVTT/JSON格式)、播放列表分页的功能。内置代理轮换以及自动重试功能。三种接口方式为Python SDK、CLI、REST API。
scrapetube
更加轻便,主要的功能就是三个:获取频道的所有视频、获取播放列表的所有视频、搜索YouTube。代码简单易懂,可以用来做快速原型验证。
youtube-data-tools
GitHub上开源的项目有四个免费工具,分别是评论采集、频道采集、搜索采集和字幕采集,都用到了Innertube API,并且不需要API Key。可以很快地建立起采集流程。
多平台数据整合:用一个方案来管理多个平台
如果你要同时在YouTube、TikTok上运营账号,或者要把国外的数据和国内的数据放在一起进行比较的话,那么极致了数据就值得考虑了。
它提供了多种平台的社交媒体数据采集API,包括了超过五十个主流平台的数据采集,对于YouTube方向的数据采集包括频道信息、视频数据(观看次数、点赞数、评论数)以及评论内容。不同于官方API,它是使用自己的账号池和代理资源来实现的,并且不需要申请Google Cloud项目,也不用担心配额用完的问题。

接入的方式有两种:有技术团队的可以直接对接API,按照文档来调用;不擅长编程的可以使用飞书“多平台数据采集助手”插件,输入频道链接或者视频链接就可以一键采集到多维表格,并且可以设置定时任务自动更新。如果要将YouTube的数据和其他平台(TikTok、Instagram等)的数据一起拉回来进行跨平台比较的话,一个接口就可以搞定。
经常被问到的问题
Q1:官方API和第三方工具,要怎么选择呢?
如果你只负责管理自己的YouTube频道,并且做一些基本的数据复盘工作的话,那么官方API就可以满足需求了,但是要申请Google Cloud项目、处理OAuth认证,并且每天只能使用10000个配额。如果要批量收集竞品的数据、进行深入分析或者跨平台整合的话,第三方工具或者开源库就是更直接的道路,不会受到配额和授权的限制。
Q2:浏览器插件可以获取到什么数据?
主流插件(YouTube URL Grabber Plus、TubeMiner)可以获取到视频的标题、URL、播放量、时长、发布时间等基本信息,并将其导出为CSV格式。一些插件还可以进行Shorts过滤以及自动滚动加载。但是评论、字幕等深层次的数据,插件一般无法获取到,要通过API或者开源库来实现。
Q3:没有技术团队的情况下,如何批量获取YouTube的数据呢?
使用Apify这样的第三方平台,注册之后选择现成的采集器,设置好关键词或者频道链接,根据需要付费,不需要编写代码。也可以使用Chrome插件来手动采集数据,适用于数据量较小的情况。如果要实现数据自动同步到表格并进行长期监控的话,可以使用极致了数据的飞书插件,零代码配置,支持定时任务。
结论
YouTube数据采集工具的选择主要取决于你的技术水平和数据需求。零代码用户使用Apify或者浏览器插件;有Python基础的可以使用ytscrape或者tubescrape,都是免费而且很灵活的;如果需要多平台整合的话,可以考虑极致了数据的API方案。想清楚自己需要什么样的数据、技术能力怎么样,那么道路也就明确了。
