1212import logging
1313from glob import glob
1414from yt_dlp import YoutubeDL
15+ from yt_dlp .utils import DownloadError , ExtractorError , PostProcessingError , UnavailableVideoError
1516from youtube_transcript_api import YouTubeTranscriptApi
16- from youtube_transcript_api import CouldNotRetrieveTranscript , TranscriptsDisabled , NoTranscriptFound , VideoUnavailable , TooManyRequests
17+ from youtube_transcript_api import TranscriptsDisabled , NoTranscriptFound , VideoUnavailable , TooManyRequests
1718from youtube_transcript_api .formatters import JSONFormatter
1819from tqdm import tqdm
1920
@@ -61,8 +62,6 @@ def download_transcripts():
6162 with open (transcript_path , "w" , encoding = "utf-8" ) as out_file :
6263 out_file .write (json_transcript )
6364 logger .info ("SUCCESS: Transcript for %s saved." , video_id )
64- except CouldNotRetrieveTranscript as e :
65- logger .error ("Could not retrieve transcript for %s. Error: %s" , video_id , e )
6665 except TranscriptsDisabled as e :
6766 logger .error ("Transcripts are disabled for %s. Error: %s" , video_id , e )
6867 except NoTranscriptFound as e :
@@ -83,8 +82,16 @@ def process_youtube_video(video_id, download_options):
8382 with YoutubeDL (download_options ) as yt :
8483 yt .extract_info (video_url )
8584 logger .info ("SUCCESS: Video %s downloaded." , video_id )
85+ except DownloadError as e :
86+ logger .error ("Download error for video %s. Error: %s" , video_id , e )
87+ except ExtractorError as e :
88+ logger .error ("Extractor error for video %s. Error: %s" , video_id , e )
89+ except PostProcessingError as e :
90+ logger .error ("Post-processing error for video %s. Error: %s" , video_id , e )
91+ except UnavailableVideoError as e :
92+ logger .error ("Video %s is unavailable. Error: %s" , video_id , e )
8693 except Exception as e :
87- logger .error ("FAILED: Video %s download failed . Error: %s" , video_id , e )
94+ logger .error ("An unexpected error occurred for video %s . Error: %s" , video_id , e )
8895
8996
9097def download_videos ():
0 commit comments