这个项目能做什么

YouTube Transcript API 是一个用于从 YouTube 视频中获取字幕和转录文本的 Python 库。与基于 Selenium 的方案不同,它不需要无头浏览器,因此更轻量且易于部署。它支持手动创建和自动生成的字幕。 通过 pip 即可安装:`pip install youtube-transcript-api`。 核心 API 提供了一个 `YouTubeTranscriptApi` 类,其中 `fetch()` 方法接受 YouTube 视频 ID(而非完整 URL),返回一个 `FetchedTranscript` 对象,包含带有文本、开始时间和持续时间的片段数组。结果可迭代、可索引,并支持获取长度。 主要功能包括: - 通过传入语言代码列表(如 `['de', 'en']`)作为 `languages` 参数,获取特定语言的转录文本。 - 使用 `preserve_formatting=True` 保留斜体和粗体等 HTML 格式。 - 通过 `list()` 列出视频的所有可用字幕,然后按语言或字幕类型(手动创建 vs. 自动生成)进行筛选。 - 使用 `Transcript` 对象上的 `translate()` 方法将现有转录文本翻译成其他语言。 - 通过 `formatters` 子模块中的内置格式化器,将输出格式化为 JSON、SRT、WebVTT、CSV 或纯文本。 - 提供 CLI 工具 `youtube_transcript_api`,支持语言、输出格式、翻译以及排除生成字幕或手动字幕等选项。 - 支持代理,以绕过云提供商的 IP 限制或高请求量问题,集成 Webshare 旋转住宅代理或通用 HTTP/SOCKS 代理配置。 该项目使用 YouTube Web 客户端 API 的未公开部分,并附有警告:若 YouTube 更改其内部实现,项目可能会失效。项目采用 MIT 许可证,可在 PyPI 上获取。