X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fqqmusic.py;h=13113820bc4c820012bd618104c1b192897a6985;hb=7ec676bb3dd6cba4b56fccb2d5aae08e66086b4e;hp=bae2ce31aafcf21d4dd1cd272db6ff2cf79091a5;hpb=96d45a5489389a8853d000b47686c128a652a9ca;p=youtube-dl diff --git a/youtube_dl/extractor/qqmusic.py b/youtube_dl/extractor/qqmusic.py index bae2ce31a..13113820b 100644 --- a/youtube_dl/extractor/qqmusic.py +++ b/youtube_dl/extractor/qqmusic.py @@ -15,6 +15,7 @@ from ..compat import compat_urllib_request class QQMusicIE(InfoExtractor): + IE_NAME = 'qqmusic' _VALID_URL = r'http://y.qq.com/#type=song&mid=(?P[0-9A-Za-z]+)' _TESTS = [{ 'url': 'http://y.qq.com/#type=song&mid=004295Et37taLD', @@ -97,6 +98,7 @@ class QQPlaylistBaseIE(InfoExtractor): class QQMusicSingerIE(QQPlaylistBaseIE): + IE_NAME = 'qqmusic:singer' _VALID_URL = r'http://y.qq.com/#type=singer&mid=(?P[0-9A-Za-z]+)' _TEST = { 'url': 'http://y.qq.com/#type=singer&mid=001BLpXF2DyJe2', @@ -140,6 +142,7 @@ class QQMusicSingerIE(QQPlaylistBaseIE): class QQMusicAlbumIE(QQPlaylistBaseIE): + IE_NAME = 'qqmusic:album' _VALID_URL = r'http://y.qq.com/#type=album&mid=(?P[0-9A-Za-z]+)' _TEST = { @@ -172,8 +175,9 @@ class QQMusicAlbumIE(QQPlaylistBaseIE): class QQMusicToplistIE(QQPlaylistBaseIE): + IE_NAME = 'qqmusic:toplist' _VALID_URL = r'http://y\.qq\.com/#type=toplist&p=(?P(top|global)_[0-9]+)' - + _TESTS = [{ 'url': 'http://y.qq.com/#type=toplist&p=global_12', 'info_dict': { @@ -200,15 +204,14 @@ class QQMusicToplistIE(QQPlaylistBaseIE): @staticmethod def strip_qq_jsonp(code): return js_to_json(re.sub(r'^MusicJsonCallback\((.*?)\)/\*.+?\*/$', r'\1', code)) - + def _real_extract(self, url): list_id = self._match_id(url) - list_type = list_id.split("_")[0] - num_id = list_id.split("_")[1] + list_type, num_id = list_id.split("_") list_page = self._download_webpage( - "http://y.qq.com/y/static/toplist/index/%s.html" % list_id, + "http://y.qq.com/y/static/toplist/index/%s.html" % list_id, list_id, 'Download toplist page') entries = [] @@ -216,11 +219,12 @@ class QQMusicToplistIE(QQPlaylistBaseIE): jsonp_url = "http://y.qq.com/y/static/toplist/json/top/%s/1.js" % num_id else: jsonp_url = "http://y.qq.com/y/static/toplist/json/global/%s/1_1.js" % num_id - - list = self._download_json(jsonp_url, list_id, note='Retrieve toplist json', + + toplist_json = self._download_json( + jsonp_url, list_id, note='Retrieve toplist json', errnote='Unable to get toplist json', transform_source=self.strip_qq_jsonp) - - for song in list['l']: + + for song in toplist_json['l']: s = song['s'] song_mid = s.split("|")[20] entries.append(self.url_result( @@ -230,7 +234,5 @@ class QQMusicToplistIE(QQPlaylistBaseIE): list_name = self._html_search_regex( r'

([^\']+)

', list_page, 'top list name', default=None) - list_desc = None - return self.playlist_result(entries, list_id, list_name, list_desc) - \ No newline at end of file + return self.playlist_result(entries, list_id, list_name)