如何使用 Python 下载 Youtube 音乐和视频
本文将讨论如何使用Python编程语言轻松地从Youtube下载音乐和视频。我们使用Python的原因是它是一种轻量级、快速且易于使用的软件开发工具。
我们将使用两个库来实现我们的目标,argparse
并且pytube
可以使用 python 包安装程序 ( pip
) 来安装它。
导入库
如何使用 Python 下载 Youtube 音乐和视频
import argparse
from pytube import YouTube
要解析提供给脚本的参数,我们将使用argparse
,要下载 YouTube 视频,我们将使用pytube
。
接下来,我们必须提供存储视频和音频的文件夹。我通过使用以下常量来做到这一点:
VIDEO_DOWNLOAD_DIR = "../Downloads/videos"
AUDIO_DOWNLOAD_DIR = "..Downloads/audio"
下载功能
让我们编写一个函数,负责分别下载各自文件夹中的视频和音频。
对于音频,我们将过滤流中的纯音频内容,选择第一个可用的流,并将纯音频流下载到目录中AUDIO_DOWNLOAD_DIR
。
def YoutubeAudioDownload(video_url):
video = YouTube(video_url)
audio = video.streams.filter(only_audio = True).first()
try:
audio.download(AUDIO_DOWNLOAD_DIR)
except:
print("Failed to download audio")
print("audio was downloaded successfully")
对于视频,该函数获取 YouTube 视频的 URL 并下载目录可用的最佳/最高分辨率VIDEO_DOWNLOAD_DIR
。
def YoutubeVideoDownload(video_url):
video = YouTube(video_url)
video = video.streams.get_highest_resolution()
try:
video.download(VIDEO_DOWNLOAD_DIR)
except:
print("Unable to download video at this time!")
print("Video downloaded!")
这两个简单的函数获取 YouTube 视频和音频 URL,以尽可能最大的分辨率下载,然后将其保存在各自的目录中,但如果出现错误,则会打印出错误消息。
主功能
视频 URL 在主函数中使用 argparse 进行解析,并且还使用可选的仅音频标志。如果启用该标志,将下载视频的音频;默认情况下,视频和音频都会下载。
这两个简单的函数获取 YouTube 视频和音频 URL,以尽可能最大的分辨率下载,然后将其保存在各自的目录中,但如果出现错误,则会打印出错误消息。
让我们看一下代码。
if __name__ == "__main__":
ap = argparse.ArgumentParser()
ap.add_argument("-v", "--video", required = True, help = "Youtube video URL")
ap.add_argument("-a", "--audio", required = False, help = "Audio only", action = argparse.BooleanOptionalAction)
args = vars(ap.parse_args())
if args["audio"]:
YoutubeAudioDownload(args["video"])
else:
YoutubeVideoDownload(args["video"])
我们完成了!
要测试代码是否确实有效,请在终端中键入以下内容。
# for audio
python main.py -a -v "[YouTube video URL]"
# for videos
python main.py -v "[YouTube video URL]"
音频/视频目录应下载必要的媒体。
总结
在本文中,我们讨论了如何使用 pytube 库轻松从 Youtube 下载音频和视频。我们还使用 argparse 库向终端添加参数,以便我们可以使用速记方式下载媒体以及音频或视频的链接。我个人用它来下载我喜欢的歌曲,效果非常好。
- 点赞
- 收藏
- 关注作者
评论(0)