Youtube에서 음원만 받을 일이 있을가 싶긴한데
동영상 다운받는 방법은 인터넷에서 찾기 쉬운 받면
음원만 받는 방법을 포스팅 한건 별로 없고.
대신음원을 추출해주는 사이트는 많더라구요.
그런곳 이용 안하고 파이썬으로 굳이 받아보자면..
라이브러리는 youtube_dl 사용합니다. 동영상 받을때랑 거의 비슷합니다.
pip install youtube_dl 설치 해주고
코드를 작성해보면
from __future__ import unicode_literals
import youtube_dl
def downYoutubeMp3(url):
ydl_opts = {
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])
if __name__ == '__main__':
downYoutubeMp3("동영상링크")
위에 소스를 그대로 돌리면 코덱이 없다고 에러메시지를 뿌립니다.

https://www.gyan.dev/ffmpeg/builds/ 에서 ffmpeg-release-essentials.zip
파일을 받아 압축을 풀후 bin 폴더에 있는 파일을 작성한 소스코드가 있는곳에 풀어줍니다.
그리고 실행한후 아래와 같이 받아지면 성공입니다.

p.s. line 14에서 IndentationError: unexpected indent 발생하여 살펴보니 그대로 복붙해서 생긴 문제였네요. 탭을 하나 지워주니 해결되었습니다.
https://www.4kdownload.com/ko/products/youtubetomp3
downYoutubeMp3("동영상링크")
이거를 여러개 아래로 반복하면 될까요?
downYoutubeMp3 함수를, for문 안에 배치시키시고, 작성하신 링크리스트를 하나씩 참조해서 돌리시면 될거에요. 저도 그렇게 하고 있습니다.
그런데, 그게 말씀하신 방법과 동일한 방법같습니다.
youtube_dl.utils.DownloadError: ERROR: ffprobe/avprobe and ffmpeg/avconv not found. Please install one.
구글링한 해결법은 아래와 같지만...
https://medium.com/@woeterman_94/quickfix-youtube-dl-ffprobe-or-avprobe-not-found-please-install-one-df07e94bec7b
해결되지는 않네요. 윈도우에 VSC로 하는 중이었습니다. 음.. 해결법이 있을까요?
https://stackoverflow.com/questions/30770155/ffprobe-or-avprobe-not-found-please-install-one
여러 제안들이 있는데, 단순히, 코덱을 pip install하는 경우는 해결되지 않았고, 아래 문구를 참조해서, 원글 작성자님께서 설명하신것과는 조금 다르게, 파이썬 설치폴더 아래에 script 폴더에 파일(원글작성자님께서 설명하신 다운/복사)을 복사한 이후에 해결됐습니다.
, If you face the same issue, then download ffmpeg builds and put all the .exe files to Script folder($path: "Python\Python38-32\Scripts") (Windows OS only)