Download Youtube playlist as mp3 in Python

In this article, we will learn how to download all audio videos from any playlist of youtube channels with the help of Python library which is the ‘pytube’ library.

Convert the youtube playlist into an mp3 file with the help of Python

Here we use the ‘pytube’ library. pytube is a lightweight library written in Python. It hosts no third-get-together conditions and intends to be profoundly solid. pytube additionally makes pipelining simple, permitting you to determine callback capabilities for various download occasions, like on progress or on completion.

Moreover, pytube incorporates an order line utility, permitting you to download recordings right from the terminal.

Highlights

  • Support for both moderate and Run streams
  • Support for downloading the total playlist
  • Effectively register on_download_progress and on_download_complete callbacks
  • Order line communication included
  • Subtitle track support
  • Widely reported source code
  • No outsider conditions

Let’s create a small program to understand this concept

Step 1: Import the necessary libraries

from pytube import YouTube
from pytube import Playlist
import os
import moviepy.editor as mp #to convert the mp4 to wavv then mp3
import re

Step 2: Enter the URL of the playlist and then first all the URL videos in that playlist and then show the videoId. After that, we include only those videos where audio=’true’ with the help of the ‘stream.filter()’ function and download it.

username = os.getlogin()

playlist = Playlist("https://www.youtube.com/playlist?list=PL9RbQODjRU8-sZx7HHW-j6SwF_YyF4FGO") #enter your playlist name

playlist.video_urls

for url in playlist:
    print(url)


for vid in playlist.videos:
    print(vid)

for url in playlist:
    YouTube(url).streams.filter(only_audio=True).first().download("./converted/")

Step 3: Now we will open the folder that is ‘converted’ and with the help of a loop we convert all the videos into mp3 and store them with their name via converting mp4 to mp3 file.

folder = "./converted/"
for file in os.listdir(folder):
  if re.search('mp4', file):
    print("Converting : " + file)
    mp4_path = os.path.join(folder,file)
    mp3_path = os.path.join(folder,os.path.splitext(file)[0]+'.mp3')
    new_file = mp.AudioFileClip(mp4_path)
    new_file.write_audiofile(mp3_path)
    os.remove(mp4_path)

So our final code will be:

from pytube import YouTube
from pytube import Playlist
import os
import moviepy.editor as mp #to convert the mp4 to wavv then mp3
import re

username = os.getlogin()
playlist = Playlist("https://www.youtube.com/playlist?list=PL9RbQODjRU8-sZx7HHW-j6SwF_YyF4FGO")
playlist.video_urls
for url in playlist:
    print(url)
for vid in playlist.videos:
    print(vid)
for url in playlist:
    YouTube(url).streams.filter(only_audio=True).first().download("./converted/")


folder = "./converted/"
for file in os.listdir(folder):
  if re.search('mp4', file):
    print("Converting : " + file)
    mp4_path = os.path.join(folder,file)
    mp3_path = os.path.join(folder,os.path.splitext(file)[0]+'.mp3')
    new_file = mp.AudioFileClip(mp4_path)
    new_file.write_audiofile(mp3_path)
    os.remove(mp4_path)

The output will be:

Playlist Video Links Will Appear here.
.
.
.
.
.
.
.
<pytube.__main__.YouTube object: videoId=pJqGzMcscdQ>
<pytube.__main__.YouTube object: videoId=zuSsyD6L3tQ>
<pytube.__main__.YouTube object: videoId=Tx_dhpdzbR0>
<pytube.__main__.YouTube object: videoId=sorIe59X6N4>
<pytube.__main__.YouTube object: videoId=0yA6NNW3BPk>
<pytube.__main__.YouTube object: videoId=--ZaaShJgpg>
<pytube.__main__.YouTube object: videoId=_I7eulVx5BI>
<pytube.__main__.YouTube object: videoId=S4sPAsxl-SM>
<pytube.__main__.YouTube object: videoId=DErJeWWwcbY>
<pytube.__main__.YouTube object: videoId=4DdPBhB2BOQ>
<pytube.__main__.YouTube object: videoId=eo2ArgQHsqg>
<pytube.__main__.YouTube object: videoId=FMwG8iLKgBE>
<pytube.__main__.YouTube object: videoId=IjR6Rgx3Nok>
<pytube.__main__.YouTube object: videoId=TZo0t7_SqDA>
<pytube.__main__.YouTube object: videoId=VzDJ5wTCNWs>
<pytube.__main__.YouTube object: videoId=SLgqjOS3Z5s>
<pytube.__main__.YouTube object: videoId=tYKweOhJOq4>
<pytube.__main__.YouTube object: videoId=tAbuD0cuw18>
<pytube.__main__.YouTube object: videoId=uBDxPRi0OoU>
<pytube.__main__.YouTube object: videoId=YIiIwBoXqVA>
Converting : Alban Ramosaj - Thikat E Mia (Kenga Magjike 2021).mp4
MoviePy - Writing audio in ./converted/Alban Ramosaj - Thikat E Mia (Kenga Magjike 2021).mp3
MoviePy - Done.
Converting : Alban Skenderaj - Une dhe Ti (Official Video HD).mp4
MoviePy - Writing audio in ./converted/Alban Skenderaj - Une dhe Ti (Official Video HD).mp3
MoviePy - Done.
Converting : Anastasia - Ligo Ligo (Λίγο Λίγο) Official Music Video.mp4
MoviePy - Writing audio in ./converted/Anastasia - Ligo Ligo (Λίγο Λίγο) Official Music Video.mp3
MoviePy - Done.
Converting : BARDHI x MAJK - AMA.mp4
MoviePy - Writing audio in ./converted/BARDHI x MAJK - AMA.mp3
MoviePy - Done.
Converting : Bossikan - Karatia (Official Music Video).mp4
MoviePy - Writing audio in ./converted/Bossikan - Karatia (Official Music Video).mp3
MoviePy - Done.
Converting : BUTRINT IMERI x TAYNA x MOZZIK - PARE.mp4
MoviePy - Writing audio in ./converted/BUTRINT IMERI x TAYNA x MOZZIK - PARE.mp3
MoviePy - Done.
Converting : Capital T X Alban Skenderaj - Nje Nate.mp4
MoviePy - Writing audio in ./converted/Capital T X Alban Skenderaj - Nje Nate.mp3
MoviePy - Done.
Converting : Donald - Nuk Je (Official Video).mp4
MoviePy - Writing audio in ./converted/Donald - Nuk Je (Official Video).mp3
MoviePy - Done.
Converting : Elgit Doda ft Xhensila - A e din (Official Video).mp4
MoviePy - Writing audio in ./converted/Elgit Doda ft Xhensila - A e din (Official Video).mp3
MoviePy - Done.
Converting : Elvana Gjata & Ledri Vula feat John Shahu - Mike.mp4
MoviePy - Writing audio in ./converted/Elvana Gjata & Ledri Vula feat John Shahu - Mike.mp3
MoviePy - Done.
Converting : Eneda Tarifa - Me veten 30 Mars 2010 - Top Fest 7.mp4
MoviePy - Writing audio in ./converted/Eneda Tarifa - Me veten 30 Mars 2010 - Top Fest 7.mp3
MoviePy - Done.
Converting : Fifi & Ermal Fejzullahu - Perjetesi (Prod by Fatjon Miftari).mp4
MoviePy - Writing audio in ./converted/Fifi & Ermal Fejzullahu - Perjetesi (Prod by Fatjon Miftari).mp3
MoviePy - Done.
Converting : Josephine - Κύμα Μου - Official Music Video.mp4
MoviePy - Writing audio in ./converted/Josephine - Κύμα Μου - Official Music Video.mp3
MoviePy - Done.
Converting : kenga me e bukur greke (tika taka tika tak).mp4
MoviePy - Writing audio in ./converted/kenga me e bukur greke (tika taka tika tak).mp3
MoviePy - Done.
Converting : KIDA x LEDRI VULA - TDU.mp4
MoviePy - Writing audio in ./converted/KIDA x LEDRI VULA - TDU.mp3
MoviePy - Done.
Converting : Ledri Vula - Monaco.mp4
MoviePy - Writing audio in ./converted/Ledri Vula - Monaco.mp3
MoviePy - Done.
Converting : Mad Clip & Eleni Foureira - Mporei - Official Music Video.mp4
MoviePy - Writing audio in ./converted/Mad Clip & Eleni Foureira - Mporei - Official Music Video.mp3
MoviePy - Done.
Converting : Majk x Gjiko - Kce Kce.mp4
MoviePy - Writing audio in ./converted/Majk x Gjiko - Kce Kce.mp3
MoviePy - Done.
Converting : Mihalis Hatzigiannis - To Kalokairi Mou (My Summer) - English Subtitles.mp4
MoviePy - Writing audio in ./converted/Mihalis Hatzigiannis - To Kalokairi Mou (My Summer) - English Subtitles.mp3
MoviePy - Done.
Converting : Semi Jaupaj - Mos u kthe.mp4
MoviePy - Writing audio in ./converted/Semi Jaupaj - Mos u kthe.mp3
MoviePy - Done.

Process finished with exit code 0

After this, it will show you all the videos of that particular playlist in a ‘converted’ folder.

I hope you like this article.

Thanks

Leave a Reply

Your email address will not be published. Required fields are marked *