如何使用 youtube 的 API 下载 youtube 视频?

Posted

技术标签:

【中文标题】如何使用 youtube 的 API 下载 youtube 视频?【英文标题】:How to download a youtube video using the youtube's API? 【发布时间】:2011-12-26 06:29:15 【问题描述】:

我查看了python的API概述:Developer's Guide: Python

但没有提及如何下载视频。有谁知道我在哪里可以获得有关下载的信息?

【问题讨论】:

查看这个问题和答案,这可能会有所帮助:***.com/questions/2678051/cant-download-youtube-video Downloading video's in flv format from youtube的可能重复 【参考方案1】:

下载 Youtube 视频违反了他们的 Terms of Service,因此他们的 API 将不支持。

上面链接的页面是指Youtube ToS,上面写着:

除非您看到 YouTube 在该内容的服务上显示“下载”或类似链接,否则您不得下载任何内容。

【讨论】:

世界“下载”没有出现在他们的服务条款中,即使出现了,他们到底为什么不在 api 文档中重复该信息?一个视频托管平台的 api 不支持视频下载 - 你会认为这可能值得一句话。 @John 该页面链接到YouTube Terms of Service,其中声明:“您不得下载任何内容,除非您看到 YouTube 在该内容的服务上显示“下载”或类似链接。”跨度> 是的,我意识到现在发表评论有点太晚了,但我给了-1,因为你的回答并没有真正回答这个问题。这显然是可能的(例如 youtubeinmp3.com)。 如果您是频道的所有者并希望下载自己的内容怎么办?【参考方案2】:

查看适用于 YouTube 的 Python API,它可以下载视频或直接获取视频的 URL: https://pythonhosted.org/Pafy/

【讨论】:

【参考方案3】:

显然没有 api 端选项,但您可以简单地使用 youtube-dl 并通过 python 脚本中的子进程调用它,这比在独立的 youtube-downloaders 上使用更容易/稳定。

【讨论】:

您是否知道是否有可能让该程序输出可公开访问的链接以下载内容,而不是实际下载内容?我想将链接传递给 zencoder 以对视频进行实际处理 不,我认为这是不可能的(我不知道视频流背后的基础知识,但我认为没有可用的直接链接,而是一种神秘的组合)。也许 youtube-dl 的编码人员可能会在这方面为您提供帮助。 只是为将来可能会看到此内容的人添加此内容:您可以简单地使用--dump-json 获取具有质量、url 和信息的 json 对象。 不错!知道使用什么协议来下载内容。 ?【参考方案4】:

我知道这篇文章已经过时了,但如果有兴趣的人想了解一下最近的发展情况。 从 2018 年开始,pytube 可用,它是用 Python 编写的轻量级库。它没有第三方依赖,旨在高度可靠。

来自github page

pytube 是一个非常严肃、轻量级、无依赖的 Python 库(和命令行实用程序),用于下载 YouTube 视频。

youtube 下载非常简单。

 >>> from pytube import YouTube
 >>> YouTube('https://youtu.be/9bZkp7q19f0').streams.first().download()
 >>> yt = YouTube('http://youtube.com/watch?v=9bZkp7q19f0')
 >>> yt.streams
  ... .filter(progressive=True, file_extension='mp4')
  ... .order_by('resolution')
  ... .desc()
  ... .first()
  ... .download()

【讨论】:

以上是关于如何使用 youtube 的 API 下载 youtube 视频?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 youtube 的 API 下载 youtube 视频?

如何使用 Youtube v3 API 获取 Youtube 视频的 mp4 url

如何使用YouTube Api下载YouTube视频[关闭]

如何在 android 的 Youtube API V3 中按频道 ID 获取 Youtube 直播?

如何获取 YouTube JSON GData 网址

上传视频和缩略图 - YouTube Data API Python