如何获取YouTube视频转录文本?咨询YouTube Captions API使用方法
YouTube视频转录文本获取:Captions模块确认与使用指导
一、途径正确性
YouTube Data API v3的Captions模块是官方提供的获取视频转录文本(字幕)的正规、可靠途径,完全匹配你的需求,无需考虑其他非官方方案。
二、分步使用指南
1. 前期配置
- 登录Google Cloud控制台,创建新项目并启用YouTube Data API v3
- 创建凭据:如果仅访问公开视频字幕,用API密钥即可;若需访问非公开视频字幕,必须创建OAuth 2.0凭据并完成授权流程
- 安装对应语言的客户端库,以Python为例:
pip install google-api-python-client
2. 获取视频的字幕列表
调用Captions.list接口,传入目标视频ID,可获取该视频下所有可用字幕条目(包括自动生成的转录文本)。示例Python代码:
from googleapiclient.discovery import build # 替换为你的API密钥 API_KEY = "YOUR_API_KEY" youtube_service = build("youtube", "v3", developerKey=API_KEY) # 替换为目标视频ID video_id = "TARGET_VIDEO_ID" request = youtube_service.captions().list( part="snippet", videoId=video_id ) response = request.execute() # 遍历输出字幕信息,方便筛选目标转录文本 for caption in response.get("items", []): snippet = caption["snippet"] print(f"字幕ID: {caption['id']}, 语言: {snippet['language']}, 类型: {'自动生成' if snippet['isAutoSynced'] else '人工上传'}")
3. 下载转录文本
拿到目标字幕ID后,调用Captions.download接口,指定输出格式(txt为纯文本,最适合阅读;vtt或sbv带时间轴)。示例代码:
# 替换为目标字幕ID caption_id = "TARGET_CAPTION_ID" request = youtube_service.captions().download( id=caption_id, tfmt="txt" ) transcript = request.execute().decode("utf-8") # 打印或保存转录文本 print(transcript) # 保存到文件 with open("transcript.txt", "w", encoding="utf-8") as f: f.write(transcript)
4. 关键注意事项
- 仅能获取视频所有者允许公开访问的字幕,非公开视频需通过OAuth授权获取访问权限
- 自动生成的转录文本可能存在错误,建议自行校对
- API调用有配额限制,需合理控制请求频次
内容的提问来源于stack exchange,提问作者Thibaut Barbiera
相关产品推荐
相关产品推荐

