[qqmusic] Add subtitles for QQMusic
Use .lrc lyrics as subtitles if lyrics in lrc format exist.
This commit is contained in:
		| @@ -58,6 +58,11 @@ class QQMusicIE(InfoExtractor): | ||||
|         curMs = int(time.time() * 1000) % 1000 | ||||
|         return int(round(random.random() * 2147483647) * curMs % 1E10) | ||||
|  | ||||
|     def _filter_lrc(self, data): | ||||
|         lyrics_expr = r'(\[[0-9]{2}:[0-9]{2}\.[0-9]{2,}\][^\n]*|\[[^\]]*\])' | ||||
|         texts = re.findall(lyrics_expr, data) | ||||
|         return ''.join(i + "\n" for i in texts) | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
|         mid = self._match_id(url) | ||||
|  | ||||
| @@ -112,15 +117,25 @@ class QQMusicIE(InfoExtractor): | ||||
|         self._check_formats(formats, mid) | ||||
|         self._sort_formats(formats) | ||||
|  | ||||
|         return { | ||||
|         actual_lrc_lyrics = self._filter_lrc(lrc_content) | ||||
|  | ||||
|         info_dict = { | ||||
|             'id': mid, | ||||
|             'formats': formats, | ||||
|             'title': song_name, | ||||
|             'upload_date': publish_time, | ||||
|             'creator': singer, | ||||
|             'description': lrc_content, | ||||
|             'thumbnail': thumbnail_url, | ||||
|             'thumbnail': thumbnail_url | ||||
|         } | ||||
|         if actual_lrc_lyrics: | ||||
|             info_dict['subtitles'] = { | ||||
|                 'origin': [{ | ||||
|                     'ext': 'lrc', | ||||
|                     'data': actual_lrc_lyrics, | ||||
|                 }] | ||||
|             } | ||||
|         return info_dict | ||||
|  | ||||
|  | ||||
| class QQPlaylistBaseIE(InfoExtractor): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user