Advertisement
amv1991

Baixar do YouTube (com Tkinter)

Jan 31st, 2021
1,507
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.55 KB | None | 1 0
  1. from tkinter import *
  2. from tkinter import filedialog
  3. from PIL import Image, ImageTk
  4. import pytube
  5.  
  6. #Valor hexadecimal da cor da janela, para outras cores visite o
  7. #   site https://www.rapidtables.com/convert/color/rgb-to-hex.html
  8. #   Altere o RGB e clique em Convert, depois basta copiar o Hex color code
  9. cor = "#E8A722"
  10.  
  11. #Configurações do form (janela do programa)
  12. root = Tk()
  13. root.title("YouYube Downloader")
  14. root.resizable(False, False)
  15.  
  16. #Respectivamente a altura e largura da janela com a distância do programa em relação a parte esquerda e de cima da tela
  17. root.geometry("550x150+433+234")
  18. root.config(bg=cor)
  19.  
  20. #Variáveis globais, duas para receber o conteúdo dos componentes tkinter.Entry
  21. #   e duas para converter as primeiras em tipo string
  22. stringURL = StringVar()
  23. stringDiretorio =StringVar()
  24. url = str()
  25. caminho = str()
  26.  
  27. #Função para selecionar o diretório onde o vídeo será salvo
  28. def ondeSalvar():
  29.     global caminho
  30.     caminho = filedialog.askdirectory()
  31.     stringDiretorio.set(caminho)
  32.  
  33. #Função para baixar o vídeo
  34. def baixarVideo():
  35.     global url
  36.     url = stringURL.get()   #Copia o tipo StringVar para string (necessário para a função pytube)
  37.     youtube = pytube.YouTube(url)   #Recebe as informações do vídeo com a URL (copiada na linha acima)
  38.     video = youtube.streams.get_highest_resolution()    #Modo de download
  39.     video.download(caminho, youtube.title)      #Baixa o vídeo passando o caminho e nome
  40.  
  41. #Variável para receber uma imagem que será exibida no programa
  42. #Ícone baixado aqui: https://icon-icons.com/pt/icone/sociais-youtube/2201
  43. img = ImageTk.PhotoImage(Image.open("YouTube.ico"))     #Basta colocálo na mesma pasta que o projeto Python
  44.  
  45. #3 Labels, uma para a imagem (apague se não houver imagem)
  46. #   As outras duas são para receber o URL do vídeo e o diretório onde salvá-lo
  47. lb1 = Label(root, image=img, bg=cor).pack(anchor=NW)
  48. lb2 = Label(root, text="URL do vídeo", bg=cor).place(x=130, y=5)
  49. lb3 = Label(root, text="Onde salvar", bg=cor).place(x=130, y=35)
  50.  
  51. #Duas entradas para receber URL e diretório, fazem conexão com as variáveis
  52. #   globais stringURL e stringDiretorio
  53. et1 = Entry(root, textvariable=stringURL, width=53).place(x=210, y=5)
  54. et2 = Entry(root, textvariable=stringDiretorio, width=53).place(x=210, y=35)
  55.  
  56. #Botões para chamar as funções ondeSalvar() e baixarVideo()
  57. bt1 = Button(root, text="Onde salvar", width=20, command=ondeSalvar).place(x=210, y=65)
  58. bt2 = Button(root, text="Baixar vídeo", width=20, command=baixarVideo).place(x=380, y=65)
  59.  
  60. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement