javascript - 如何使用 JavaScript 找出 YouTube 的“自动字幕语言”?(获取自动字幕语言)
问题描述
- 我开发了 YouTube 字幕提取。
我的程序获取“用户选择的语言”的字幕。
- 但是,有很多语言可供选择。
- 所以,我使用下面的链接来获取“视频的字幕语言列表”。
http://video.google.com/timedtext?v=${youtubeID}&type=list
http://video.google.com/timedtext?v=oIa3BFBHJFI&type=list(示例)
我的代码:
fetch(`http://video.google.com/timedtext?v=${youtubeID}&type=list`
.then(res => res.text()) // 1. xml -> get text
.then(str => (new window.DOMParser()).parseFromString(str, "text/xml")) // 2. text -> xml
.then(data => {
let tempLanguageList = [];
let xml = data.getElementsByTagName("transcript_list")[0];
// get language
for (let i = 0; i < xml.childElementCount; i++) {
let item = xml.children.item(i); // 형태: <track id="22" name lang_code="en" lang_original="English" lang_translated="English" lang_default="true"></track>
let itemObject = item.getAttribute("lang_code") + ", " + item.getAttribute("lang_original")
tempLanguageList.push(itemObject); // ex) en
}
console.log("tempLanguageList: ", tempLanguageList);
})
结果:
(add) 比如这个视频中的https://youtu.be/D_M9fl_Cj9I,'english '是自动字幕,'korea'是手动字幕。
但是当我检查它时,英语并没有出现在列表中。
http://video.google.com/timedtext?v=D_M9fl_Cj9I&type=list
[问题]
如何查看特定 YouTube 视频的“自动字幕语言列表”?
解决方案
推荐阅读
- java - 如何将多个列表合并为一个大小不同的列表
- elasticsearch - 如何限制 field_value_factor 的值或应用条件?
- javascript - Discord.js“类型错误:无法读取未定义的属性‘有’”
- coldfusion - 如何安装 ColdFusion 服务器 2021 (Ubuntu 2.0)
- xsd - 在给定标签内强制执行属性值唯一性,不一定在整个文件中
- outlook - 如果我应用条件格式,Outlook 2019 不会获取类值,包括 Outlook 365 在内的所有其他电子邮件客户端都可以工作
- python - 为什么我不能将 Flask 程序中的全局变量用于另一个 python 文件?
- java - 在 Android SDK30 外部存储上编辑文本文件
- python-3.x - 如何使用需要密码的python下载视频?
- java - 使用 Vaadin 14 显示的图像