如何使用 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视频[关闭]