파이썬 유튜브 자동화 시리즈, 마지막 5강에 오신 것을 환영합니다!
이번 강의에서는 **유튜브 영상의 썸네일 이미지를 저장**하고, **영상에서 오디오(mp3)를 추출**한 뒤, 이를 **폴더별로 자동 정리하는 전체 자동화 워크플로우**를 만들어봅니다.
유튜브에서 가져온 콘텐츠를 체계적으로 정리하고 보관하거나, 다른 플랫폼에 재가공하기 위해 필요한 핵심 스킬들을 한 번에 실습해볼 수 있어요.
—
1. 준비할 라이브러리
✅ 설치 명령어:
“`bash
pip install pytube
pip install moviepy
“`
– `pytube`: 영상 다운로드 및 썸네일 추출
– `moviepy`: mp4 영상에서 mp3 오디오 추출
—
2. 영상의 썸네일 자동 저장하기
“`python
from pytube import YouTube
import requests
import os
url = “https://www.youtube.com/watch?v=영상ID”
yt = YouTube(url)
# 썸네일 이미지 URL 추출
thumbnail_url = yt.thumbnail_url
# 폴더 생성
os.makedirs(“downloads/thumbnails”, exist_ok=True)
# 썸네일 저장
img_data = requests.get(thumbnail_url).content
with open(“downloads/thumbnails/thumbnail.jpg”, “wb”) as f:
f.write(img_data)
print(“썸네일 저장 완료”)
“`
✅ 결과: downloads/thumbnails 폴더에 jpg 파일 저장됨
—
3. 영상(mp4) 다운로드 + 오디오(mp3) 추출
“`python
from moviepy.editor import VideoFileClip
# 영상 다운로드
stream = yt.streams.filter(progressive=True, file_extension=”mp4″).order_by(“resolution”).desc().first()
stream.download(output_path=”downloads/videos”, filename=”video.mp4″)
# mp3 추출
video = VideoFileClip(“downloads/videos/video.mp4”)
video.audio.write_audiofile(“downloads/audio/audio.mp3”)
“`
✅ 결과:
– mp4: downloads/videos/video.mp4
– mp3: downloads/audio/audio.mp3
—
4. 영상 제목 기준으로 자동 폴더 정리하기
“`python
title = yt.title.replace(” “, “_”).replace(“/”, “-“)[:30] # 파일명 안전하게 자르기
folder = f”downloads/{title}”
os.makedirs(folder, exist_ok=True)
# 저장 파일 위치
video_path = yt.streams.get_highest_resolution().download(output_path=folder, filename=”video.mp4″)
VideoFileClip(video_path).audio.write_audiofile(f”{folder}/audio.mp3″)
# 썸네일도 같이 저장
img_data = requests.get(thumbnail_url).content
with open(f”{folder}/thumbnail.jpg”, “wb”) as f:
f.write(img_data)
“`
—
5. 여러 영상 반복 처리 자동화
“`python
video_urls = [
“https://www.youtube.com/watch?v=xxxx”,
“https://www.youtube.com/watch?v=yyyy”
]
for url in video_urls:
yt = YouTube(url)
title = yt.title.replace(” “, “_”)[:30]
folder = f”downloads/{title}”
os.makedirs(folder, exist_ok=True)
video_path = yt.streams.get_highest_resolution().download(output_path=folder, filename=”video.mp4″)
VideoFileClip(video_path).audio.write_audiofile(f”{folder}/audio.mp3″)
img_data = requests.get(yt.thumbnail_url).content
with open(f”{folder}/thumbnail.jpg”, “wb”) as f:
f.write(img_data)
“`
—
📌 오늘의 요약
- pytube로 유튜브 영상 다운로드 + 썸네일 URL 추출 가능
- moviepy로 mp3 오디오 추출 가능
- 영상 제목 기준으로 폴더 생성 → 자동 정리까지 완료
—
🎉 유튜브 자동화 시리즈 완주를 축하합니다!
이제 여러분은 유튜브에서:
– 검색 → 다운로드 → 댓글 수집 → 정리/가공까지
전체 자동화 흐름을 파이썬으로 처리할 수 있는 실전 실력을 갖추게 되었습니다.
앞으로는 이 기능들을 활용해:
– 유튜브 기반 콘텐츠 데이터 분석
– 트렌드 리포트 생성 자동화
– SNS 콘텐츠 제작 자동화 등
다양하게 확장해보시길 바랍니다!
필요하시면 다음에는 “유튜브 API 인증 기반 자동 업로드 자동화”도 안내해드릴 수 있어요!
—
이 강의는 파이썬 유튜브 자동화 입문 시리즈의 마지막 편입니다. 새로운 시리즈도 곧 시작됩니다!