diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 908defecd..081b710df 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -2184,12 +2184,18 @@ class YoutubeIE(YoutubeBaseInfoExtractor): video_alt_title = video_creator = None def extract_meta(field): - return self._html_search_regex( + return re.search( r']+class="title"[^>]*>\s*%s\s*\s*]*>\s*
  • (.+?)
  • \s*' % field, - video_webpage, field, default=None) + video_webpage).group(1) - track = extract_meta('Song') - artist = extract_meta('Artist') + def extract_meta_url(list_elem_content:str): + if list_elem_content.endswith(''): + return re.search(r'(.*)', list_elem_content).groups() + 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')) album = extract_meta('Album') # Youtube Music Auto-generated description @@ -2404,6 +2410,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor): 'album': album, 'release_date': release_date, 'release_year': release_year, + 'artist_relative_url': artist_relative_url, + 'music_relative_url': music_relative_url, }