是否有人知道如何获取具有标题的Youtube视频的CC?我知道在API 2.0文档中提到它只适用于视频的所有者...但我能够获得一些视频的标题,即使我不是任何人的所有者....
可以使用两个API(或API的链接)。他们都尝试了timpedtext API。 在我提到它们之前,我们应该注意API需要的参数。这是:
lang: {en, fr,...}
必填。v: {video ID}
必填。name
:曲目名称,仅在设置时为必填项。 (这是我的问题。)tlang
:翻译成语言。可选(如果您想将CC翻译成其他语言,则应设置。API链接是:
http://video.google.com/timedtext?lang=fr&v=PILzP-bIeLo&name=french 请注意,如果您删除name = French或将其设置为其他内容,则上述示例将不返回任何内容...
http://www.youtube.com/api/timedtext?v=zzfCVBSsvqA&lang=en 请注意,如果您设置name = ...
http://www.youtube.com/api/timedtext?v=ZdP0KM49IVk&lang=en 但实际视频有标题。
示例3不返回CC数据。
所以我猜测示例3需要设置name参数。我的主要问题是如果设置了名称参数,我该如何找到它。如果设置了,我怎么知道它是什么?
答案 0 :(得分:8)
您可以使用http://video.google.com/timedtext?type=list&v=zzfCVBSsvqA请求获取可用字幕列表。
您的第3个视频只自动生成了标题cannot fetch easily。
答案 1 :(得分:8)
你的第一个例子应该没有name = part。 这对我来说很重要:
video.google.com/timedtext?lang={languageID}&v={videoId}
要从上一个答案中获取英文CC版本,它将如下所示:
http://video.google.com/timedtext?lang=en&v=zzfCVBSsvqA
答案 2 :(得分:3)
这是我花了一些时间后的建议:
Js library:https://github.com/syzer/youtube-captions-scraper =>支持自动生成的标题。
下面的两种快速方法不支持自动生成的标题
快速下载: http://downsub.com/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dag_EJRhMfOM
答案 3 :(得分:0)
如果video.google.com
没有提取您的隐藏字幕文件,或者您不希望您的文件采用XML格式,而是希望SRT(请参阅下面的注释),请尝试:
注意:SRT可以转换为几乎任何格式 - 使用免费字幕工具OR
将\n\n
替换为|
,\n
替换为;
,然后将|
替换为\n
,您将获得一个可以在例如,电子表格。