youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit b65e5bb72f48c57316ac0166141810bd1e7b2de8
parent 54914380c04ac7b52fa6dc69d49576fb7afe5f27
Author: Qijiang Fan <fqj1994@gmail.com>
Date:   Mon, 24 Aug 2015 00:31:30 +0800

[qqmusic] Add subtitles for QQMusic

Use .lrc lyrics as subtitles if lyrics in lrc format exist.

Diffstat:
Myoutube_dl/extractor/qqmusic.py | 19+++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/youtube_dl/extractor/qqmusic.py b/youtube_dl/extractor/qqmusic.py @@ -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):