ScavioScavio
产品定价文档
登录开始使用
  1. 首页
  2. 教程
  3. 如何通过 API 获取 YouTube 脚本
教程

如何通过 API 获取 YouTube 脚本

使用 Scavio API 以编程方式获取完整的 YouTube 视频转录。传递 video_id 并接收带时间戳的文本,为 NLP 或 RAG 管道做好准备。

获取免费API密钥API文档

YouTube 文字记录对于摘要模型、RAG 管道、内容分析和辅助工具来说是很有价值的输入。 YouTube 的官方数据 API 不会直接公开文字记录 - 开发人员通常会从内部端点解析自动生成的字幕,这些字幕会在没有通知的情况下中断。 Scavio 转录端点接受 video_id 并以结构化 JSON 形式返回完整的带时间戳的转录。本教程演示如何调用端点、处理响应以及重新组装文本以进行下游处理。

前置条件

  • 安装了 Python 3.8 或更高版本
  • 请求已安装库
  • Scavio API 密钥
  • 用于测试的 YouTube 视频 ID(例如 dQw4w9WgXcQ)

操作指南

步骤 1: 识别视频ID

视频 ID 是 YouTube URL 中 v= 后面的 11 个字符的字符串。对于 https://youtube.com/watch?v=dQw4w9WgXcQ,ID 为 dQw4w9WgXcQ。

Python
from urllib.parse import urlparse, parse_qs

def extract_video_id(url: str) -> str:
    parsed = urlparse(url)
    return parse_qs(parsed.query).get("v", [url])[0]

步骤 2: 调用转录端点

使用 YouTube 平台、操作记录和 video_id POST 到 Scavio 端点。

Python
import requests

response = requests.post(
    "https://api.scavio.dev/api/v1/search",
    headers={"x-api-key": API_KEY},
    json={"platform": "youtube", "action": "transcript", "video_id": "dQw4w9WgXcQ"}
)
data = response.json()

步骤 3: 重新组装转录文本

转录密钥包含带有开始、持续时间和文本的片段列表。加入他们以生成纯文本文档。

Python
segments = data.get("transcript", [])
full_text = " ".join(seg["text"] for seg in segments)
print(full_text[:500])

步骤 4: 保存到文件以供下游使用

将转录本写入磁盘,以便向量存储或摘要模型可以摄取它。

Python
with open("transcript.txt", "w", encoding="utf-8") as f:
    f.write(full_text)
print(f"Saved {len(segments)} segments, {len(full_text)} characters")

Python 示例

Python
import os
import requests

API_KEY = os.environ.get("SCAVIO_API_KEY", "your_scavio_api_key")
ENDPOINT = "https://api.scavio.dev/api/v1/search"

def get_transcript(video_id: str) -> list[dict]:
    response = requests.post(
        ENDPOINT,
        headers={"x-api-key": API_KEY},
        json={"platform": "youtube", "action": "transcript", "video_id": video_id}
    )
    response.raise_for_status()
    return response.json().get("transcript", [])

def segments_to_text(segments: list[dict]) -> str:
    return " ".join(seg["text"] for seg in segments)

def main():
    video_id = "dQw4w9WgXcQ"
    segments = get_transcript(video_id)
    text = segments_to_text(segments)
    print(f"Transcript: {len(segments)} segments, {len(text)} chars")
    print(text[:300])

if __name__ == "__main__":
    main()

JavaScript 示例

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY || "your_scavio_api_key";
const ENDPOINT = "https://api.scavio.dev/api/v1/search";

async function getTranscript(videoId) {
  const response = await fetch(ENDPOINT, {
    method: "POST",
    headers: { "x-api-key": API_KEY, "Content-Type": "application/json" },
    body: JSON.stringify({ platform: "youtube", action: "transcript", video_id: videoId })
  });
  if (!response.ok) throw new Error(`HTTP ${response.status}`);
  const data = await response.json();
  return data.transcript || [];
}

function segmentsToText(segments) {
  return segments.map(s => s.text).join(" ");
}

async function main() {
  const segments = await getTranscript("dQw4w9WgXcQ");
  const text = segmentsToText(segments);
  console.log(`${segments.length} segments, ${text.length} chars`);
  console.log(text.slice(0, 300));
}

main().catch(console.error);

预期输出

JSON
{
  "video_id": "dQw4w9WgXcQ",
  "language": "en",
  "transcript": [
    { "start": 0.0, "duration": 3.2, "text": "We're no strangers to love" },
    { "start": 3.2, "duration": 2.8, "text": "You know the rules and so do I" },
    { "start": 6.0, "duration": 3.5, "text": "A full commitment's what I'm thinking of" }
  ]
}

相关教程

  • 如何通过 API 获取 YouTube 视频元数据
  • 如何使用 LangChain 和 Scavio 构建 RAG 代理

常见问题

大多数开发者在15到30分钟内完成本教程。您需要一个Scavio API密钥(免费套餐即可)和可用的Python或JavaScript环境。

安装了 Python 3.8 或更高版本. 请求已安装库. Scavio API 密钥. 用于测试的 YouTube 视频 ID(例如 dQw4w9WgXcQ). Scavio API密钥注册即送50个免费积分。

可以。免费套餐注册即送50个积分,完全足够完成本教程并构建一个可运行的原型解决方案。

Scavio提供原生LangChain包(langchain-scavio)、MCP服务器以及适用于任何HTTP客户端的REST API。本教程使用 the raw REST API, 但您可以根据需要适配您选择的框架。

相关资源

Best Of

2026 年最佳 YouTube 数据 API

Read more
Best Of

无配额限制的最佳 YouTube 数据 API (2026)

Read more
Solution

API YouTube

Read more
Comparison

Scavio vs Apify (YouTube actors)

Read more
Glossary

搜索 API 供应商格局(2026)

Read more
Comparison

Octoparse (with MCP Integration) vs SERP API YouTube Endpoint (Scavio, SerpApi)

Read more

开始构建

使用 Scavio API 以编程方式获取完整的 YouTube 视频转录。传递 video_id 并接收带时间戳的文本,为 NLP 或 RAG 管道做好准备。

获取免费API密钥阅读文档
ScavioScavio

面向AI智能体的实时搜索API。搜索所有平台,不仅仅是Google。

产品

  • 功能
  • 定价
  • 控制台
  • 联盟计划

开发者

  • 文档
  • API参考
  • 快速开始
  • MCP集成
  • Python SDK

替代方案

  • Tavily替代方案
  • SerpAPI替代方案
  • Firecrawl替代方案
  • Exa替代方案

工具

  • JSON格式化
  • cURL转代码
  • Token计数器
  • 全部工具

© 2026 Scavio. 保留所有权利。

Featured on TAAFT
服务条款隐私政策