mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-12-15 07:42:42 +00:00
[youtube] Extract track and artist
This commit is contained in:
parent
003fe73ccf
commit
936784b272
1 changed files with 16 additions and 2 deletions
|
@ -510,6 +510,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||||
'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/IconaPop',
|
'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/IconaPop',
|
||||||
'license': 'Standard YouTube License',
|
'license': 'Standard YouTube License',
|
||||||
'creator': 'Icona Pop',
|
'creator': 'Icona Pop',
|
||||||
|
'track': 'I Love It (feat. Charli XCX)',
|
||||||
|
'artist': 'Icona Pop',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -528,6 +530,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||||
'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/justintimberlakeVEVO',
|
'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/justintimberlakeVEVO',
|
||||||
'license': 'Standard YouTube License',
|
'license': 'Standard YouTube License',
|
||||||
'creator': 'Justin Timberlake',
|
'creator': 'Justin Timberlake',
|
||||||
|
'track': 'Tunnel Vision`',
|
||||||
|
'artist': 'Justin Timberlake',
|
||||||
'age_limit': 18,
|
'age_limit': 18,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1765,6 +1769,14 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||||
else:
|
else:
|
||||||
video_alt_title = video_creator = None
|
video_alt_title = video_creator = None
|
||||||
|
|
||||||
|
def extract_meta(field):
|
||||||
|
return self._html_search_regex(
|
||||||
|
r'<h4[^>]+class="title"[^>]*>\s*%s\s*</h4>\s*<ul[^>]*>\s*<li>(.+?)</li>\s*' % field,
|
||||||
|
video_webpage, field, default=None)
|
||||||
|
|
||||||
|
track = extract_meta('Song')
|
||||||
|
artist = extract_meta('Artist')
|
||||||
|
|
||||||
m_episode = re.search(
|
m_episode = re.search(
|
||||||
r'<div[^>]+id="watch7-headline"[^>]*>\s*<span[^>]*>.*?>(?P<series>[^<]+)</a></b>\s*S(?P<season>\d+)\s*•\s*E(?P<episode>\d+)</span>',
|
r'<div[^>]+id="watch7-headline"[^>]*>\s*<span[^>]*>.*?>(?P<series>[^<]+)</a></b>\s*S(?P<season>\d+)\s*•\s*E(?P<episode>\d+)</span>',
|
||||||
video_webpage)
|
video_webpage)
|
||||||
|
@ -2055,9 +2067,9 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||||
'uploader_url': video_uploader_url,
|
'uploader_url': video_uploader_url,
|
||||||
'upload_date': upload_date,
|
'upload_date': upload_date,
|
||||||
'license': video_license,
|
'license': video_license,
|
||||||
'creator': video_creator,
|
'creator': video_creator or artist,
|
||||||
'title': video_title,
|
'title': video_title,
|
||||||
'alt_title': video_alt_title,
|
'alt_title': video_alt_title or track,
|
||||||
'thumbnail': video_thumbnail,
|
'thumbnail': video_thumbnail,
|
||||||
'description': video_description,
|
'description': video_description,
|
||||||
'categories': video_categories,
|
'categories': video_categories,
|
||||||
|
@ -2080,6 +2092,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||||
'series': series,
|
'series': series,
|
||||||
'season_number': season_number,
|
'season_number': season_number,
|
||||||
'episode_number': episode_number,
|
'episode_number': episode_number,
|
||||||
|
'track': track,
|
||||||
|
'artist': artist,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue