Communitygithub.com

techhorizonlabs/youtube-channel-profile

通过 YouTube Data API v3 分析 YouTube 频道概况,涵盖订阅者、观看量、上传节奏、近期趋势、参与度、Shorts 占比、热门视频及预估广告收入。

youtube-channel-profile 是什么?

该技能通过 YouTube Data API v3 官方接口获取频道公开数据,生成 Markdown 格式报告或 JSON 输出。它能够分析频道的核心指标,包括订阅者数(若隐藏则显示“隐藏”)、总观看量、视频数量、上传节奏(中位天数、月均上传数)、近期视频的中位和平均观看量、趋势(最近10个视频与前10个视频的观看量对比)、参与度(每视频(点赞+评论)/观看量的中位数)、Shorts 占比(基于时长≤180秒的启发式判断)以及按观看量排序的前5个热门视频。此外,它基于 Social Blade 的 CPM 范围(0.25-4.00 美元)估算每月广告收入范围,并明确标注此为预估,不包括赞助、会员等收入。支持通过频道 ID、@handle 或 URL 定位频道,并可选设置视频分析数量(默认50,最多500)。技能严格遵守 YouTube API 政策,不抓取网页、不持久化数据,并在报告中清晰区分 YouTube 原生数据和衍生数据。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/techhorizonlabs/gearlist/tree/HEAD/skills/youtube-channel-profile

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

YouTube 频道分析

scripts/channel_profile.py 通过 YouTube Data API v3 读取频道公开数据,并以 Markdown 报告形式输出,使用 --json 可输出 JSON。它仅使用官方 API,从不加载 YouTube 网页,也不向磁盘写入任何内容。

运行前准备

  1. 用户需要有一个启用了 YouTube Data API v3 的 Google Cloud 项目,并获取一个仅限该 API 的 API 密钥。
  2. 该密钥存放在 YOUTUBE_API_KEY 环境变量中。切勿将其放入提示词、文件、聊天中,也切勿打印出来。如果此环境变量未设置,请停止并请用户设置。不要在其他地方查找密钥。
  3. 安装唯一依赖项:pip install -r scripts/requirements.txt(即 requests)。

运行

python3 scripts/channel_profile.py @handle
python3 scripts/channel_profile.py https://www.youtube.com/@handle --videos 100
python3 scripts/channel_profile.py UCxxxxxxxxxxxxxxxxxxxxxx --json

选项:--videos N(要读取的近期上传数量,默认 50,最多 500),--json,--no-search,--cpm-low 和 --cpm-high(默认 0.25 和 4.00)。

如何查找频道

  • 频道 ID 或 /channel/UC... 形式的 URL:使用 channels.list 的 id 参数。
  • @handle 或 /@handle 形式的 URL:使用 channels.list 的 forHandle 参数。
  • /user/ 形式的 URL:使用 forUsername 参数。/c/ 形式的 URL 会尝试作为 handle 处理。
  • 如果以上都不匹配,则回退到 search.list 查找最佳匹配,并在报告中说明。在依赖结果前请检查标题和 ID。--no-search 可关闭此回退。
  • 视频链接、播放列表链接和非 YouTube 地址将被拒绝。请提供频道链接。

配额

调用成本
channels.list1 单位
playlistItems.list每 50 个上传视频 1 单位
videos.list每 50 个视频 1 单位
search.list(仅回退时)使用其独立配额池

默认运行消耗 3 单位(每日默认配额 10,000 单位)。自 2026 年 6 月 1 日起,search.list 拥有独立的每日 100 次调用配额池。在此之前,一次搜索消耗主配额池的 100 单位,因此旧指南会提到 100。失败的调用仍消耗配额。配额在太平洋时间午夜重置。每个报告末尾会显示本次使用的配额。

报告内容

来自 YouTube 的数据(直接返回):

  • 订阅者数,YouTube 会向下取整到三位有效数字。如果所有者隐藏了计数,报告显示“隐藏”且不给出猜测。
  • 频道总观看量和公开视频数量。
  • 每个近期视频的观看量、点赞数和评论数。

由脚本推导的数据(以 * 标记):

  • 上传节奏:最后 N 个上传视频之间的中位间隔天数、月均上传数((N - 1) 个间隔 / 跨越天数 x 30.44),以及距上次上传的天数。
  • 近期视频的观看量中位数和平均值。直播和即将到来的直播被排除。
  • 趋势:最近 10 个上传视频的观看量中位数与前 10 个对比。更新的视频有更少的时间积累观看量。
  • 参与度:每个视频的 (点赞数 + 评论数) / 观看量,取中位数。隐藏点赞数的视频被排除。关闭评论的视频评论数计为 0。
  • Shorts 与长视频的区分,基于视频时长。这是一个启发式判断:时长 ≤ 180 秒视为 Shorts,因为 API 没有 Shorts 标志。
  • 按观看量排序的前 5 个热门视频。
  • 预估月观看量:最近 30 天内发布的视频当前观看量总和。这排除了历史目录的观看量。如果样本未覆盖到 30 天前,报告会说明并要求增大 --videos 值。此检查假设上传播放列表按最新优先排列(通常如此)。

根据 YouTube API 政策 III.E.4.h,仅允许在 YouTube 自身数据旁展示衍生数据,并需明确标注非来自 YouTube。本报告已做到。每当引用带星号的数据时,请保留此标注。

收入估算方法

低估值 = 预估月观看量 / 1,000 x 0.25 美元
高估值 = 预估月观看量 / 1,000 x 4.00 美元

0.25 美元到 4.00 美元是 Social Blade 公布的默认 CPM 范围 (socialblade.com/youtube/calculator)。报告会显示带有实际数字的公式。这仅包含广告收入,不包括赞助、会员、购物、联盟营销以及粉丝资助。实际 RPM 因内容领域、受众国家和视频格式而异。Shorts 收入按不同条款合并计算。未加入 YouTube 合作伙伴计划的频道不产生广告收入。始终将其称为估算范围,而非实际收入。

错误

退出码含义应对措施
0报告已打印
2输入错误、缺少密钥或未找到频道修正输入,或请用户提供密钥或正确的链接
3配额已用完停止。告知用户配额在太平洋时间午夜重置。不要循环重试或切换密钥
4其他 API 错误,如密钥无效或 API 未启用将错误消息展示给用户
5网络错误重试一次,然后报告错误

错误输出会在失败前打印已使用的配额。每条消息和报告在打印前都会清除密钥信息。

规则

  • 仅使用官方 API。不要爬取 YouTube 页面来填补数据缺口。报告数据缺口。
  • 不缓存运行之外的任何数据。不要保存原始 API 响应。如果用户保留了报告,API 统计数据存储不得超过 30 天(政策 III.E.4.b)。
  • 仅限公开数据。受众人口统计数据不属于公开数据:请参见 creator-audience 技能。

最后检查于 2026 年 11 月 5 日,参照 YouTube Data API 参考资料、配额页面、修订历史和开发者政策。脚本的测试在离线模式下使用固定数据集运行。未在此处对实时 API 运行过。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能