mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-08-15 17:08:29 +00:00
SoundcloudEmbedIE
This commit is contained in:
parent
0e961aecb1
commit
d691d077bb
@ -1305,45 +1305,6 @@ class GenericIE(InfoExtractor):
|
||||
'upload_date': '20200206',
|
||||
},
|
||||
'skip': 'IE fix required; embed detection',
|
||||
}, {
|
||||
# ✅97
|
||||
# SoundcloudEmbedIE
|
||||
'url': 'https://news.sophos.com/en-us/2023/08/10/s3-ep147-what-if-you-type-in-your-password-during-a-meeting/',
|
||||
'info_dict': {
|
||||
'id': '1588847423',
|
||||
'ext': 'm4a',
|
||||
'title': 'S3 Ep147: What if you type in your password during a meeting?',
|
||||
'artists': ['Naked Security'],
|
||||
'description': 'md5:6931a0630b920413c8c904407bf4b3b2',
|
||||
'duration': 942.762,
|
||||
'genres': ['Technology'],
|
||||
'license': 'all-rights-reserved',
|
||||
'repost_count': int,
|
||||
'tags': 'count:4',
|
||||
'thumbnail': r're:https?://i1\.sndcdn\.com/.+\.png',
|
||||
'timestamp': 1691624365,
|
||||
'track': 'S3 Ep147: What if you type in your password during a meeting?',
|
||||
'upload_date': '20230809',
|
||||
'uploader': 'Naked Security',
|
||||
'uploader_id': '61390843',
|
||||
'uploader_url': 'https://soundcloud.com/sophossecurity',
|
||||
},
|
||||
'params': {'skip_download': 'm3u8'},
|
||||
}, {
|
||||
# ✅98
|
||||
# SoundcloudEmbedIE
|
||||
'url': 'https://www.guitarplayer.com/lessons/november-2023-guitar-player-lesson-audio',
|
||||
'info_dict': {
|
||||
'id': '1695754080',
|
||||
'title': 'A Tribute to Brian Setzer’s Guitar Mastery',
|
||||
'album': 'A Tribute to Brian Setzer’s Guitar Mastery',
|
||||
'album_artists': ['Guitar Player'],
|
||||
'album_type': 'playlist',
|
||||
'description': '',
|
||||
'uploader': 'Guitar Player',
|
||||
'uploader_id': '489924156',
|
||||
},
|
||||
'playlist_mincount': 7,
|
||||
}, {
|
||||
# ✅124
|
||||
# YoutubeIE
|
||||
|
@ -26,11 +26,46 @@
|
||||
class SoundcloudEmbedIE(InfoExtractor):
|
||||
_VALID_URL = r'https?://(?:w|player|p)\.soundcloud\.com/player/?.*?\burl=(?P<id>.+)'
|
||||
_EMBED_REGEX = [r'<iframe[^>]+src=(["\'])(?P<url>(?:https?://)?(?:w\.)?soundcloud\.com/player.+?)\1']
|
||||
_TEST = {
|
||||
_TESTS = [{
|
||||
'url': 'https://news.sophos.com/en-us/2023/08/10/s3-ep147-what-if-you-type-in-your-password-during-a-meeting/',
|
||||
'info_dict': {
|
||||
'id': '1588847423',
|
||||
'ext': 'm4a',
|
||||
'title': 'S3 Ep147: What if you type in your password during a meeting?',
|
||||
'artists': ['Naked Security'],
|
||||
'description': 'md5:6931a0630b920413c8c904407bf4b3b2',
|
||||
'duration': 942.762,
|
||||
'genres': ['Technology'],
|
||||
'license': 'all-rights-reserved',
|
||||
'repost_count': int,
|
||||
'tags': 'count:4',
|
||||
'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
|
||||
'timestamp': 1691624365,
|
||||
'track': 'S3 Ep147: What if you type in your password during a meeting?',
|
||||
'upload_date': '20230809',
|
||||
'uploader': 'Naked Security',
|
||||
'uploader_id': '61390843',
|
||||
'uploader_url': 'https://soundcloud.com/sophossecurity',
|
||||
},
|
||||
'params': {'skip_download': 'm3u8'},
|
||||
}, {
|
||||
'url': 'https://www.guitarplayer.com/lessons/november-2023-guitar-player-lesson-audio',
|
||||
'info_dict': {
|
||||
'id': '1695754080',
|
||||
'title': 'A Tribute to Brian Setzer’s Guitar Mastery',
|
||||
'album': 'A Tribute to Brian Setzer’s Guitar Mastery',
|
||||
'album_artists': ['Guitar Player'],
|
||||
'album_type': 'playlist',
|
||||
'description': '',
|
||||
'uploader': 'Guitar Player',
|
||||
'uploader_id': '489924156',
|
||||
},
|
||||
'playlist_mincount': 7,
|
||||
}, {
|
||||
# from https://www.soundi.fi/uutiset/ennakkokuuntelussa-timo-kaukolammen-station-to-station-to-station-julkaisua-juhlitaan-tanaan-g-livelabissa/
|
||||
'url': 'https://w.soundcloud.com/player/?visual=true&url=https%3A%2F%2Fapi.soundcloud.com%2Fplaylists%2F922213810&show_artwork=true&maxwidth=640&maxheight=960&dnt=1&secret_token=s-ziYey',
|
||||
'only_matching': True,
|
||||
}
|
||||
}]
|
||||
|
||||
def _real_extract(self, url):
|
||||
query = parse_qs(url)
|
||||
@ -407,8 +442,7 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
)
|
||||
'''
|
||||
IE_NAME = 'soundcloud'
|
||||
_TESTS = [
|
||||
{
|
||||
_TESTS = [{
|
||||
'url': 'http://soundcloud.com/ethmusic/lostin-powers-she-so-heavy',
|
||||
'md5': 'de9bac153e7427a7333b4b0c1b6a18d2',
|
||||
'info_dict': {
|
||||
@ -416,7 +450,7 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
'ext': 'opus',
|
||||
'title': 'Lostin Powers - She so Heavy (SneakPreview) Adrian Ackers Blueprint 1',
|
||||
'track': 'Lostin Powers - She so Heavy (SneakPreview) Adrian Ackers Blueprint 1',
|
||||
'description': 'No Downloads untill we record the finished version this weekend, i was too pumped n i had to post it , earl is prolly gonna b hella p.o\'d',
|
||||
'description': 'md5:7b6074e00887ad79f59b647c8fb6d5ae',
|
||||
'uploader': 'E.T. ExTerrestrial Music',
|
||||
'uploader_id': '1571244',
|
||||
'timestamp': 1349920598,
|
||||
@ -427,20 +461,18 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
'like_count': int,
|
||||
'comment_count': int,
|
||||
'repost_count': int,
|
||||
'thumbnail': 'https://i1.sndcdn.com/artworks-000031955188-rwb18x-original.jpg',
|
||||
'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
|
||||
'uploader_url': 'https://soundcloud.com/ethmusic',
|
||||
'tags': 'count:14',
|
||||
},
|
||||
},
|
||||
# geo-restricted
|
||||
{
|
||||
}, {
|
||||
'url': 'https://soundcloud.com/the-concept-band/goldrushed-mastered?in=the-concept-band/sets/the-royal-concept-ep',
|
||||
'info_dict': {
|
||||
'id': '47127627',
|
||||
'ext': 'opus',
|
||||
'title': 'Goldrushed',
|
||||
'track': 'Goldrushed',
|
||||
'description': 'From Stockholm Sweden\r\nPovel / Magnus / Filip / David\r\nwww.theroyalconcept.com',
|
||||
'description': 'md5:c0080b79a3710811d60234f94f391a40',
|
||||
'uploader': 'The Royal Concept',
|
||||
'uploader_id': '9615865',
|
||||
'timestamp': 1337635207,
|
||||
@ -452,14 +484,14 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
'comment_count': int,
|
||||
'repost_count': int,
|
||||
'uploader_url': 'https://soundcloud.com/the-concept-band',
|
||||
'thumbnail': 'https://i1.sndcdn.com/artworks-v8bFHhXm7Au6-0-original.jpg',
|
||||
'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
|
||||
'genres': ['Alternative'],
|
||||
'artists': ['The Royal Concept'],
|
||||
'tags': [],
|
||||
},
|
||||
},
|
||||
'skip': 'Geo-restricted',
|
||||
}, {
|
||||
# private link
|
||||
{
|
||||
'url': 'https://soundcloud.com/jaimemf/youtube-dl-test-video-a-y-baw/s-8Pjrp',
|
||||
'md5': 'aa0dd32bfea9b0c5ef4f02aacd080604',
|
||||
'info_dict': {
|
||||
@ -467,7 +499,7 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
'ext': 'mp3',
|
||||
'title': 'Youtube - Dl Test Video \'\' Ä↭',
|
||||
'track': 'Youtube - Dl Test Video \'\' Ä↭',
|
||||
'description': 'test chars: "\'/\\ä↭',
|
||||
'description': 'md5:610b729ee06ac4cedaa28607212948f3',
|
||||
'uploader': 'jaimeMF',
|
||||
'uploader_id': '69767071',
|
||||
'timestamp': 1386604920,
|
||||
@ -479,13 +511,12 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
'comment_count': int,
|
||||
'repost_count': int,
|
||||
'uploader_url': 'https://soundcloud.com/jaimemf',
|
||||
'thumbnail': 'https://a1.sndcdn.com/images/default_avatar_large.png',
|
||||
'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
|
||||
'genres': ['youtubedl'],
|
||||
'tags': [],
|
||||
},
|
||||
},
|
||||
}, {
|
||||
# private link (alt format)
|
||||
{
|
||||
'url': 'https://api.soundcloud.com/tracks/123998367?secret_token=s-8Pjrp',
|
||||
'md5': 'aa0dd32bfea9b0c5ef4f02aacd080604',
|
||||
'info_dict': {
|
||||
@ -493,7 +524,7 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
'ext': 'mp3',
|
||||
'title': 'Youtube - Dl Test Video \'\' Ä↭',
|
||||
'track': 'Youtube - Dl Test Video \'\' Ä↭',
|
||||
'description': 'test chars: "\'/\\ä↭',
|
||||
'description': 'md5:610b729ee06ac4cedaa28607212948f3',
|
||||
'uploader': 'jaimeMF',
|
||||
'uploader_id': '69767071',
|
||||
'timestamp': 1386604920,
|
||||
@ -505,13 +536,12 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
'comment_count': int,
|
||||
'repost_count': int,
|
||||
'uploader_url': 'https://soundcloud.com/jaimemf',
|
||||
'thumbnail': 'https://a1.sndcdn.com/images/default_avatar_large.png',
|
||||
'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
|
||||
'genres': ['youtubedl'],
|
||||
'tags': [],
|
||||
},
|
||||
},
|
||||
}, {
|
||||
# downloadable song
|
||||
{
|
||||
'url': 'https://soundcloud.com/the80m/the-following',
|
||||
'md5': 'ecb87d7705d5f53e6c02a63760573c75', # wav: '9ffcddb08c87d74fb5808a3c183a1d04'
|
||||
'info_dict': {
|
||||
@ -526,7 +556,7 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
'upload_date': '20170922',
|
||||
'timestamp': 1506120436,
|
||||
'duration': 397.228,
|
||||
'thumbnail': 'https://i1.sndcdn.com/artworks-000243916348-ktoo7d-original.jpg',
|
||||
'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
|
||||
'license': 'all-rights-reserved',
|
||||
'like_count': int,
|
||||
'comment_count': int,
|
||||
@ -534,13 +564,12 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
'view_count': int,
|
||||
'genres': ['Dance & EDM'],
|
||||
'artists': ['80M'],
|
||||
'tags': ['80M', 'EDM', 'Dance', 'Music'],
|
||||
'tags': 'count:4',
|
||||
},
|
||||
'expected_warnings': ['Original download format is only available for registered users'],
|
||||
},
|
||||
}, {
|
||||
# private link, downloadable format
|
||||
# tags with spaces (e.g. "Uplifting Trance", "Ori Uplift")
|
||||
{
|
||||
'url': 'https://soundcloud.com/oriuplift/uponly-238-no-talking-wav/s-AyZUd',
|
||||
'md5': '2e1530d0e9986a833a67cb34fc90ece0', # wav: '64a60b16e617d41d0bef032b7f55441e'
|
||||
'info_dict': {
|
||||
@ -559,16 +588,15 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
'like_count': int,
|
||||
'comment_count': int,
|
||||
'repost_count': int,
|
||||
'thumbnail': 'https://i1.sndcdn.com/artworks-000240712245-kedn4p-original.jpg',
|
||||
'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
|
||||
'uploader_url': 'https://soundcloud.com/oriuplift',
|
||||
'genres': ['Trance'],
|
||||
'artists': ['Ori Uplift'],
|
||||
'tags': ['Orchestral', 'Emotional', 'Uplifting Trance', 'Trance', 'Ori Uplift', 'UpOnly'],
|
||||
'tags': 'count:6',
|
||||
},
|
||||
'expected_warnings': ['Original download format is only available for registered users'],
|
||||
},
|
||||
}, {
|
||||
# no album art, use avatar pic for thumbnail
|
||||
{
|
||||
'url': 'https://soundcloud.com/garyvee/sideways-prod-mad-real',
|
||||
'md5': '59c7872bc44e5d99b7211891664760c2',
|
||||
'info_dict': {
|
||||
@ -582,7 +610,7 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
'timestamp': 1488152409,
|
||||
'upload_date': '20170226',
|
||||
'duration': 207.012,
|
||||
'thumbnail': r're:https?://.*\.jpg',
|
||||
'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
|
||||
'license': 'all-rights-reserved',
|
||||
'view_count': int,
|
||||
'like_count': int,
|
||||
@ -592,16 +620,13 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
'artists': ['MadReal'],
|
||||
'tags': [],
|
||||
},
|
||||
'params': {
|
||||
'skip_download': True,
|
||||
},
|
||||
},
|
||||
{
|
||||
'params': {'skip_download': 'm3u8'},
|
||||
}, {
|
||||
'url': 'https://soundcloud.com/giovannisarani/mezzo-valzer',
|
||||
'md5': '8227c3473a4264df6b02ad7e5b7527ac',
|
||||
'info_dict': {
|
||||
'id': '583011102',
|
||||
'ext': 'opus',
|
||||
'ext': 'm4a',
|
||||
'title': 'Mezzo Valzer',
|
||||
'track': 'Mezzo Valzer',
|
||||
'description': 'md5:f4d5f39d52e0ccc2b4f665326428901a',
|
||||
@ -609,8 +634,8 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
'uploader_id': '3352531',
|
||||
'timestamp': 1551394171,
|
||||
'upload_date': '20190228',
|
||||
'duration': 180.157,
|
||||
'thumbnail': r're:https?://.*\.jpg',
|
||||
'duration': 180.134,
|
||||
'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
|
||||
'license': 'all-rights-reserved',
|
||||
'view_count': int,
|
||||
'like_count': int,
|
||||
@ -620,9 +645,9 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
'uploader_url': 'https://soundcloud.com/giovannisarani',
|
||||
'tags': 'count:10',
|
||||
},
|
||||
},
|
||||
'params': {'skip_download': 'm3u8'},
|
||||
}, {
|
||||
# .png "original" artwork, 160kbps m4a HLS format
|
||||
{
|
||||
'url': 'https://soundcloud.com/skorxh/audio-dealer',
|
||||
'info_dict': {
|
||||
'id': '2011421339',
|
||||
@ -643,7 +668,7 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
'timestamp': 1737143201,
|
||||
'upload_date': '20250117',
|
||||
'license': 'all-rights-reserved',
|
||||
'thumbnail': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-original.png',
|
||||
'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
|
||||
'thumbnails': [
|
||||
{'id': 'mini', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-mini.jpg'},
|
||||
{'id': 'tiny', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-tiny.jpg'},
|
||||
@ -658,18 +683,15 @@ class SoundcloudIE(SoundcloudBaseIE):
|
||||
],
|
||||
},
|
||||
'params': {'skip_download': 'm3u8', 'format': 'hls_aac_160k'},
|
||||
},
|
||||
{
|
||||
}, {
|
||||
# AAC HQ format available (account with active subscription needed)
|
||||
'url': 'https://soundcloud.com/wandw/the-chainsmokers-ft-daya-dont-let-me-down-ww-remix-1',
|
||||
'only_matching': True,
|
||||
},
|
||||
{
|
||||
}, {
|
||||
# Go+ (account with active subscription needed)
|
||||
'url': 'https://soundcloud.com/taylorswiftofficial/look-what-you-made-me-do',
|
||||
'only_matching': True,
|
||||
},
|
||||
]
|
||||
}]
|
||||
|
||||
def _real_extract(self, url):
|
||||
mobj = self._match_valid_url(url)
|
||||
@ -907,7 +929,7 @@ class SoundcloudUserIE(SoundcloudPagedPlaylistBaseIE):
|
||||
'id': '7098329',
|
||||
'title': 'Grynpyret (Spotlight)',
|
||||
},
|
||||
'playlist_mincount': 1,
|
||||
'playlist_mincount': 0,
|
||||
}, {
|
||||
'url': 'https://soundcloud.com/one-thousand-and-one/comments',
|
||||
'info_dict': {
|
||||
@ -998,7 +1020,7 @@ class SoundcloudRelatedIE(SoundcloudPagedPlaylistBaseIE):
|
||||
'id': '1084577272',
|
||||
'title': 'Sexapil - Pingers 5 (Recommended)',
|
||||
},
|
||||
'playlist_mincount': 50,
|
||||
'playlist_mincount': 49,
|
||||
}, {
|
||||
'url': 'https://soundcloud.com/wajang/sexapil-pingers-5/albums',
|
||||
'info_dict': {
|
||||
@ -1045,7 +1067,7 @@ class SoundcloudPlaylistIE(SoundcloudPlaylistBaseIE):
|
||||
'info_dict': {
|
||||
'id': '4110309',
|
||||
'title': 'TILT Brass - Bowery Poetry Club, August \'03 [Non-Site SCR 02]',
|
||||
'description': 're:.*?TILT Brass - Bowery Poetry Club',
|
||||
'description': 'md5:e4373f7177fe3db292a8552b4ec41bc6',
|
||||
'uploader': 'Non-Site Records',
|
||||
'uploader_id': '33660914',
|
||||
'album_artists': ['Non-Site Records'],
|
||||
|
Loading…
Reference in New Issue
Block a user