파이썬이 제일 쉬워

[Python] Pytube로 유튜브 동영상 다운로드 하기 #2 본문

Python

[Python] Pytube로 유튜브 동영상 다운로드 하기 #2

HighBright 2023. 10. 31. 16:45

[Python] Pytube로 유튜브 동영상 다운로드 하기 #2

썸네일, 음원 다운로드

 

저번 글에 이어서 이번에는 영상의 썸네일과 음원도 다운로드하는 방법을 알아봅시다.

좀 찾아봤는데 썸네일은 pytube 자체만으로는 다운로드 하는 방법을 모르겠어서 requests를 이용할겁니다.

 

from pytube import YouTube
import re
import requests

video_url = input("동영상 URL 입력: ")
yt = YouTube(video_url)
# 영상 제목 정규화 (A-Z, a-z, 0-9, 가-힣, \s[띄어쓰기]가 아닌 것은 ''[공백] 처리)
video_title = re.sub('[^A-Za-z0-9가-힣\s]+', '', yt.title)
yt.streams.get_highest_resolution().download(output_path='./', filename=video_title+'.mp4')
 
thumbnail_url = yt.thumbnail_url # 썸네일 url 가져오기
response = requests.get(thumbnail_url) # requests로 url열기
with open(video_title+".png", "wb") as thumbnail_file: # 저장하기
    thumbnail_file.write(response.content)

print(video_title, "다운로드 완료")

이제 실행시켜주면 성공적으로 썸네일이 저장되는 것을 확인할 수 있습니다.

 

다음은 음원만 받는 방법을 알아봅시다. 굉장히 간단합니다.

yt.streams.get_highest_resolution().download(output_path='./', filename=video_title+'.mp4')

요 코드를 복사해서 get_highest_resolution() 부분을 get_audio_only()로만 바꿔주고 확장자를 .mp3로 바꾸기만 하면 끝!

 

전체 코드

from pytube import YouTube
import re
import requests

video_url = input("동영상 URL 입력: ")
yt = YouTube(video_url)
# 영상 제목 정규화 (A-Z, a-z, 0-9, 가-힣, \s[띄어쓰기]가 아닌 것은 ''[공백] 처리)
video_title = re.sub('[^A-Za-z0-9가-힣\s]+', '', yt.title)
yt.streams.get_highest_resolution().download(output_path='./', filename=video_title+'.mp4')
yt.streams.get_audio_only().download(output_path='./', filename=video_title+'.mp3') # 음원 파일 다운로드
 
thumbnail_url = yt.thumbnail_url # 썸네일 url 가져오기
response = requests.get(thumbnail_url) # requests로 url열기
with open(video_title+".png", "wb") as thumbnail_file: # 저장하기
    thumbnail_file.write(response.content)

print(video_title, "다운로드 완료")

참 쉽죠? ㅇㅅㅇ

Comments