python-3.x - 为什么不能用纯python下载字幕?
问题描述
使用 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
s 需要包含在[]
.
我还发现添加选项以列出所有可用选项'listsubtitles': True
,然后添加subtitleslangs
after 帮助。
推荐阅读
- c# - 为什么我的 C# 程序无法识别长度?
- amazon-cloudformation - 无服务器部署:CloudFormation 更新后停止观看
- javascript - 将数据从 Ajax 发送到 Laravel 控制器。Vuejs
- solr - solr可以提前缓存请求吗?
- php - 如何使用 JSON 字典在 PHP 中创建简单的 NLP 字图?
- c# - NPGSQL 处理需要命令的 postgre 通知
- swift - 获取在 scn 文件中创建的球体的位置
- .htaccess - 使用 .htaccess 重定向将旧 url 重定向到新 url
- c# - 将相同的字符串变量转换为字符串[]
- python-3.x - lambda 找不到通过 AWS CodeBuild 下载的 NLTK 数据