**Téléchargement de vidéos depuis des sites web variés**
=====================================================
Pour créer un programme de téléchargement de vidéos depuis des sites web variés, nous allons utiliser les bibliothÚques Python suivantes :
* `pytube` pour télécharger les vidéos depuis YouTube
* `youtube-dl` pour télécharger les vidéos depuis d'autres sites web
* `tkinter` pour créer une interface graphique utilisateur (GUI) avec des menus pour la sélection de vidéos
**Prérequis**
---------------
* Installez les bibliothÚques nécessaires en utilisant pip :
```bash
pip install pytube youtube-dl tkinter
```
**Code**
------
```python
import tkinter as tk
from tkinter import filedialog, messagebox
from pytube import YouTube
import youtube_dl
def download_video_youtube():
# Ouvrez une fenĂȘtre de dialogue pour saisir l'URL de la vidĂ©o
url = entry_url.get()
# Vérifiez si l'URL est valide
if not url:
messagebox.showerror("Erreur", "Veuillez saisir l'URL de la vidéo")
return
# Téléchargez la vidéo
try:
yt = YouTube(url)
yt.streams.get_highest_resolution().download()
messagebox.showinfo("SuccÚs", "Vidéo téléchargée avec succÚs")
except Exception as e:
messagebox.showerror("Erreur", str(e))
def download_video_other_sites():
# Ouvrez une fenĂȘtre de dialogue pour saisir l'URL de la vidĂ©o
url = entry_url_other.get()
# Vérifiez si l'URL est valide
if not url:
messagebox.showerror("Erreur", "Veuillez saisir l'URL de la vidéo")
return
# Téléchargez la vidéo
try:
ydl_opts = {}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
info = ydl.extract_info(url, download=False)
video_url = info['formats'][0]['url']
# Téléchargez la vidéo
ydl.download([video_url])
messagebox.showinfo("SuccÚs", "Vidéo téléchargée avec succÚs")
except Exception as e:
messagebox.showerror("Erreur", str(e))
def select_video():
# Ouvrez une fenĂȘtre de dialogue pour sĂ©lectionner le dossier de tĂ©lĂ©chargement
path = filedialog.askdirectory()
entry_path.set(path)
def select_video_other():
# Ouvrez une fenĂȘtre de dialogue pour sĂ©lectionner le dossier de tĂ©lĂ©chargement
path = filedialog.askdirectory()
entry_path_other.set(path)
# CrĂ©ez la fenĂȘtre principale
root = tk.Tk()
root.title("Téléchargement de vidéos")
# Créez les onglets
tab_control = tk.Notebook(root)
tab_control.pack(expand=1, fill="both")
# Créez l'onglet YouTube
tab_youtube = tk.Frame(tab_control)
tab_control.add(tab_youtube, text="YouTube")
# Créez les widgets de l'onglet YouTube
label_url_youtube = tk.Label(tab_youtube, text="URL de la vidéo :")
label_url_youtube.pack()
entry_url = tk.Entry(tab_youtube, width=50)
entry_url.pack()
button_download_youtube = tk.Button(tab_youtube, text="Télécharger", command=download_video_youtube)
button_download_youtube.pack()
label_path_youtube = tk.Label(tab_youtube, text="Dossier de téléchargement :")
label_path_youtube.pack()
entry_path = tk.Entry(tab_youtube, width=50)
entry_path.pack()
button_select_youtube = tk.Button(tab_youtube, text="Sélectionner", command=select_video)
button_select_youtube.pack()
# Créez l'onglet Autres sites
tab_other = tk.Frame(tab_control)
tab_control.add(tab_other, text="Autres sites")
# Créez les widgets de l'onglet Autres sites
label_url_other = tk.Label(tab_other, text="URL de la vidéo :")
label_url_other.pack()
entry_url_other = tk.Entry(tab_other, width=50)
entry_url_other.pack()
button_download_other = tk.Button(tab_other, text="Télécharger", command=download_video_other_sites)
button_download_other.pack()
label_path_other = tk.Label(tab_other, text="Dossier de téléchargement :")
label_path_other.pack()
entry_path_other = tk.Entry(tab_other, width=50)
entry_path_other.pack()
button_select_other = tk.Button(tab_other, text="Sélectionner", command=select_video_other)
button_select_other.pack()
# ExĂ©cutez la fenĂȘtre principale
root.mainloop()
```
**Utilisation**
--------------
1. Exécutez le script Python.
2. Sélectionnez l'onglet correspondant au site web que vous souhaitez utiliser (YouTube ou Autres sites).
3. Saisissez l'URL de la vidéo que vous souhaitez télécharger.
4. Sélectionnez le dossier de téléchargement en cliquant sur le bouton "Sélectionner".
5. Cliquez sur le bouton "Télécharger" pour lancer le téléchargement de la vidéo.
**Remarques**
--------------
* Ce script utilise les bibliothÚques `pytube` et `youtube-dl` pour télécharger les vidéos. Il est possible que certaines vidéos ne soient pas disponibles en raison de restrictions de droits d'auteur ou de problÚmes techniques.
* Le script ne gÚre pas les vidéos fractionnées. Vous devrez utiliser un autre outil pour télécharger les parties de la vidéo et les assembler.
* Le script utilise une interface graphique utilisateur (GUI) pour faciliter l'utilisation. Vous pouvez personnaliser l'interface en modifiant le code.