Youtube ist eine Website, auf der Sie Videos frei hochladen und online teilen können. Aber was wäre, wenn es einen einfacheren Weg gäbe, diese Videos herunterzuladen, als zu versuchen, ihre URLs über den Quellcode zu finden? Nun, zum Glück ist es nicht wirklich so kompliziert, wie man vielleicht denkt. Es gibt verschiedene Programmierbibliotheken, die das Herunterladen von Youtube erheblich vereinfachen. In diesem Tutorial werden wir Youtube-Videos mit Python herunterladen. Wir werden PYtube verwenden, was uns dabei hilft, Youtube-Videos, Titel, Thumbnails und sogar komplette Wiedergabelisten herunterzuladen. Wir werden zwei Programme erstellen: Das erste ist ein befehlszeilenbasierter Downloader und eine weitere GUI-basierte Version, die wir mit Tkinter erstellen werden.
das Objektiv
- Abrufen des YouTube-Videotitels.
- Abrufen des YouTube-Video-Thumbnail-Bildes.
- Video von youtube herunterladen.
- Laden Sie Videos von YouTube in einer bestimmten Auflösung herunter.
- Wiedergabeliste von youtube.
- Erstellen Sie mit Tkinter einen GUI-basierten YouTube-Downloader.
Voraussetzungen
PYtube:
PyTube ist ein Open-Source-Python-Modul und ein Befehlszeilenprogramm zum Herunterladen von YouTube-Inhalten und Metadaten. Wenn Sie mit YouTube-DL vertraut sind, ist PyTube die gleiche Idee, aber in Python geschrieben. Das Tool benötigt nur sehr wenig zum Ausführen und läuft auf Windows-, Mac- und Linux-Systemen mit Python 2 und 3.
Sie können pytube mit dem folgenden Befehl in Ihrer Eingabeaufforderung oder Ihrem Terminal herunterladen.
pip install pytube3
Tkinter:
Tkinter ist ein erweitertes GUI-Modul für Python. Es ermöglicht Ihnen, flexible und leistungsstarke grafische Benutzeroberflächen zu erstellen. Anstatt nur ein einfaches Fenster mit Widgets darin bereitzustellen, können Sie mehrere Widgets zusammen platzieren, ihre Eigenschaften ändern und sie an Daten binden. Widgets sind grundlegende GUI-Komponenten, mit denen Sie die meisten Standard-GUI-Elemente erstellen können. Sie existieren in vielen Programmiersprachen, einschließlich Python.
Sie können Tkinter mit dem folgenden Befehl in Ihrer Eingabeaufforderung oder Ihrem Terminal herunterladen
pip install tkinter
Schritt -1: Abrufen des YouTube-Videotitels
from pytube import YouTube
url = 'https://www.youtube.com/watch?v=DODLEX4zzLQ'
yt_video = YouTube(url)
print(yt_video.title)
Code-Erklärung:
- Importieren Sie die Pakete.
- Hinzufügen der URL des YouTube-Videos, das wir herunterladen möchten.
- YouTube-Methode aufrufen.
- Drucken des Titels.
Ausgabe:
Wie Sie sehen können, hat es erfolgreich funktioniert und wir haben den Titel des YouTube-Videos
Schritt -2: Abrufen des YouTube-Video-Thumbnail-Bildes
from pytube import YouTube
url = 'https://www.youtube.com/watch?v=DODLEX4zzLQ'
yt_video = YouTube(url)
print(yt_video.thumbnail_url)
Code-Erklärung:
- Importieren Sie die Pakete.
- Fügen Sie die URL des YouTube-Videos hinzu, das wir herunterladen möchten.
- YouTube-Methode aufrufen.
- Holen Sie sich die Miniaturansicht des Videos mit der Miniaturansichtsmethode.
Ausgabe:
Sie erhalten einen Link in der Ausgabe und wenn Sie den Link öffnen, wird das Bild angezeigt. Das kannst du dort herunterladen.
Schritt -3: Video von Youtube herunterladen
from pytube import YouTube
url = 'https://www.youtube.com/watch?v=DODLEX4zzLQ'
yt_video = YouTube(url)
# this method will download the highest resolution that video is available
yt_video = my_video.streams.get_highest_resolution()
methodyt_video.download()
print('your video is downloaded successfully')
Code-Erklärung:
- Importieren Sie die Pakete.
- Fügen Sie die URL des YouTube-Videos hinzu, das wir herunterladen möchten.
- YouTube-Methode aufrufen.
- Um das Video von YouTube herunterzuladen, müssen wir zuerst die Stream-Auflösung definieren.
- Um das Video von YouTube herunterzuladen, verwenden wir die Download-Methode.
Nach dem Ausführen des Codes wird das Video heruntergeladen und nach Abschluss befindet sich Ihr YouTube-Video im selben Verzeichnis wie Ihre Python-Datei.
Schritt -4: Video von YouTube in einer bestimmten Auflösung herunterladen
Wenn Sie das Video in einer bestimmten Auflösung oder im Nur-Audio-Format herunterladen möchten, können Sie den folgenden Code verwenden
from pytube import YouTube
url = 'https://www.youtube.com/watch?v=DODLEX4zzLQ'
yt_video = YouTube(url)
# here we are fetching a list of all the video resolution
videos = yt_video.streams.all()
# we are using enumerate to get the index number
res_list = list(enumerate(videos))
for i in res_list:
print(i)
resolution = int(input("Enter the index number of the video : "))
videos[resolution].download()
print('your video is downloaded successfully')
Code-Erklärung:
- Importieren Sie die Pakete.
- Hinzufügen der URL des YouTube-Videos, das wir herunterladen möchten.
- YouTube-Methode aufrufen.
- Hier rufen wir eine Liste aller Videoauflösungen ab.
- Wir verwenden enumerate, um die Indexnummer zu erhalten.
Ausgabe:
In der Ausgabe werden Sie gefragt, welche Version des Videos Sie herunterladen möchten, und Sie haben gerade die Indexnummer eingegeben und es wird automatisch heruntergeladen.
Sie können die Filtermethode verwenden, um nur Audio oder nur Video herauszufiltern
So laden Sie nur Audio herunter:
# for getting only audio list
videos = yt_video.streams.filter(only_audio=True)
Ausgabe:
So laden Sie nur Videos herunter:
# for getting only video list
videos = yt_video.streams.filter(only_audio=True)
Ausgabe:
Schritt -5: Wiedergabeliste von Youtube herunterladen
from pytube import Playlist
playlist = Playlist('https://www.youtube.com/playlist?list=PLG9-DrM4Coeq7vdqBb84sNRZZHEUfQDcK')
print('Number of videos in playlist: %s' % len(playlist.video_urls))
playlist.download_all()
Code-Erklärung:
- Importieren Sie die Pakete.
- Erstellen einer Variablen zum Speichern von Daten der Wiedergabeliste
- Füge den Link der Playlist hinzu
- Druckname des Videos, das gerade heruntergeladen wird.
Schritt -6: Erstellen Sie mit QT Designer einen GUI-basierten Youtube-Downloader
# import required libraries
import string
import tkinter as tk
from tkinter import *
from tkinter import messagebox
from tkinter import filedialog
from cv2 import dft
from pytube import YouTube
def createwidgits():
# creating a button
link_label = Label(root, text ='Paste URL: ', bg="#999999")
# placing the label
link_label.grid(row=1, column=0, pady=10, padx=10)
# creating a entry point
root.link_text = Entry(root, width=60 , textvariable=video_link)
# placing the point
root.link_text.grid(row=1, column=1,pady=10, padx=10)
# creating a destination label
destination_label = Label(root, text ='Destination: ', bg="#999999")
# placing the label
destination_label.grid(row=2, column=0, pady=10, padx=10)
# creating a destination box
root.destination_label = Entry(root, width=60 , textvariable=Download_path)
# placing the box
root.destination_label.grid(row=2, column=1,pady=10, padx=10)
# create a browse button
browse_but = Button(root, text="Browse", command=browse, width=10, bg="#ffffff")
# place the button
browse_but.grid(row=2, column=2, pady=10, padx=10)
# create a download button
download_but = Button(root, text="Download", command=download_video, width=15, bg="#ff0000")
# place the button
download_but.grid(row=3, column=1, pady=3, padx=3)
# define browse button function
def browse():
# set directory
downlaod_dir = filedialog.askdirectory(initialdir="Downlaod path")
Download_path.set(downlaod_dir)
# create youtube video download function
def download_video():
url = video_link.get()
folder = Download_path.get()
get_video = YouTube(url)
get_stream = get_video.streams.first()
get_stream.download(folder)
messagebox.showinfo("Your video downloaded successfully")
# creating an instance
root = tk.Tk()
# size of the window
root.geometry("600x120")
root.resizable(False,False)
# name of the window
root.title("downloader")
# colors of the window
root.config(background="#999999")
video_link = StringVar()
Download_path = StringVar()
createwidgits()
root.mainloop()
Ausgabe:
Letzte Worte
Wir haben zwei Methoden besprochen, mit denen Sie Youtube-Videos mit Python in jeder Qualität in weniger als einer Minute auf Ihren Computer herunterladen können. Der erste ist ein befehlszeilenbasierter Downloader und eine weitere GUI-basierte Version. Dies kann sehr nützlich sein, um Online-Vortragsvideos, Online-Tutorials, Online-Konferenzvideos, Online-Konferenzvorträge, Online-Schulungskurse und vieles mehr herunterzuladen. Sie können den Code kopieren und in Ihr Terminal einfügen.
Hier sind einige nützliche Tutorials, die Sie lesen können:
- Echtzeit-Zwischenflussschätzung für die Videoframe-Interpolation mit Python
- Extrahieren Sie gespeicherte Chrome-Passwörter und entschlüsseln Sie sie mit Python
- Vergleichen Sie zwei Bilder und markieren Sie Unterschiede mit Python
- Generieren von QR-Codes und Barcodes in Python
- So erstellen Sie ein Wortratespiel in Python
- Python-Programm zum Erstellen von Blockchain und Mining
- Wetterinformationen mit Python abrufen
- RDF-Verarbeitung in Python mit RDFLib
- Erstellen Sie einen Websocket-Server mit Python und Tornado