diff options
author | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-09-02 01:38:21 +0530 |
---|---|---|
committer | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-09-02 02:01:57 +0530 |
commit | 2c475e48b54b071a3e59441829b6dec7d5b3c0ac (patch) | |
tree | e3291619b3e748e9f01c1c2cf9351e30a2920318 | |
parent | 7c6eb424d35e51c81f8fe9e1eb7cc18067c3a8a7 (diff) | |
download | hypervideo-pre-2c475e48b54b071a3e59441829b6dec7d5b3c0ac.tar.lz hypervideo-pre-2c475e48b54b071a3e59441829b6dec7d5b3c0ac.tar.xz hypervideo-pre-2c475e48b54b071a3e59441829b6dec7d5b3c0ac.zip |
[extractor/bandcamp] Extract `uploader_url`
Closes #4755
-rw-r--r-- | yt_dlp/extractor/bandcamp.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/yt_dlp/extractor/bandcamp.py b/yt_dlp/extractor/bandcamp.py index b34fcb108..2dae49e77 100644 --- a/yt_dlp/extractor/bandcamp.py +++ b/yt_dlp/extractor/bandcamp.py @@ -21,7 +21,7 @@ from ..utils import ( class BandcampIE(InfoExtractor): - _VALID_URL = r'https?://[^/]+\.bandcamp\.com/track/(?P<id>[^/?#&]+)' + _VALID_URL = r'https?://(?P<uploader>[^/]+)\.bandcamp\.com/track/(?P<id>[^/?#&]+)' _EMBED_REGEX = [r'<meta property="og:url"[^>]*?content="(?P<url>.*?bandcamp\.com.*?)"'] _TESTS = [{ 'url': 'http://youtube-dl.bandcamp.com/track/youtube-dl-test-song', @@ -85,7 +85,7 @@ class BandcampIE(InfoExtractor): attr + ' data', group=2), video_id, fatal=fatal) def _real_extract(self, url): - title = self._match_id(url) + title, uploader = self._match_valid_url(url).group('id', 'uploader') webpage = self._download_webpage(url, title) tralbum = self._extract_data_attr(webpage, title) thumbnail = self._og_search_thumbnail(webpage) @@ -197,6 +197,8 @@ class BandcampIE(InfoExtractor): 'title': title, 'thumbnail': thumbnail, 'uploader': artist, + 'uploader_id': uploader, + 'uploader_url': f'https://{uploader}.bandcamp.com', 'timestamp': timestamp, 'release_timestamp': unified_timestamp(tralbum.get('album_release_date')), 'duration': duration, |