Youtube api 一些网站如何下载YouTube字幕?

Youtube api 一些网站如何下载YouTube字幕?,youtube-api,youtube-data-api,Youtube Api,Youtube Data Api,这在某种程度上是一个重复的问题,并且基本上都说,除非您是所有者或未启用第三方贡献,否则不可能通过YouTube API下载字幕;然而,我的问题是,如何让网站喜欢或有权访问所有标题 换句话说,当我自己访问YouTube API时(即使使用youtubepartner和YouTube.force ssl作用域),我只能下载一些视频的标题,但当我尝试使用403失败的相同视频时:与请求相关联的权限不足以下载标题曲目。请求可能没有得到正确授权,或者视频订单可能没有为此标题启用第三方贡献。在这些其他网站上,

这在某种程度上是一个重复的问题,并且基本上都说,除非您是所有者或未启用第三方贡献,否则不可能通过YouTube API下载字幕;然而,我的问题是,如何让网站喜欢或有权访问所有标题


换句话说,当我自己访问YouTube API时(即使使用
youtubepartner
YouTube.force ssl
作用域),我只能下载一些视频的标题,但当我尝试使用
403失败的相同视频时:与请求相关联的权限不足以下载标题曲目。请求可能没有得到正确授权,或者视频订单可能没有为此标题启用第三方贡献。
在这些其他网站上,它可以正常工作。我假设他们正在使用YouTube API访问标题,但是他们使用的是什么特殊的调味品呢?一些特殊的合作伙伴钥匙?不同的API版本?他们只是从视频中自己抓取还是什么?

发送GET请求:

http://video.google.com/timedtext?lang={LANG}&v={VIDEOID}
评论中的视频示例:

让我们看一下你的另一个例子,即(我同意你评论中关于差异化的部分)

视频有多个字幕可用

  • 英式
  • 韩国人
  • 西班牙文
  • 韩语(自动生成)也称为asr(自动语音识别)
这些表示副标题
name
参数(即name=English)

lang
代表国家代码。 在您的示例中:
https://www.youtube.com/api/timedtext?lang=es-MX&v=7068mw-6lmI&name=Spanish

如果字幕音轨可用,可以从中进行翻译,即使用
tlang
参数

https://www.youtube.com/api/timedtext?lang=en&v=7068mw-6lmI&name=English&tlang=lv
https://www.youtube.com/api/timedtext?lang=ko&v=7068mw-6lmI&name=Korean&tlang=lv
这将是我对这些网站正在使用的内容的出价,即可用字幕轨道的翻译(通过尝试使用没有字幕轨道的视频作为其网站的输入进行确认)

至于
asr
签名似乎总是需要的,但只要有一个字幕曲目可用,你就可以用它来翻译。例如,在您的OP评论示例中:

https://www.youtube.com/api/timedtext?lang=en&v=vx6NCUyg1NE&tlang=lv

看起来上一个例子很特别,两个字幕轨道都是
asr
用Chrome->Inspect->Network
检查),因此您需要省略字幕
名称
参数部分。不幸的是,这种差异在YouTube视频的设置控制盘中不可见。

YouTube使用了以下非官方API:

https://www.youtube.com/api/timedtext?lang={LANG}&v={VIDEO_ID}
LANG
这里是。举个例子,它是:

切换闭路字幕按钮时,您可以在“网络”选项卡中进行检查:


任何指向示例的链接您都无法获得它们,但您可以通过上述网站获得它们?@JanisS。下面是一个示例:,它解析为标题id zMTLb41gaOS5LWeeAi0ribdiUBImBdqb,然后失败,返回403感谢您对非官方的
timedtext
的评论。这可能适用于我的用例;但是,它似乎不支持没有签名的
kind=asr
(即自动翻译的字幕)。其他网站如downsub.com也包括这些。他们是怎么做到的?这里有一个例子:只有英语和印尼语工作没有钥匙。这里也没有列出ASR标题。请检查我的更新答案。谢谢,这是迄今为止最好的答案,但请查看我对ASR标题的评论。碰巧知道?知道为什么在一些视频中需要使用
名称
参数吗,即使已经提供了
语言
?例如,此URL
https://www.youtube.com/api/timedtext?v=7068mw-6lmI&lang=ko&name=Korean
如果没有
name=Korean
将无法工作。其他的也可以。我想这可能与视频中的ASR字幕有关,因为也有自动生成的韩语字幕,所以可能是为了区分,但只是一个猜测。查看可用字幕的列表可以指出何时需要。不是为什么。我猜这与YT v2>v3升级有关。示例:和