使用 youtube-dl 命令下载字幕:
url="https://www.youtube.com/watch?v=Ix8xPfKDxNg"
youtube-dl --write-auto-sub --skip-download --sub-lang en $url
[info] Writing video subtitles to: Speak English Confidently & Clearly with Ellen-Ix8xPfKDxNg.en.vtt
现在我想用纯python代码做同样的任务。
from __future__ import unicode_literals
import youtube_dl
url="https://www.youtube.com/watch?v=Ix8xPfKDxNg"
options = {
'writeautomaticsub': True,
'subtitleslangs': ['en'],
'skip_download': True,
'subtitleslangs': 'en'
}
with youtube_dl.YoutubeDL(options) as ydl:
ydl.download([url])
错误信息:
WARNING: e subtitles not available for Ix8xPfKDxNg
WARNING: n subtitles not available for Ix8xPfKDxNg
为什么不能替换 bash 命令
youtube-dl --write-auto-sub --skip-download --sub-lang en $url
使用纯 Python 代码?
删除以下内容应该可以为您修复它,'subtitleslangs': 'en'
.正如您已经将其包含在'subtitleslangs': ['en']
options = {
'writeautomaticsub': True,
'subtitleslangs': ['en'],
'skip_download': True
}
subtitleslang
需要包含在 []
中。
我还发现添加选项以列出所有可用选项'listsubtitles': True
然后在帮助之后添加subtitleslangs
。