Skip to main content

用于下载 YouTube 视频的 Python 3 库。

项目描述

pytube 徽标

皮皮

积极征集投稿!

对如何改进 pytube 有想法吗?随意打开问题或拉取请求!

pytube

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

文档

可以在pytube.io找到有关该库使用的详细文档。建议在大多数情况下使用。如果您想匆忙下载单个视频,下面的快速入门指南可能就是您要找的。

描述

YouTube 是世界上最受欢迎的视频共享平台,作为黑客,您可能会遇到想要编写脚本来下载视频的情况。为此,我向您介绍:pytube

pytube是一个用 Python 编写的轻量级库。它没有第三方依赖,旨在高度可靠。

pytube还使流水线变得容易,允许您为不同的下载事件指定回调函数,例如 on progresson complete.

此外,pytube包含一个命令行实用程序,允许您直接从终端下载视频。

特征

  • 支持渐进式和 DASH 流
  • 支持下载完整的播放列表
  • 轻松注册on_download_progresson_download_complete回调
  • 包括命令行接口
  • 字幕轨道支持
  • 将字幕轨道输出为 .srt 格式(SubRip Subtitle)
  • 能够捕获缩略图 URL
  • 广泛记录的源代码
  • 无第三方依赖

快速开始

本指南涵盖了该库的最基本用法。有关更多详细信息,请参阅pytube.io

安装

Pytube 需要安装 Python 3.6 或更高版本以及 pip。(Pip 通常与 Python安装捆绑在一起。)

使用 pip 从 PyPI 安装:

$ python -m pip install pytube

有时,PyPI 版本会稍微过时。要使用 pip 从源安装:

$ python -m pip install git+https://github.com/pytube/pytube

在 Python 脚本中使用 pytube

要在脚本中使用库下载视频,您需要从库中导入 YouTube 类并传递视频 URL 的参数。从那里,您可以访问流并下载它们。

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

使用命令行界面

使用 CLI 也非常简单。要以最高渐进质量下载视频,您可以使用以下命令:

$ pytube https://youtube.com/watch?v=2lAe1cqCOXo

您也可以对播放列表执行相同操作:

$ pytube https://www.youtube.com/playlist?list=PLS1QulWo1RIaJECMeUT4LFwJ-ghgoSH6n