mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-03 22:37:07 -05:00 
			
		
		
		
	[mixcloud] Fix extraction (Closes #4862)
This commit is contained in:
		@@ -18,7 +18,7 @@ class MixcloudIE(InfoExtractor):
 | 
				
			|||||||
    _VALID_URL = r'^(?:https?://)?(?:www\.)?mixcloud\.com/([^/]+)/([^/]+)'
 | 
					    _VALID_URL = r'^(?:https?://)?(?:www\.)?mixcloud\.com/([^/]+)/([^/]+)'
 | 
				
			||||||
    IE_NAME = 'mixcloud'
 | 
					    IE_NAME = 'mixcloud'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    _TEST = {
 | 
					    _TESTS = [{
 | 
				
			||||||
        'url': 'http://www.mixcloud.com/dholbach/cryptkeeper/',
 | 
					        'url': 'http://www.mixcloud.com/dholbach/cryptkeeper/',
 | 
				
			||||||
        'info_dict': {
 | 
					        'info_dict': {
 | 
				
			||||||
            'id': 'dholbach-cryptkeeper',
 | 
					            'id': 'dholbach-cryptkeeper',
 | 
				
			||||||
@@ -33,7 +33,20 @@ class MixcloudIE(InfoExtractor):
 | 
				
			|||||||
            'view_count': int,
 | 
					            'view_count': int,
 | 
				
			||||||
            'like_count': int,
 | 
					            'like_count': int,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    }
 | 
					    }, {
 | 
				
			||||||
 | 
					        'url': 'http://www.mixcloud.com/gillespeterson/caribou-7-inch-vinyl-mix-chat/',
 | 
				
			||||||
 | 
					        'info_dict': {
 | 
				
			||||||
 | 
					            'id': 'gillespeterson-caribou-7-inch-vinyl-mix-chat',
 | 
				
			||||||
 | 
					            'ext': 'm4a',
 | 
				
			||||||
 | 
					            'title': 'Electric Relaxation vol. 3',
 | 
				
			||||||
 | 
					            'description': 'md5:2b8aec6adce69f9d41724647c65875e8',
 | 
				
			||||||
 | 
					            'uploader': 'Daniel Drumz',
 | 
				
			||||||
 | 
					            'uploader_id': 'gillespeterson',
 | 
				
			||||||
 | 
					            'thumbnail': 're:https?://.*\.jpg',
 | 
				
			||||||
 | 
					            'view_count': int,
 | 
				
			||||||
 | 
					            'like_count': int,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    }]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def _get_url(self, track_id, template_url):
 | 
					    def _get_url(self, track_id, template_url):
 | 
				
			||||||
        server_count = 30
 | 
					        server_count = 30
 | 
				
			||||||
@@ -60,7 +73,7 @@ class MixcloudIE(InfoExtractor):
 | 
				
			|||||||
        webpage = self._download_webpage(url, track_id)
 | 
					        webpage = self._download_webpage(url, track_id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        preview_url = self._search_regex(
 | 
					        preview_url = self._search_regex(
 | 
				
			||||||
            r'\s(?:data-preview-url|m-preview)="(.+?)"', webpage, 'preview url')
 | 
					            r'\s(?:data-preview-url|m-preview)="([^"]+)"', webpage, 'preview url')
 | 
				
			||||||
        song_url = preview_url.replace('/previews/', '/c/originals/')
 | 
					        song_url = preview_url.replace('/previews/', '/c/originals/')
 | 
				
			||||||
        template_url = re.sub(r'(stream\d*)', 'stream%d', song_url)
 | 
					        template_url = re.sub(r'(stream\d*)', 'stream%d', song_url)
 | 
				
			||||||
        final_song_url = self._get_url(track_id, template_url)
 | 
					        final_song_url = self._get_url(track_id, template_url)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user