Создайте простое приложение для загрузки видео с YouTube на Python
В этой статье мы создадим приложение для загрузки видео с YouTube на Python, используя библиотеку PyTube.
Для создания графического пользовательского интерфейса (GUI) мы будем использовать библиотеку Tkinter; а для обработки загрузки видео мы будем полагаться на PyTube — легкую библиотеку Python для загрузки контента YouTube.
🛠 Объяснение
Теперь давайте разберем код и разберем каждую строку шаг за шагом:
👉 Шаг 1
Установите библиотеки, которые мы собираемся использовать.
Для создания этого проекта убедитесь, что на вашем компьютере установлены Python и pip.
Вставьте эти строки в свой терминал, открытый в определенном каталоге, в котором вы хотите написать код для этого проекта.
pip install tkinter
pip install pytube
👉 Шаг 2
# importing tkinter
from tkinter import *
# importing pytube module
from pytube import YouTube
# initializing tkinter
root = Tk()
# setting the geometry of the GUI
root.geometry("400x350")
# setting the title of the GUI
root.title("Youtube Video Downloader Application")
Tkinter и Pytube импортированы.
Окно графического интерфейса активируется с размерами (width - 400px | height - 350px)
и заголовком («Приложение для загрузки видео с YouTube»).
# defining download function
def download():
# using try and except to execute the program without errors
try:
myVar.set("Downloading...")
root.update()
YouTube(link.get()).streams.first().download()
link.set("Video downloaded successfully")
except Exception as e:
myVar.set("Mistake")
root.update()
link.set("Enter correct link")
Функция под названием «download»
определена для управления процессом загрузки.
Внутри блока try-Exception
он устанавливает сообщение о состоянии и соответствующим образом обновляет графический интерфейс как «Downloading...
».
Затем использует Pytube для загрузки видео по введенной ссылке YouTube и настраивает сообщение о состоянии на «Video downloaded successfully
».
Если возникает исключение, оно обновляет статус, указывая на ошибку — «Mistake»
, и предлагает пользователю ввести правильную ссылку.
# created the Label widget to welcome user
Label(root, text="Welcome to youtube\nDownloader Application", font="Consolas 15 bold").pack()
Для пользователя создается метка с сообщением «Welcome to youtube\nDownloader Application
».
Здесь «\n
» означает переход на следующую строку.
Для оформления текста используется шрифт «Consolas
», размер шрифта «15
» и толщина шрифта «жирный
».
# declaring StringVar type variable
myVar = StringVar()
# setting the default text to myVar
myVar.set("Enter the link below")
# created the Entry widget to ask the user to enter the URL
Entry(root, textvariable=myVar, width=40).pack(pady=10)
Создается переменная с именем «myVar
» типа StringVar
.
Установить в качестве текста по умолчанию (Ввод) для подсказок пользователю. («Enter the link below
»)
Здесь «pady
» — это отступ по оси Y
для улучшения визуального макета.
👉 Шаг 6
# declaring StringVar type variable
link = StringVar()
# created the Entry widget to get the link
Entry(root, textvariable=link, width=40).pack(pady=10)
Создается еще одна переменная под названием «link
» типа StringVar
.
Виджет ссылки для входа создан для того, чтобы пользователи могли ввести желаемую ссылку на YouTube.
Здесь также «pady
» — это отступ по оси Y
.
👉 Шаг 7
# created and called the download function to download video
Button(root, text="Download Video", command=download).pack()
# running the mainloop
root.mainloop()
Создается кнопка с надписью «Download Video
» и связанная с ней команда, установленная как функция «загрузки», которая будет выполняться при нажатии.
С помощью mainloop()
графический интерфейс входит в цикл событий, позволяя пользователям взаимодействовать с приложением.
Программа будет продолжать работать до тех пор, пока пользователь не решит закрыть окно графического интерфейса пользователя (GUI
).
🙌 Подведение итогов
Поздравляем!
Вы успешно создали удобный загрузчик видео с YouTube, используя Tkinter для графического пользовательского интерфейса и Pytube для загрузки видео с YouTube на Python.
Я надеюсь, что эта статья оказалась для вас полезной, и спасибо, что дочитали ее до конца. ❤️
Свяжитесь со мной: linktree
Приятного кодирования! 🚀