I often need to download videos from Youtube in mp3
format. There are many websites where you can convert Youtube videos to mp3
, but I am giving you a simple Python script that does the same job.
I am using youtube_dl. Command-line program to download videos from YouTube.com and other video sites. It requires the Python interpreter, version 2.6, 2.7, or 3.2+, and it is not platform-specific. It should work on your Unix box, on Windows, or on macOS.
Let's jump to the code:
import youtube_dl
def run():
video_url = input("please enter youtube video url:")
video_info = youtube_dl.YoutubeDL().extract_info(
url = video_url,download=False
)
filename = f"{video_info['title']}.mp3"
options={
'format':'bestaudio/best',
'keepvideo':False,
'outtmpl':filename,
}
with youtube_dl.YoutubeDL(options) as ydl:
ydl.download([video_info['webpage_url']])
print("Download complete... {}".format(filename))
if __name__=='__main__':
run()
Just enter the URL of the song and the script will download that song in mp3
format, cool isn't it?
Thank you all.
Top comments (22)
Thanks. I will try this out.
Thank you.
Here is also the code to download mp3 from youtube in highest possible quality using pytube:
But it I can't edit the mp3 tags of the file download with it. Can anyone tell me what happand?
Tried this code and, mind full that I am a beginner! Running this in Jupyter Notebook i didn't get prompt to add the URL?
I will test this out and let you know.
Thanks....awaiting your feedback.
why not
pytube
?pypi.org/project/pytube/
or
pytube3
,pytubeX
I used the pytube but I don't know how to download files as mp3, I did download the audio only but the format was mp4.
that's why I am trying this library as I found an explanation how to do it.
thaks for the post!
i had some problems with the code and i extended it to be able to download single songs and playlists. (sorry for the bad english not nativ)
comment for simplification.
You can now also choose the output!
it is really userfully
Thanks
Really cool. I tried it out and it works really fast, and flawlessly.
Thanks.
Seriously, most of these "How to do X in language Y" type 'articles' should be renamed "How to call a function in language Y"
Maybe, but I disagree with you.
What do I get out of this vs just running the program itself.
The CLI might be sufficient for the average use case.
The docs explain how to use the CLI with options.
github.com/ytdl-org/youtube-dl#des...
I guess the downside is that you have to pass those on the command-line each time, so you can write a shell script or Python script which effectively holds all that config logic and asks for user input and runs the library.
The CLI options look comprehensive so I'd guess the features are the same. And for a simple case like download a single video, the CLI way could fit on one or two lines and save having to setup a Python script of 10 or 20 lines.
But maybe using the library in a Python script helps for a level of abstraction. Like if you want to build a web or GUI interface on top or have more control on what to download and where it is saved and making directories or printing a progress report or retrying bad URLs etc.
Help me how to convert and download to mp4 file.
You can use pytube. It's lightweight, dependency-free Python library (and command-line utility) for downloading YouTube Videos.
hi, where does the file go after you download it? it isnt showing up for me anywhere
I've got "WARNING: yaBcFvKEXDo" and it suggested me to install ffmpeg or avconv to fix this, but what should I do when I install it?