projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[nytimes] Extend _VALID_URL (#2754)
[youtube-dl]
/
youtube_dl
/
extractor
/
qqmusic.py
diff --git
a/youtube_dl/extractor/qqmusic.py
b/youtube_dl/extractor/qqmusic.py
index d0ea4a7698d57ef418c7d0eec56004f0c2c274e3..174c8e0ae751fa9d1a875c666faa906d9729330f 100644
(file)
--- a/
youtube_dl/extractor/qqmusic.py
+++ b/
youtube_dl/extractor/qqmusic.py
@@
-24,6
+24,7
@@
class QQMusicIE(InfoExtractor):
'title': '可惜没如果',
'upload_date': '20141227',
'creator': '林俊杰',
'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',
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,
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(
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
@@
class QQMusicIE(InfoExtractor):
'title': song_name,
'upload_date': publish_time,
'creator': singer,
'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)
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 = []
@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(
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
return entries