Dmi*_*kin 25 php youtube video closed-captions
我在从YouTube视频中提取自动字幕时遇到问题.
我尝试使用http://video.google.com/timedtext?type=track&v=3wszM2SA12E&name=Automatic&lang=en方法,但该方法仅适用于那些已命名曲目的视频.例如,这个没有任何命名的轨道(只有自动标题)并且没有加载:rrkrvAUbU9Y
有几个网络应用程序可以做到(如http://www.serpsite.com/youtube-subtitles-download-tool/和http://mo.dbxdb.com/),但我需要一个脚本,因为我想用它进行研究.
任何人都有任何想法得到这个的正确方法是什么?YouTube的API有关于字幕的内容,但仅针对注册用户,而上述应用适用于所有视频,我怀疑他们只是从页面中捕获html代码(虽然这也是可能的).一定有办法......请帮忙!
您需要先调用另一个 API:http : //video.google.com/timedtext?type=list&v=3wszM2SA12E
这将为您提供可用曲目的列表。在您的情况下,只能获得一首曲目:id="0" name="Automatic" lang_code="en" lang_original="English" lang_translated="English" lang_default="true"
在这个特定的视频中,我可以按名称获取曲目name=Automatic
:
https://video.google.com/timedtext?type=track&v=3wszM2SA12E&name=Automatic&lang=en
但对于另一个视频id=
工作正常:
http://video.google.com/timedtext?type=track&v=zenMEj0cAC4& id=0 &lang=en
这是我花了一些时间后的建议:
Js 库:https : //github.com/syzer/youtube-captions-scraper => 支持自动生成的标题。
下面的 2 个快速方法不支持自动生成的标题
快速下载:http : //downsub.com/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dag_EJRhMfOM
小智 2
从页面获取数据的一个好方法是使用 file_get_contents ,但这仅适用于视频具有“CC”或字幕按钮的情况,但不幸的是,当视频具有“CC”或字幕按钮时,您可以从 xml 文件中获取所有文本元素,如某人所述的“Youtube 字幕”服务表示,它需要 YouTube 用户启用字幕才能获取字幕,因此不幸的是,如果没有启用“CC”,您无法从视频中获取字幕,但是如果您仍然想要,可以在 xml 文件上使用 file_get_contents,然后找到所有“文本”标签,然后将其转换为标题。