修复酷狗音乐无法下载问题

This commit is contained in:
GuanFoxyier 2019-06-17 10:16:17 +08:00
parent c3ef3740f3
commit fe7279ab47

View File

@ -8,6 +8,7 @@ from base64 import b64decode
import re import re
import hashlib import hashlib
def kugou_download(url, output_dir=".", merge=True, info_only=False, **kwargs): def kugou_download(url, output_dir=".", merge=True, info_only=False, **kwargs):
if url.lower().find("5sing") != -1: if url.lower().find("5sing") != -1:
# for 5sing.kugou.com # for 5sing.kugou.com
@ -33,7 +34,9 @@ def kugou_download_by_hash(url,output_dir = '.', merge = True, info_only = False
# url_sample:http://www.kugou.com/song/#hash=93F7D2FC6E95424739448218B591AEAF&album_id=9019462 # url_sample:http://www.kugou.com/song/#hash=93F7D2FC6E95424739448218B591AEAF&album_id=9019462
hash_val = match1(url, 'hash=(\w+)') hash_val = match1(url, 'hash=(\w+)')
album_id = match1(url, 'album_id=(\d+)') album_id = match1(url, 'album_id=(\d+)')
html = get_html("http://www.kugou.com/yy/index.php?r=play/getdata&hash={}&album_id={}".format(hash_val,album_id)) if not album_id:
album_id = 123
html = get_html("http://www.kugou.com/yy/index.php?r=play/getdata&hash={}&album_id={}&mid=123".format(hash_val, album_id))
j = loads(html) j = loads(html)
url = j['data']['play_url'] url = j['data']['play_url']
title = j['data']['audio_name'] title = j['data']['audio_name']
@ -45,6 +48,7 @@ def kugou_download_by_hash(url,output_dir = '.', merge = True, info_only = False
if not info_only: if not info_only:
download_urls([url], title, ext, size, output_dir, merge=merge) download_urls([url], title, ext, size, output_dir, merge=merge)
def kugou_download_playlist(url, output_dir='.', merge=True, info_only=False, **kwargs): def kugou_download_playlist(url, output_dir='.', merge=True, info_only=False, **kwargs):
urls = [] urls = []
@ -58,6 +62,8 @@ def kugou_download_playlist(url, output_dir = '.', merge = True, info_only = Fal
res = get_html(song) res = get_html(song)
pattern_url = re.compile('"hash":"(\w+)".*"album_id":(\d)+') pattern_url = re.compile('"hash":"(\w+)".*"album_id":(\d)+')
hash_val, album_id = res = pattern_url.findall(res)[0] hash_val, album_id = res = pattern_url.findall(res)[0]
if not album_id:
album_id = 123
urls.append('http://www.kugou.com/song/#hash=%s&album_id=%s' % (hash_val, album_id)) urls.append('http://www.kugou.com/song/#hash=%s&album_id=%s' % (hash_val, album_id))
# download album # download album
@ -83,7 +89,6 @@ def kugou_download_playlist(url, output_dir = '.', merge = True, info_only = Fal
kugou_download_by_hash(url, output_dir, merge, info_only) kugou_download_by_hash(url, output_dir, merge, info_only)
site_info = "kugou.com" site_info = "kugou.com"
download = kugou_download download = kugou_download
# download_playlist = playlist_not_supported("kugou") # download_playlist = playlist_not_supported("kugou")