酷狗音乐歌曲下载

import requests,json,os
from lxml import etree
header={
'Referer': 'http://www.kugou.com/',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'
}
def ge(ming):
m={}
n=1
a=requests.get('http://so.service.kugou.com/get/complex?word='+ming,headers=header).text
aa1=json.loads(a)['data']
# print(aa1)
if aa1 == '':
a1 = requests.get('http://songsearch.kugou.com/song_search_v2?keyword=' + ming+'&page=1&pagesize=30&userid=-1&clientver=&platform=WebFilter',headers=header).text
else:
ccc1=aa1['1']['song_count']
if ccc1>490:
ccc1=480
else:
ccc1=ccc1
a1=requests.get('http://songsearch.kugou.com/song_search_v2?keyword='+ming+'&pagesize='+str(ccc1),headers=header).text
# print(a1)
# # 'http://songsearch.kugou.com/song_search_v2?callback=jQuery112408886213951250788_1529543235106&keyword=%E5%BC%A0%E6%9D%B0&page=1&pagesize=30&userid=-1&clientver=&platform=WebFilter&tag=em&filter=2&iscorrection=1&privilege_filter=0&_='
aa=json.loads(a1)['data']['lists']
for i in aa:
print(n,i['FileName'])
m[n]={i['FileHash']:i['AlbumID']}
n=n+1
m[n]='退出'
print(n,m[n])
while 1:
shu=int(input('请输入要选的歌的序号:'))
if m[shu]=='退出':
print('退出选歌')
break
for ii,jj in m[shu].items():
# print(ii,jj)
a2 = requests.get('http://www.kugou.com/yy/index.php?r=play/getdata&hash=' +ii + '&album_id=' + jj, headers=header).text
# # 'http://www.kugou.com/yy/index.php?r=play/getdata&hash=40B23722BF9CD553A9C9B611E148E366&album_id=8604631&_=1529541198941'
aa2 = json.loads(a2)['data']
name=aa2['audio_name']
aaa2=aa2['play_url']
if os.path.isfile('D:\\酷狗音乐\\'+name+'.mp3'):
print('《{0}》已存在!'.format(name))
continue
else:
print('开始下载《{0}》'.format(name))
b=requests.get(aaa2,headers=header).content
with open('D:\\酷狗音乐\\'+name+'.mp3','wb')as f:
f.write(b)
print('完成下载《{0}》!'.format(name))
continue
while 1:
try:
ge_name=input('请输入想要的歌曲名或歌手名(1:退出软件):')
if ge_name == '1':
print('退出软件')
break
else:
ge(ge_name)
except:
print('输入错误')

猜你喜欢

转载自www.cnblogs.com/ygjn/p/9283972.html