从 API 获取 YouTube 自动转录?
Posted
技术标签:
【中文标题】从 API 获取 YouTube 自动转录?【英文标题】:Getting YouTube auto-transcript from API? 【发布时间】:2017-08-09 14:44:01 【问题描述】:是否可以从任何 YouTube API 中提取自动(非用户)生成的视频脚本?
【问题讨论】:
到现在你有解决办法吗? @manish1706 我能找到的解决方案都不允许我检索自动生成的字幕。因此,我自己实现了一个 API 客户端,它允许您为您选择的语言自动生成字幕。如果还有人感兴趣,可以在我的 GitHub 上找到代码:github.com/jdepoix/youtube-transcript-api 【参考方案1】:截至 2019 年 8 月,您可以通过以下方式下载成绩单:
-
在浏览器中打开
https://www.youtube.com/watch?v=[Video ID]
-
来自控制台类型:
JSON.parse(ytplayer.config.args.player_response).captions.playerCaptionsTracklistRenderer.captionTracks[0].baseUrl
【讨论】:
编辑:不适用于所有视频 哪个浏览器和哪个控制台?【参考方案2】:你可以参考这个帖子:How to get "transcript" in youtube-api v3
如果您使用 oAuth2 进行身份验证,您可以快速调用 这个提要:
http://gdata.youtube.com/feeds/api/videos/[VIDEOID]/captiondata/[CAPTIONTRACKID]
获取你想要的数据。检索可能的字幕轨道列表 具有 API v2 的 ID,您可以访问此提要:
https://gdata.youtube.com/feeds/api/videos/[VIDEOID]/captions
该提要请求还接受一些可选参数,包括 语言,最大结果等。有关更多详细信息,以及一个示例 显示字幕轨道列表的返回格式,请参阅 文档在 https://developers.google.com/youtube/2.0/developers_guide_protocol_captions#Retrieve_Caption_Set
另外,这里有一些可能有帮助的参考资料:
https://www.quora.com/Is-there-any-way-to-download-the-YouTube-transcripts-that-are-generated-automatically http://ccm.net/faq/40644-how-to-get-the-transcript-of-a-youtube-video【讨论】:
gdata 端点不可用:“404。这是一个错误。”【参考方案3】:1 安装youtube-transcript-api
(https://github.com/jdepoix/youtube-transcript-api),例如:
pip3 install youtube_transcript_api
2 使用以下代码创建youtube_transcript_api-wrapper.py
(部分基于https://***.com/a/65325576/2585501):
from youtube_transcript_api import YouTubeTranscriptApi
#srt = YouTubeTranscriptApi.get_transcript(video_id)
videoListName = "youtubeVideoIDlist.txt"
with open(videoListName) as f:
video_ids = f.read().splitlines()
transcript_list, unretrievable_videos = YouTubeTranscriptApi.get_transcripts(video_ids, continue_after_error=True)
for video_id in video_ids:
if video_id in transcript_list.keys():
print("\nvideo_id = ", video_id)
#print(transcript)
srt = transcript_list.get(video_id)
text_list = []
for i in srt:
text_list.append(i['text'])
text = ' '.join(text_list)
print(text)
3 创建包含 video_id 列表的 youtubeVideoIDlist.txt
4python3 youtube_transcript_api-wrapper.py
【讨论】:
以上是关于从 API 获取 YouTube 自动转录?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Youtube v3 API 获取 Youtube 视频的 mp4 url
如何使用API (针对MCN)从YouTube CMS帐户获取收入报告?
如何在 android 的 Youtube API V3 中按频道 ID 获取 Youtube 直播?