mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-12-13 14:37:43 +01:00
[QQMusic] Song extractor: Add lyrics as description
Note: Test fails on python 3 due to encoding issues
This commit is contained in:
parent
5edea45fab
commit
a685ae511a
@ -24,6 +24,7 @@ class QQMusicIE(InfoExtractor):
|
|||||||
'title': '可惜没如果',
|
'title': '可惜没如果',
|
||||||
'upload_date': '20141227',
|
'upload_date': '20141227',
|
||||||
'creator': '林俊杰',
|
'creator': '林俊杰',
|
||||||
|
'description': 'md5:242c97c2847e0495583b7b13764f7106',
|
||||||
}
|
}
|
||||||
}]
|
}]
|
||||||
|
|
||||||
@ -47,10 +48,16 @@ def _real_extract(self, url):
|
|||||||
|
|
||||||
publish_time = self._html_search_regex(
|
publish_time = self._html_search_regex(
|
||||||
r'发行时间:(\d{4}-\d{2}-\d{2})', detail_info_page,
|
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(
|
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()
|
guid = self.m_r_get_ruin()
|
||||||
|
|
||||||
@ -66,6 +73,7 @@ def _real_extract(self, url):
|
|||||||
'title': song_name,
|
'title': song_name,
|
||||||
'upload_date': publish_time,
|
'upload_date': publish_time,
|
||||||
'creator': singer,
|
'creator': singer,
|
||||||
|
'description': lrc_content,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -74,10 +82,6 @@ class QQPlaylistBaseIE(InfoExtractor):
|
|||||||
def qq_static_url(category, mid):
|
def qq_static_url(category, mid):
|
||||||
return 'http://y.qq.com/y/static/%s/%s/%s/%s.html' % (category, mid[-2], mid[-1], 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
|
@classmethod
|
||||||
def get_entries_from_page(cls, page):
|
def get_entries_from_page(cls, page):
|
||||||
entries = []
|
entries = []
|
||||||
@ -85,7 +89,8 @@ def get_entries_from_page(cls, page):
|
|||||||
for item in re.findall(r'class="data"[^<>]*>([^<>]+)</', page):
|
for item in re.findall(r'class="data"[^<>]*>([^<>]+)</', page):
|
||||||
song_mid = unescapeHTML(item).split('|')[-5]
|
song_mid = unescapeHTML(item).split('|')[-5]
|
||||||
entries.append(cls.url_result(
|
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
|
return entries
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user