From 3151cee03f1ee105157ff2fa1f56803c21e6f283 Mon Sep 17 00:00:00 2001 From: Dmitry Vinnik Date: Tue, 7 Apr 2020 13:26:36 +0300 Subject: [PATCH] Update youtube.py --- youtube_dl/extractor/youtube.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 081b710df..33b93f3ca 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -2184,9 +2184,9 @@ class YoutubeIE(YoutubeBaseInfoExtractor): video_alt_title = video_creator = None def extract_meta(field): - return re.search( + return self._search_regex( r']+class="title"[^>]*>\s*%s\s*\s*]*>\s*
  • (.+?)
  • \s*' % field, - video_webpage).group(1) + video_webpage, field, default=None) def extract_meta_url(list_elem_content:str): if list_elem_content.endswith(''): @@ -2194,8 +2194,18 @@ class YoutubeIE(YoutubeBaseInfoExtractor): else: return None, list_elem_content - music_relative_url, track = extract_meta_url(extract_meta('Song')) - artist_relative_url, artist = extract_meta_url(extract_meta('Artist')) + song_elem_content = extract_meta('Song') + if song_elem_content: + music_relative_url, track = extract_meta_url(song_elem_content) + else: + music_relative_url = track = None + + artist_elem_content = extract_meta('Artist') + if artist_elem_content: + artist_relative_url, artist = extract_meta_url(artist_elem_content) + else: + artist_relative_url = artist = None + album = extract_meta('Album') # Youtube Music Auto-generated description