

When using this code, for the videos it worked for, the video lengths were doubled, where the second half of each video was silent. If this line of code works for you, make sure to check the files that were downloaded to see if they are correct. This line of code converts the url into a YouTube object, gets the streams, filters to only audio file types, then downloads the first stream listed. for url in playlist: YouTube(url).streams.filter(only_audio=True).first().download()

My guess is that not every video will have an audio only file type, but, regardless, if this line of code doesn’t work for you, we’ll work around it. The following line of code is intended to download the first audio only type, but I ran into some issues with it. Pytube allows filtering for multiple things, including resolution, audio only, and more. #prints each video url, which is the same as iterating through _urls for url in playlist: print(url) #prints address of each YouTube object in the playlist for vid in s: print(vid) To understand our playlist object, take a look at the following iterations. Pytube does have a download_all() function for playlists, but they will tell you to iterate through the playlist, since the function will soon be removed. from pytube import YouTube from pytube import Playlist import os import moviepy.editor as mp import re Downloading the playlistįirst, grab your playlist link from YouTube, then we will create a Playlist object, which will look like this. Your imports should look like the following. Lastly, we will need to import os and re, which will be explained later on. Spotify does allow you to import mp4 files, but mp4 files take up much more space than mp3 files. We will also need moviepy because pytube downloads YouTube videos as an mp4, but we want these files as an mp3. The main package in this project will be pytube, which allows us to easily download YouTube videos or playlists.
