Voraussetzungen: Python GUI - tkinter

YouTube ist eine sehr beliebte Website zum Teilen von Videos. Das Herunterladen von Videos / Wiedergabelisten von YouTube ist eine mühsame Aufgabe. Wenn Sie dieses Video über Downloader herunterladen oder versuchen, es von einer zufälligen Website herunterzuladen, erhöht sich das Risiko, dass Ihre persönlichen Daten geleckt werden. Mit dem Python Tkinter-Paket ist diese Aufgabe sehr einfach, effizient und sicher. Nur wenige Codes laden das Video für Sie herunter. Dafür gibt es zwei Python-Bibliotheken - Tkinter und pytube .

Erforderliche Module

  • pytube: pytube ist eine leichte, einfach zu verwendende, abhängigkeitsfreie Python-Bibliothek, die zum Herunterladen von Videos aus der web.pytube verwendet wird. Sie ist keine automatisch konfigurierte Bibliothek. Sie müssen es installieren, bevor Sie es verwenden können. Die Installation von Pytube ist einfach, wenn Sie Pip haben. Geben Sie in der Terminal- oder Eingabeaufforderung den folgenden Befehl ein, um pytube zu installieren.

    Wenn Sie unter Mac OS X oder Linux arbeiten, funktioniert wahrscheinlich einer der folgenden beiden Befehle für Sie:

    pip install pytube
    git clone git: //github.com/NFicano/pytube.git pytube | cd pytube | python setup.py installieren

    Wenn Sie auf Windows sind



    pip install pytube3
  • Tkinter : Tkinter ist eine Python-Bindung zum Tk-GUI-Toolkit. Es ist die Standard-Python-Schnittstelle zum Tk-GUI-Toolkit oder in einfachen Worten wird Tkinter als grafische Python-Benutzeroberfläche verwendet. Tkinter ist die native Bibliothek. Sie müssen sie nicht extern installieren, sondern nur importieren, während Sie sie verwenden.

Unten ist die Implementierung.

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() 

Ausgabe:

Python-Download-Youtube-Video