Crie GUI para baixar vídeos do Youtube usando Python
Pré-requisitos: GUI Python - tkinter
O YouTube é um site de compartilhamento de vídeo muito popular. Baixar um vídeo / playlist do YouTube é uma tarefa tediosa. Baixar esse vídeo através do Downloader ou tentar baixá-lo de um site aleatório, o que aumenta o risco de lamber seus dados pessoais. Usando o pacote Python Tkinter, essa tarefa é muito simples, eficiente e segura. Poucos códigos de grupo farão o download do vídeo para você. Para isso, existem duas bibliotecas Python - Tkinter e pytube .
Módulos necessários
- pytube: pytube é uma biblioteca Python leve, simples de usar e livre de dependências que é usada para baixar vídeos do web.pytube, não é uma biblioteca configurada automaticamente. Você precisa instalá-lo antes de usá-lo. A instalação do pytube é fácil quando você tem pip. No Terminal ou Prompt de Comando, digite o seguinte comando para instalar o pytube.
Se você estiver no Mac OS X ou Linux, é provável que um dos dois comandos a seguir funcione para você:
pip install pytube
git clone git: //github.com/NFicano/pytube.git pytube | cd pytube | python setup.py installSe você estiver no Windows
pip install pytube3
- Tkinter : Tkinter é uma ligação Python ao kit de ferramentas Tk GUI. É a interface padrão do Python para o kit de ferramentas Tk GUI ou, em palavras simples, o Tkinter é usado como interface gráfica do usuário Python. Tkinter é a biblioteca nativa, você não precisa instalar externamente, apenas importar, enquanto usa.
Abaixo está a implementação.
import
tkinter as tk
from
tkinter
import
*
from
pytube
import
YouTube
from
tkinter
import
messagebox, filedialog
def
Widgets():
link_label
=
Label(root,
text
=
"YouTube link :"
,
bg
=
"#E8D579"
)
link_label.grid(row
=
1
,
column
=
0
,
pady
=
5
,
padx
=
5
)
root.linkText
=
Entry(root,
width
=
55
,
textvariable
=
video_Link)
root.linkText.grid(row
=
1
,
column
=
1
,
pady
=
5
,
padx
=
5
,
columnspan
=
2
)
destination_label
=
Label(root,
text
=
"Destination :"
,
bg
=
"#E8D579"
)
destination_label.grid(row
=
2
,
column
=
0
,
pady
=
5
,
padx
=
5
)
root.destinationText
=
Entry(root,
width
=
40
,
textvariable
=
download_Path)
root.destinationText.grid(row
=
2
,
column
=
1
,
pady
=
5
,
padx
=
5
)
browse_B
=
Button(root,
text
=
"Browse"
,
command
=
Browse,
width
=
10
,
bg
=
"#05E8E0"
)
browse_B.grid(row
=
2
,
column
=
2
,
pady
=
1
,
padx
=
1
)
Download_B
=
Button(root,
text
=
"Download"
,
command
=
Download,
width
=
20
,
bg
=
"#05E8E0"
)
Download_B.grid(row
=
3
,
column
=
1
,
pady
=
3
,
padx
=
3
)
def
Browse():
download_Directory
=
filedialog.askdirectory(initialdir
=
"YOUR DIRECTORY PATH"
)
download_Path.
set
(download_Directory)
def
Download():
Youtube_link
=
video_Link.get()
download_Folder
=
download_Path.get()
getVideo
=
YouTube(Youtube_link)
videoStream
=
getVideo.streams.first()
videoStream.download(download_Folder)
messagebox.showinfo(
"SUCCESSFULLY"
,
"DOWNLOADED AND SAVED IN\n"
+
download_Folder)
root
=
tk.Tk()
root.geometry(
"600x120"
)
root.resizable(
False
,
False
)
root.title(
"YouTube_Video_Downloader"
)
root.config(background
=
"#000000"
)
video_Link
=
StringVar()
download_Path
=
StringVar()
Widgets()
root.mainloop()
Resultado:
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva