本文将讨论如何使用 Python 编程语言轻松地从 Youtube 下载音乐和视频。我们将使用 Python 的原因是它是一种轻量级、快速且易于使用的软件开发工具。

我们将使用两个库来实现我们的目标argparse,pytube并且可以使用 python 包安装程序 ( pip) 安装它。

导入库

importargparsefrompytubeimportYouTube

要解析提供给脚本的参数,我们将使用argparse,而要下载 YouTube 视频,我们将使用pytube.

接下来,我们必须提供存储视频和音频的文件夹。我通过使用以下常量来做到这一点:

VIDEO_DOWNLOAD_DIR="../Downloads/videos"AUDIO_DOWNLOAD_DIR="..Downloads/audio"

下载功能

让我们编写一个函数来分别下载各自文件夹中的视频和音频。

对于音频,我们将过滤纯音频内容的流,选择第一个可用的,然后将纯音频流下载到AUDIO_DOWNLOAD_DIR目录。

defYoutubeAudioDownload(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目录可用的最佳/最高分辨率。

defYoutubeVideoDownload(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 在 main 函数中使用 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())ifargs["audio"]:download_audio(args["video"])else:download(args["video"])

我们完成了!

要测试代码是否真的有效,请在终端中键入以下内容。

# for audio
pythonmain.py-a-v"[YouTube video URL]"# for videos
pythonmain.py-v"[YouTube video URL]"

音频/视频目录应下载必要的媒体。

结论

在本文中,我们讨论了如何使用 pytube 库从 Youtube 轻松下载音频和视频。我们还使用 argparse 库向终端添加参数,以便我们可以下载带有速记和音频或视频链接的媒体。我个人用它来下载我喜欢的歌曲,而且效果很好。




python下载音乐代码 如何用python下载音乐_ffmpeg