get_transcripts now returns a list of exceptions instead of video ids of failed videos
This commit is contained in:
parent
66d02c08a1
commit
4b75a47a74
|
@ -72,11 +72,11 @@ class YouTubeTranscriptApi():
|
||||||
:param proxies: a dictionary mapping of http and https proxies to be used for the network requests
|
:param proxies: a dictionary mapping of http and https proxies to be used for the network requests
|
||||||
:type proxies: {'http': str, 'https': str} - http://docs.python-requests.org/en/master/user/advanced/#proxies
|
:type proxies: {'http': str, 'https': str} - http://docs.python-requests.org/en/master/user/advanced/#proxies
|
||||||
:return: a tuple containing a dictionary mapping video ids onto their corresponding transcripts, and a list of
|
:return: a tuple containing a dictionary mapping video ids onto their corresponding transcripts, and a list of
|
||||||
video ids, which could not be retrieved
|
exceptions which occurred for the videos which could not be retrieved
|
||||||
:rtype ({str: [{'text': str, 'start': float, 'end': float}]}, [str]}):
|
:rtype ({str: [{'text': str, 'start': float, 'end': float}]}, [CouldNotRetrieveTranscript]}):
|
||||||
"""
|
"""
|
||||||
data = {}
|
data = {}
|
||||||
unretrievable_videos = []
|
exceptions = []
|
||||||
|
|
||||||
for video_id in video_ids:
|
for video_id in video_ids:
|
||||||
try:
|
try:
|
||||||
|
@ -85,9 +85,9 @@ class YouTubeTranscriptApi():
|
||||||
if not continue_after_error:
|
if not continue_after_error:
|
||||||
raise exception
|
raise exception
|
||||||
|
|
||||||
unretrievable_videos.append(video_id)
|
exceptions.append(exception)
|
||||||
|
|
||||||
return data, unretrievable_videos
|
return data, exceptions
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_transcript(cls, video_id, languages=('en',), proxies=None):
|
def get_transcript(cls, video_id, languages=('en',), proxies=None):
|
||||||
|
|
|
@ -26,7 +26,7 @@ class YouTubeTranscriptCli():
|
||||||
)
|
)
|
||||||
|
|
||||||
return '\n\n'.join(
|
return '\n\n'.join(
|
||||||
[str(YouTubeTranscriptApi.CouldNotRetrieveTranscript(video_id)) for video_id in unretrievable_videos]
|
[str(exception) for exception in unretrievable_videos]
|
||||||
+ ([json.dumps(transcripts) if parsed_args.json else pprint.pformat(transcripts)] if transcripts else [])
|
+ ([json.dumps(transcripts) if parsed_args.json else pprint.pformat(transcripts)] if transcripts else [])
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue