728x90
반응형
[ 들어가며 ]
유튜브 동영상을 시청하다보면
소장하고 싶은 동영상이 있습니다.
물론 쉽게 구할 수 있는
유튜브 동영상 다운로드 프로그램이 많지만,
파이썬을 이용하여
간단하게
유튜브 동영상 다운로드 프로그램을
만들어 보겠습니다.
[ 전체 코드 ]
반응형
전체 코드를 먼저 보고
간단하게 설명을 하겠습니다.
import tkinter as tk
import tkinter.filedialog as fd
from pytube import YouTube
root = tk.Tk()
root.resizable(width=False, height=False)
label = tk.Label(root, text="URL 입력:")
label.pack(side="left", padx=5, pady=5)
entry = tk.Entry(root, width=50)
entry.pack(side="left", padx=5, pady=5)
button = tk.Button(root, text="다운로드")
button.pack(side="left", padx=5, pady=5)
exit_button = tk.Button(root, text="종료")
exit_button.pack(side="left", padx=5, pady=5)
def download():
try:
url = entry.get()
video = YouTube(url)
title = video.title
filename = fd.asksaveasfilename(initialfile=title, defaultextension=".mp4")
best_stream = video.streams.get_highest_resolution()
best_stream.download(filename)
print("다운로드 완료:", url)
except Exception as e:
print("다운로드 오류:", str(e))
button.config(command=download)
def exit():
root.destroy()
exit_button.config(command=exit)
root.mainloop()
[ 코드 설명 ]
import tkinter as tk
import tkinter.filedialog as fd
from pytube import YouTube
tkinter는 사용자 인터페이스를 만들기 위해 사용했으며,
pytube는 유튜브 동영상을 다운로드 하기 위해 사용했습니다.
root.resizable(width=False, height=False)
창 크기를 조절하지 못하도록 하는 코드입니다.
label = tk.Label(root, text="URL 입력:")
label.pack(side="left", padx=5, pady=5)
entry = tk.Entry(root, width=50)
entry.pack(side="left", padx=5, pady=5)
button = tk.Button(root, text="다운로드")
button.pack(side="left", padx=5, pady=5)
exit_button = tk.Button(root, text="종료")
exit_button.pack(side="left", padx=5, pady=5)
이 부분은 tkinter를 사용해
인터페이스를 만든 부분입니다.
url = entry.get()
entry에 입력된 유튜브 URL을 얻어와
url 이라는 변수에 넣어줍니다.
video = YouTube(url):
YouTube 동영상 객체를 생성합니다.
title = video.title:
동영상의 제목을 가져옵니다.
filename = fd.asksaveasfilename(initialfile=title, defaultextension=".mp4"):
파일 선택 대화상자를 표시하고 파일 이름을 가져옵니다.
initialfile 옵션으로 제목을 설정하고, defaultextension 옵션으로 mp4 파일 확장자를 설정합니다.
best_stream = video.streams.get_highest_resolution():
최고 해상도 스트림을 가져옵니다.
best_stream.download(filename):
스트림을 다운로드하여 지정된 파일 이름으로 저장합니다.
간단하게 소스코드만 소개하기 위해 작성해서
설명이 조금 부족하지만,
pytube를 사용하면
간단한한 유튜브 다운로드 프로그램을 만들 수 있습니다.
여기를 방문하시면 더 많은 파이썬 관련 자료를 확인할 수 있습니다.
728x90
반응형
'파이썬(Python)' 카테고리의 다른 글
[ Tkinter ] 파이썬 진행상태바 만들기, 프로그래스바와 레이블을 활용한 GUI 진행 상황 표시 (0) | 2024.01.08 |
---|---|
[ 크롤링-Selenium ] 웹 크롤링 네이버 로그인 하기, 캡챠 없이 로그인 하기 (1) | 2023.12.12 |
[ Basic ] 파이썬 함수 사용하기 : 함수의 정의와 호출, print(함수호출)시 None이 출력되는 이유 (0) | 2023.12.04 |
[ Basic ] 파이썬 Input() 함수, 사용자 입력 다루기와 유용한 예제들 (0) | 2023.12.02 |
[ 알고리즘 ] 1부터 n까지 숫자의 합 구하기, 1~100 / 1~1000 까지 숫자의 합 구하기, 알고리즘에 따라 걸리는 시간 (1) | 2023.11.29 |