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

如何通过Python获取YouTube频道「关于」板块的第三方站点链接

解决方案

方案1:使用YouTube Data API v3(稳定合规,优先推荐)

你之前没找到对应字段是因为该信息存放在brandingSettings属性下,不需要额外申请特殊权限,只要常规的API密钥即可调用:

  • 首先去Google Cloud控制台启用YouTube Data API v3,获取API密钥
  • 调用Channels接口,参数配置如下:
    • part参数填写brandingSettings
    • id参数填写目标频道的ID,也可以用forUsername参数匹配频道自定义用户名
    • key填写你申请到的API密钥
  • 返回结果中,brandingSettings.channel.customLinks就是频道自定义添加的站外链接数组,每个元素包含url和链接标题两个属性
  • 拿到结果后直接用Python的文件写入方法保存到txt即可,示例代码片段:
import requests

API_KEY = "你的API密钥"
CHANNEL_ID = "目标频道ID"

url = f"https://www.googleapis.com/youtube/v3/channels?part=brandingSettings&id={CHANNEL_ID}&key={API_KEY}"
response = requests.get(url)
data = response.json()

link_list = data["items"][0]["brandingSettings"]["channel"].get("customLinks", [])
links = [item["url"] for item in link_list]
# 写入文本
with open("channel_links.txt", "w", encoding="utf-8") as f:
    for link in links:
        f.write(link + "\n")

注:如果频道设置了链接不对外公开,该字段会返回空,这种情况只能用下面的浏览器自动化方案

方案2:使用浏览器自动化工具抓取(适合无法使用API的场景)

纯requests拿不到内容是因为YouTube页面是动态渲染,且有反爬校验,未登录状态下会优先返回隐私政策跳转页,用带浏览器内核的自动化工具可以绕过这个问题:

  • 优先选择Playwright,比Selenium配置更简单,默认带反爬绕过配置
  • 步骤:
    1. 安装Playwright:pip install playwright,然后执行playwright install chromium安装浏览器内核
    2. 编写脚本访问目标频道的「关于」页面,等待页面加载完成后定位链接元素
    3. 提取所有链接的href属性后过滤掉站内跳转链接,写入txt即可
      示例代码片段:
from playwright.sync_api import sync_playwright

CHANNEL_ABOUT_URL = "目标频道关于页地址,格式为https://www.youtube.com/@xxx/about"

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    page = browser.new_page()
    page.goto(CHANNEL_ABOUT_URL)
    # 等待链接区域加载完成
    page.wait_for_selector("ytd-channel-about-metadata-renderer")
    # 提取所有链接
    all_links = page.locator("ytd-channel-about-metadata-renderer a").evaluate_all("elements => elements.map(e => e.href)")
    # 过滤YouTube站内跳转链接
    external_links = [link for link in all_links if "youtube.com" not in link and "youtu.be" not in link]
    # 写入文件
    with open("channel_links.txt", "w", encoding="utf-8") as f:
        for link in external_links:
            f.write(link + "\n")
    browser.close()

注:如果遇到年龄限制或者登录提示,可以在启动浏览器的时候加载你自己的YouTube登录Cookie,即可正常获取内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:54:03