You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过编程从YouTube频道链接获取Channel ID?

可靠获取YouTube@标识频道的Channel ID方法

方法1:官方API精准查询(推荐)

YouTube Data API的Channels.list接口提供了forHandle参数,专门用于匹配@开头的频道标识(handle),完全避免搜索接口的模糊匹配问题。

请求示例(curl)

curl "https://www.googleapis.com/youtube/v3/channels?part=id&forHandle=@pewdiepie6&key=YOUR_API_KEY"

返回结果示例

{
  "kind": "youtube#channelListResponse",
  "etag": "XXX",
  "pageInfo": {
    "totalResults": 1,
    "resultsPerPage": 5
  },
  "items": [
    {
      "kind": "youtube#channel",
      "etag": "XXX",
      "id": "UCl-0ct6u2AAfsqGGgVh5dEw"
    }
  ]
}

直接提取items[0].id就是目标Channel ID,这个方法是官方支持的,精准度100%。

方法2:解析页面元数据(无需API密钥)

如果不想使用API密钥,可以直接爬取频道页面的HTML,提取页面中预渲染的meta标签数据,比解析动态JS更稳定。

Python示例

import requests
from bs4 import BeautifulSoup

# 替换为目标频道的@链接
channel_url = "https://www.youtube.com/@pewdiepie6"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
}

response = requests.get(channel_url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")

# 提取itemprop为channelId的meta标签内容
channel_id = soup.find("meta", {"itemprop": "channelId"})["content"]
print(channel_id)  # 输出: UCl-0ct6u2AAfsqGGgVh5dEw

注意:需要设置合法的User-Agent,避免被YouTube反爬拦截。

方法3:使用oEmbed接口(无需API密钥)

YouTube支持oEmbed协议,通过调用该接口可以获取频道的结构化信息,从中提取Channel ID。

请求示例(curl)

curl "https://www.youtube.com/oembed?url=https://www.youtube.com/@pewdiepie6&format=json"

返回结果示例

{
  "title": "PewDiePie6",
  "author_name": "PewDiePie6",
  "author_url": "https://www.youtube.com/channel/UCl-0ct6u2AAfsqGGgVh5dEw",
  ...
}

从author_url中截取最后一段即可得到Channel ID。

内容的提问来源于stack exchange,提问作者smasgl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 14:25:19