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

如何用yt-dlp Python脚本获取字幕?脚本失效该如何修复?

使用yt-dlp获取YouTube字幕(Bash命令与Python脚本修复方案)

1. 安装yt-dlp

首先通过pip安装yt-dlp:

pip install yt-dlp

2. Bash命令获取字幕

直接用Bash命令下载指定视频的英文自动字幕,跳过视频下载:

url="https://www.youtube.com/watch?v=ZrQJaLemaoE"
yt-dlp --write-auto-sub --sub-lang en --skip-download $url --output /tmp/sub.txt

3. Python脚本问题修复

你提供的Python脚本无法下载字幕,核心问题是API参数名与命令行参数不匹配,以及download方法的传参格式错误,修复后的脚本如下:

import yt_dlp

url = "https://www.youtube.com/watch?v=ZrQJaLemaoE"
ydl_opts = {
    "writesubtitles": True,
    "writeautomaticsub": True,  # 开启自动生成字幕的下载
    "subtitleslangs": "en",      # 对应命令行的--sub-lang
    "skip_download": True,
    "outtmpl": "/tmp/sub.%(ext)s",  # API中用outtmpl替代命令行的--output
}

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
    ydl.download([url])  # download方法必须传入URL列表

关键修复点说明:

  • 命令行的--write-auto-sub对应API的writeautomaticsub: True,同时需要搭配writesubtitles: True才会触发字幕下载
  • 命令行的--sub-lang对应API的subtitleslangs参数
  • 命令行的--output对应API的outtmpl参数,保留%(ext)s占位符可让yt-dlp自动匹配字幕格式(如.vtt)
  • ydl.download()方法要求传入URL列表,而非单个字符串

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 06:13:21