Nom de domaine

PyTubeFix è una libreria particolarmente elegante che ti permetterà di scaricare video di Youtube direttamente tramite i tuoi script Python, senza dover ricorrere a programmi di terze parti come yt-dlp.

Questa libreria, che onora la filosofia Python” batterie incluse ”, non richiede dipendenze esterne. Un semplice pip install pytubefix e sei pronto per scaricare i tuoi primi video.

Cominciamo con il BA-BA.

Per scaricare un video con la massima qualità bastano poche righe di codice:

from pytubefix import YouTube 
from pytubefix.cli import on_progress
url = "https://www.youtube.com/watch?v=votre_video" 
yt = YouTube(url, on_progress_callback=on_progress) 
print(f"Téléchargement de : {yt.title}") 
ys = yt.streams.get_highest_resolution() 
ys.download()

La funzione on_progress è particolarmente interessante poiché mostra una barra di avanzamento nel tuo terminale. Non dovrai più fissare il vuoto chiedendoti se il download sta procedendo!

Preferisci recuperare solo l'audio, ad esempio per estrarre la musica da una clip? PyTubeFix ha pensato a tutto:

ys = yt.streams.get_audio_only()ys.download()

Gli amanti della musica apprezzeranno particolarmente la possibilità di scaricare intere playlist, quindi se ti imbatti in una fantastica compilation di canzoni degli anni '80 e con solo poche righe di codice, puoi ottenerla tutta:

from pytubefix import Playlist
pl = Playlist("https://www.youtube.com/playlist?list=votre_playlist") 
for video in pl.videos: 
ys = video.streams.get_audio_only() 
ys.download()

La libreria brilla anche per le sue funzionalità avanzate. Ad esempio, puoi specificare una cartella di destinazione personalizzata:

ys.download(output_path="chemin/vers/dossier")

I sottotitoli non vengono esclusi poiché PyTubeFix ti consente di recuperare e salvare i sottotitoli in formato SRT:

yt = YouTube('http://youtube.com/watch?v=votre_video')caption = yt.captions['a.en'] # 'a.en' pour l'anglaiscaption.save_captions("sous-titres.srt")

Per gli utenti più avanzati, la libreria offre anche l'integrazione OAuth per accedere ai video che richiedono l'autenticazione:

yt = YouTube(url, use_oauth=True, allow_oauth_cache=True)

Ma non è tutto perché PyTubeFix ti consente anche di eseguire la scansione dei canali YouTube in modo programmatico:

from pytubefix import Channel
c = Channel("https://www.youtube.com/@NomDeLaChaine") 
print(f'Chaîne : {c.channel_name}') 
for video in c.videos: video.streams.get_highest_resolution().download()

E nei casi in cui cerchi contenuti specifici, la funzione di ricerca è estremamente efficace:

from pytubefix import Search
results = Search('Python Tutorial') 
for video in results.videos: print(f'Titre : {video.title}') print(f'URL : {video.watch_url}')

Puoi anche affinare le tue ricerche con filtri sofisticati:

from pytubefix.contrib.search import Search, Filter

filtres = { 'upload_date': Filter.get_upload_date('Today'), 'type': Filter.get_type("Video"), 'duration': Filter.get_duration("Under 4 minutes") }

In termini di migliori pratiche, ecco alcuni suggerimenti per ottimizzare l'utilizzo di PyTubeFix:

  • Gestisci sistematicamente le eccezioni per evitare interruzioni impreviste
  • Controlla lo spazio disponibile su disco prima di avviare download di grandi dimensioni
  • Utilizza nomi di file compatibili con il tuo sistema operativo
  • Valuta la possibilità di implementare timeout tra le richieste per evitare limitazioni

Un ultimo consiglio: non dimenticare che scaricare video da YouTube deve rispettare i diritti d'autore e le condizioni d'uso della piattaforma, COME SEMPRE, EH!

Dai un'occhiata a PyTubeFix su GitHub

Grazie a Lorenper per questa eccellente scoperta!


Source link

Categorized in: