如何使用 YouTube 的 API 下载 YouTube 视频

问题描述 投票:0回答:6

我查看了Python的API概述:开发人员指南:Python

但是没有任何关于如何下载视频的参考。如何使用 API 下载视频?

python api youtube
6个回答
36
投票

下载 Youtube 视频违反了他们的服务条款,因此他们的 API 不支持这一点。

上面链接的页面指的是 Youtube ToS,其中指出:

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


30
投票

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


26
投票

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


19
投票

我知道这篇文章已经很旧了,但我想会给感兴趣的人介绍最近的进展。 从 2018 年起,pytube 可用,这是用 Python 编写的轻量级库。它没有第三方依赖项,旨在高度可靠。

来自 github 页面

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()

1
投票

如果这对某人有帮助,我可以使用以下代码成功下载 youTube 视频。 注意:我正在使用colab

# install python dependencies
!pip install -q youtube-dl

from IPython.display import YouTubeVideo

YOUTUBE_ID = 'M6KD0pDrBkk'

YouTubeVideo(YOUTUBE_ID)

# download the youtube with the given ID
!youtube-dl -f 'bestvideo[ext=mp4]' --output "youtube.%(ext)s" https://www.youtube.com/watch?v=$YOUTUBE_ID

# cut the seconds between 15 and 20
!ffmpeg -y -loglevel info -i youtube.mp4 -ss 00:00:01.0 -t 5 video.mp4

0
投票

您还可以使用 yt_dlp 从我知道的 pytube 不再工作的地方下载 YouTube 视频,这是代码:

#pip install yt_dlp # to install dependencies

import yt_dlp

SAVE_PATH = "/sui"  # Update the path where you want to save the video
link = "https://youtu.be/1-xGerv5FOk?si=NZmZQ9KnXPPgeBIY"

ydl_opts = {
    'format': 'best',
    'outtmpl': f'{SAVE_PATH}/%(title)s.%(ext)s',
}

try:
    with yt_dlp.YoutubeDL(ydl_opts) as ydl:
        ydl.download([link])
    print('Video downloaded successfully!')
except Exception as e:
    print(f"Some Error! {e}") 
© www.soinside.com 2019 - 2024. All rights reserved.