pytube:轻量级 Python 库,轻松下载 YouTube 视频

https://github.com/pytube/pytube

作为一个 Python 开发者或网络安全爱好者,你可能偶尔需要将 YouTube 视频下载下来进行离线观看、分析或其他用途。这时, pytube 就派上用场了。

什么是 pytube?

pytube 是一个纯粹的 Python 库(也包含命令行工具),专为下载 YouTube 视频而设计。它轻量级、独立于第三方依赖,并且注重可靠性。

pytube 的优势:

  • 支持多种流类型: 包括渐进式流 (progressive) 和 DASH 流 (Dynamic Adaptive Streaming over HTTP)。

  • 轻松下载整个播放列表: 只需提供播放列表的链接,即可批量下载所有视频。

  • 自定义下载流程: 通过注册回调函数(如 on_download_progresson_download_complete),你可以监控下载进度并执行其他操作。

  • 命令行工具: 直接从终端下载视频,简单快捷。

  • 字幕支持: 可以下载视频的字幕轨道并将其保存为 .srt 格式。

  • 缩略图获取: 可以提取视频的缩略图 URL。

安装 pytube:

使用 pip 安装非常简单:

python -m pip install pytube 

如果你需要最新版本,可以使用 git 从源代码安装:

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

快速上手:

  • 使用 Python 脚本来下载视频:
from pytube import YouTube

# 下载第一个可用的流
yt = YouTube('https://youtu.be/2lAe1cqCOXo')
yt.streams.first().download() 

#  选择特定分辨率的 MP4 文件
yt = YouTube('http://youtube.com/watch?v=2lAe1cqCOXo')
yt.streams.filter(progressive=True, file_extension='mp4').order_by('resolution').desc().first().download()
  • 使用命令行工具下载视频:
pytube https://youtube.com/watch?v=2lAe1cqCOXo 
# 下载最高质量的渐进式流 
pytube https://www.youtube.com/playlist?list=PLS1QulWo1RIaJECMeUT4LFwJ-ghgoSH6n
# 下载整个播放列表

更多信息:

欲了解更多关于 pytube 的细节,请访问其官方文档:https://pytube.io。