diff options
| author | Yen Chi Hsuan <yan12125@gmail.com> | 2015-03-21 11:38:53 +0800 | 
|---|---|---|
| committer | Yen Chi Hsuan <yan12125@gmail.com> | 2015-04-16 17:34:54 +0800 | 
| commit | a685ae511a7f2148afb765d0a30bca42a75cf861 (patch) | |
| tree | d4dd2b017debe1edf000ea2335e171e8a6d4f05d | |
| parent | 5edea45fab73874c269655b4cf08da0bbc5ea479 (diff) | |
[QQMusic] Song extractor: Add lyrics as description
Note: Test fails on python 3 due to encoding issues
| -rw-r--r-- | youtube_dl/extractor/qqmusic.py | 19 | 
1 files changed, 12 insertions, 7 deletions
| diff --git a/youtube_dl/extractor/qqmusic.py b/youtube_dl/extractor/qqmusic.py index d0ea4a769..e8aacbc3d 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:242c97c2847e0495583b7b13764f7106',          }      }] @@ -47,10 +48,16 @@ class QQMusicIE(InfoExtractor):          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'<div class="content" id="lrc_content"[^<>]*>([^<>]+)</div>', +            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"[^<>]*>([^<>]+)</', page):              song_mid = unescapeHTML(item).split('|')[-5]              entries.append(cls.url_result( -                cls.qq_song_url(song_mid), 'QQMusic', song_mid)) +                'http://y.qq.com/#type=song&mid=' + song_mid, 'QQMusic', +                song_mid))          return entries | 
