티스토리 뷰

안녕하세요. 코드로 벌어 먹고 사는 직장인 '코드장인'입니다.

 

오늘은 파이썬 코드 다섯 줄로 유튜브에서 MP3 음원을 추출해 보겠습니다.

 

 

먼저 ChatGPT에게 물어 보았습니다.

 

"파이썬으로 유튜브 음원 추출하는 코드를 알려 주세요"

 

ChatGPT는 유튜브 음원 추출이 불법이라서 알려 줄 수 없다고 합니다.

 

궁금하신 분은 ChatGPT에 직접 확인해 보세요.

 

ChatGPT 바로가기

 

 

그러나 다운로드 자체는 불법이 아니고 다운로드받은 콘텐츠를 상업적으로 사용하면 불법입니다.

 

그래서 제가 다운로드받는 방법을 알려 드리겠습니다.

 

 

코딩은 주피터 노트북으로 하겠습니다. 

 

혹시 쥬피터 노트북이 없다면 먼저 설치해 주세요.

 

쥬피터 노트북 설치 가이드

 

 

 

이제 시작하겠습니다.

 

1. pytube를 설치합니다.

%pip install pytube

 

이것도 한 줄로 치겠습니다.

 

 

 

커널을 재시작하는 게 좋다고 합니다.

 

Kernel -> Restart를 실행해 주세요.

 

이제 4줄 남았습니다.

 

 

2. MP3 추출을 위한 코드를 작성합니다.

from pytube import YouTube
link = input("Enter a youtube video's URL")
yt = YouTube(link)
yt.streams.filter(only_audio=True).first().download()

 

끝났습니다.

 

실행해 보겠습니다.

 

 

 

다운로드하고 싶은 노래가 있는 유튜브 주소를 입력하면 됩니다.

 

테스트를 위해서 아주 짧은 노래를 찾아보았습니다.

 

아이유 드라마라는 노래인데 재생시간이 2분 8초입니다.

 

동영상 URL을 복사합니다.

 

 

 

 

URL을 입력하고 엔터를 칩니다.

 

다운로드가 끝났습니다.

 

파일 탐색기로 확인해 봅니다.

 

클릭해서 재생해 보겠습니다.

 

 

잘 나옵니다. 

 


 

그런데 문제가 조금 있네요.

 

MP4 파일로 저장되어서 동영상 플레이어로 재생됩니다. 

 

확장자를 바꿔 주겠습니다. (한 줄만 추가하겠습니다.)

 

import os
os.rename(filePath, filePath.replace('mp4', 'mp3'))

앗,  두 줄이네요.

 

 

전체 코드는 여기서 확인해 보세요.

 

 

 

다시 테스트해 보겠습니다.

 

아까 복사한 주소를 입력합니다.

 

 

mp3 다운로드가 끝났습니다.

 

다시 파일을 확인해 볼까요?

 

드디어 mp3 파일로 저장되었습니다.

 

 

재생해 보겠습니다.

 

잘 나옵니다.

 

5줄로 끝내려고 했는데 총 8줄이 되었습니다.

 

 

사과하는 의미로 '유튜브 MP3 변환기' 실행 파일을 만들어 드리겠습니다.

 

 

yt-to-mp3-down.py 파일을 만듭니다.

 

그리고 주피터 노트북으로 만든 코드를 복사하고 저장합니다.

 

 

 

▶▶▶ 혹시 파이썬 파일이 필요하면 여기서 다운로드하세요 ◀

 

 

그리고 커맨드 창에서 pyinstaller로 실행파일을 만듭니다.

 

pyinstaller --onefile --console yt-to-mp3-down.py

 

옵션 의미는 아래와 같습니다.

 

--onefile: 파일 하나로 만든다.

--console: 콘솔 프로그램이다.

 

 

빌드가 끝나면 dist 폴더 아래에 실행파일이 있습니다.

 

 

 

실행해 볼까요?

 

아쉽지만 GUI 프로그램은 아닙니다.

 

URL을 입력하고 엔터를 칩니다.

 

MP3 다운로드가 끝났습니다.

 

파일 탐색기로 보니 제대로 다운로드되었습니다.

 

 

 

최종 빌드된 실행 파일입니다. 유튜브에서 좋아하는 노래를 마음껏 받아 보세요.

 

유튜브 MP3 음원 추출기 다운로드하기

 

단, 상업적인 용도로 사용하면 불법입니다.

 

 

만일 동영상을 다운로드하고 싶다면 아래처럼 한 줄만 바꾸면 됩니다.

 

from pytube import YouTube
link = input("Enter a youtube video's URL") # i.e. https://youtu.be/dQw4w9WgXcQ
yt = YouTube(link)
#오디오 추출
#yt.streams.filter(only_audio=True).first().download()
#동영상 추출
yt.streams.first().download()

 

 

오늘은 파이썬 코드 다섯 줄로 유튜브에서 MP3 음원을 추출해 보려고 했는데 여덟 줄이 되어 버렸네요.

 

어쨌든 성공했으니 다행입니다.

 

파이썬 참 쉽지 않나요?

 

조금만 공부하면 쓸모있는 프로그램을 뚝딱 만들 수 있습니다.

 

오늘 내용이 도움이 되었다면 코딩에 관심있는 주변 분들에게도 알려 주세요. 

 

기쁨은 나누면 두 배가 된다고 합니다^^

 

"Just Code It !"

 

 

감사합니다.