python-3.x - 从程序的输出创建字典
问题描述
这是一个 Python 程序,用于从 youtube 链接获取所有字幕:
from pytube import YouTube
yt = YouTube('https://youtu.be/5MgBikgcWnY')
captions = yt.captions.all()
for caption in captions:
print(caption)
上述程序的输出是:
<Caption lang="Arabic" code="ar">
<Caption lang="Chinese (China)" code="zh-CN">
<Caption lang="English" code="en">
<Caption lang="English (auto-generated)" code="a.en">
<Caption lang="French" code="fr">
<Caption lang="German" code="de">
<Caption lang="Hungarian" code="hu">
<Caption lang="Italian" code="it">
但我只想从字典对中的上述输出中获取语言和代码。
{"Arabic" : "ar", "Chinese" : "zh-CN", "English" : "en",
"French : "fr", "German" : "de", "Hungarian" : "hu", "Italian" : "it"}
提前致谢。
解决方案
这很简单
from pytube import YouTube
yt = YouTube('https://youtu.be/5MgBikgcWnY')
captions = yt.captions.all()
captions_dict = {}
for caption in captions:
# Mapping the caption name to the caption code
captions_dict[caption.name] = caption.code
如果你想要单线
captions_dict = {caption.name: caption.code for caption in captions}
输出
{'Arabic': 'ar', 'Bangla': 'bn', 'Burmese': 'my', 'Chinese (China)': 'zh-CN',
'Chinese (Taiwan)': 'zh-TW', 'Croatian': 'hr', 'English': 'en',
'English (auto-generated)': 'a.en', 'French': 'fr', 'German': 'de',
'Hebrew': 'iw', 'Hungarian': 'hu', 'Italian': 'it', 'Japanese': 'ja',
'Persian': 'fa', 'Polish': 'pl', 'Portuguese (Brazil)': 'pt-BR',
'Russian': 'ru', 'Serbian': 'sr', 'Slovak': 'sk', 'Spanish': 'es',
'Spanish (Spain)': 'es-ES', 'Thai': 'th', 'Turkish': 'tr',
'Ukrainian': 'uk', 'Vietnamese': 'vi'}
推荐阅读
- javascript - 有没有办法将 ref {useRef} 绑定到提交函数/变量
- sql-server - 将 CSV 文件导入 SQL 时处理双引号
- swift - 屏幕保护程序中的 SpriteKit 找不到图像
- reactjs - 反应选择 - 选定的值不起作用
- django - 无法获得 page_published 信号
- android - Android 通过其他应用发送文件来共享文件
- qt - Qt - QQuickView(), setSource 不冻结 GUI
- python - 有没有办法在这段代码的 cart 方法中定义一个对象,而不覆盖以前的对象?
- python - 如何使用 Python3 将 ruamel.yaml 转换为 dict?
- r - SSH 进入 AWS Batch 作业