X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=inline;f=youtube_dl%2Fextractor%2Fqqmusic.py;h=174c8e0ae751fa9d1a875c666faa906d9729330f;hb=df8418ffcff60c5a90e3138a39959d36cebcee7f;hp=d0ea4a7698d57ef418c7d0eec56004f0c2c274e3;hpb=5edea45fab73874c269655b4cf08da0bbc5ea479;p=youtube-dl diff --git a/youtube_dl/extractor/qqmusic.py b/youtube_dl/extractor/qqmusic.py index d0ea4a769..174c8e0ae 100644 --- a/youtube_dl/extractor/qqmusic.py +++ b/youtube_dl/extractor/qqmusic.py @@ -24,6 +24,7 @@ class QQMusicIE(InfoExtractor): 'title': '可惜没如果', 'upload_date': '20141227', 'creator': '林俊杰', + 'description': 'md5:4348ff1dd24036906baa7b6f973f8d30', } }] @@ -40,17 +41,23 @@ class QQMusicIE(InfoExtractor): detail_info_page = self._download_webpage( 'http://s.plcloud.music.qq.com/fcgi-bin/fcg_yqq_song_detail_info.fcg?songmid=%s&play=0' % mid, mid, note='Download song detail info', - errnote='Unable to get song detail info') + errnote='Unable to get song detail info', encoding='gbk') song_name = self._html_search_regex( r"songname:\s*'([^']+)'", detail_info_page, 'song name') publish_time = self._html_search_regex( r'发行时间:(\d{4}-\d{2}-\d{2})', detail_info_page, - 'publish time').replace('-', '') + 'publish time', default=None) + if publish_time: + publish_time = publish_time.replace('-', '') singer = self._html_search_regex( - r"singer:\s*'([^']+)", detail_info_page, 'singer') + r"singer:\s*'([^']+)", detail_info_page, 'singer', default=None) + + lrc_content = self._html_search_regex( + r'
]*>([^<>]+)
', + detail_info_page, 'LRC lyrics', default=None) guid = self.m_r_get_ruin() @@ -66,6 +73,7 @@ class QQMusicIE(InfoExtractor): 'title': song_name, 'upload_date': publish_time, 'creator': singer, + 'description': lrc_content, } @@ -74,10 +82,6 @@ class QQPlaylistBaseIE(InfoExtractor): def qq_static_url(category, mid): return 'http://y.qq.com/y/static/%s/%s/%s/%s.html' % (category, mid[-2], mid[-1], mid) - @staticmethod - def qq_song_url(mid): - return 'http://y.qq.com/#type=song&mid=%s' % mid - @classmethod def get_entries_from_page(cls, page): entries = [] @@ -85,7 +89,8 @@ class QQPlaylistBaseIE(InfoExtractor): for item in re.findall(r'class="data"[^<>]*>([^<>]+)