Requisitos previos: interfaz gráfica de usuario de Python – tkinter
YouTube es un sitio web muy popular para compartir videos. Descargar un video/lista de reproducción de YouTube es una tarea tediosa. Descargar ese video a través de Downloader o intentar descargarlo de un sitio web aleatorio aumenta el riesgo de lamer sus datos personales. Usando el paquete Python Tkinter, esta tarea es muy simple, eficiente y segura. Pocos códigos de grupo descargarán el video por ti. Para esto, hay dos bibliotecas de Python: Tkinter y pytube .
Módulos Requeridos:
- pytube: pytube es una biblioteca de Python liviana, fácil de usar y sin dependencias que se usa para descargar videos de la web. pytube, no es una biblioteca configurada automáticamente. Necesitas instalarlo antes de usarlo. La instalación de pytube es fácil cuando tienes pip. En la Terminal o Símbolo del sistema, escriba el siguiente comando para instalar pytube.
Si está en Mac OS X o Linux, lo más probable es que uno de los siguientes dos comandos funcione para usted:
pip instalar pytube
git clone git://github.com/NFicano/pytube.git pytube | pitube de cd | instalar python setup.py
- Si estás en Windows
pip install pytube3
- Tkinter : Tkinter es un enlace de Python al kit de herramientas de la GUI de Tk. Es la interfaz estándar de Python para el kit de herramientas Tk GUI o, en palabras simples, Tkinter se usa como una interfaz gráfica de usuario de Python. Tkinter es la biblioteca nativa, no necesita instalarla externamente, solo importe, mientras la usa.
A continuación se muestra la implementación.
Python3
# Importing necessary packages import tkinter as tk from tkinter import * from pytube import YouTube from tkinter import messagebox, filedialog # Defining CreateWidgets() function # to create necessary tkinter widgets def Widgets(): head_label = Label(root, text="YouTube Video Downloader Using Tkinter", padx=15, pady=15, font="SegoeUI 14", bg="palegreen1", fg="red") head_label.grid(row=1, column=1, pady=10, padx=5, columnspan=3) link_label = Label(root, text="YouTube link :", bg="salmon", pady=5, padx=5) link_label.grid(row=2, column=0, pady=5, padx=5) root.linkText = Entry(root, width=35, textvariable=video_Link, font="Arial 14") root.linkText.grid(row=2, column=1, pady=5, padx=5, columnspan=2) destination_label = Label(root, text="Destination :", bg="salmon", pady=5, padx=9) destination_label.grid(row=3, column=0, pady=5, padx=5) root.destinationText = Entry(root, width=27, textvariable=download_Path, font="Arial 14") root.destinationText.grid(row=3, column=1, pady=5, padx=5) browse_B = Button(root, text="Browse", command=Browse, width=10, bg="bisque", relief=GROOVE) browse_B.grid(row=3, column=2, pady=1, padx=1) Download_B = Button(root, text="Download Video", command=Download, width=20, bg="thistle1", pady=10, padx=15, relief=GROOVE, font="Georgia, 13") Download_B.grid(row=4, column=1, pady=20, padx=20) # Defining Browse() to select a # destination folder to save the video def Browse(): # Presenting user with a pop-up for # directory selection. initialdir # argument is optional Retrieving the # user-input destination directory and # storing it in downloadDirectory download_Directory = filedialog.askdirectory( initialdir="YOUR DIRECTORY PATH", title="Save Video") # Displaying the directory in the directory # textbox download_Path.set(download_Directory) # Defining Download() to download the video def Download(): # getting user-input Youtube Link Youtube_link = video_Link.get() # select the optimal location for # saving file's download_Folder = download_Path.get() # Creating object of YouTube() getVideo = YouTube(Youtube_link) # Getting all the available streams of the # youtube video and selecting the first # from the videoStream = getVideo.streams.first() # Downloading the video to destination # directory videoStream.download(download_Folder) # Displaying the message messagebox.showinfo("SUCCESSFULLY", "DOWNLOADED AND SAVED IN\n" + download_Folder) # Creating object of tk class root = tk.Tk() # Setting the title, background color # and size of the tkinter window and # disabling the resizing property root.geometry("520x280") root.resizable(False, False) root.title("YouTube Video Downloader") root.config(background="PaleGreen1") # Creating the tkinter Variables video_Link = StringVar() download_Path = StringVar() # Calling the Widgets() function Widgets() # Defining infinite loop to run # application root.mainloop()
Producción:
Publicación traducida automáticamente
Artículo escrito por akash_kumar_singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA