可以免费下载付费音乐哦,我另外打包了一个exe,有需要的可以联系我
# -*- coding: utf-8 -*-
"""
Created on Wed May 16 17:47:06 2018
@author: yhj
"""
import requests
import urllib
import json
import os
import sys
def getMusic(word):
res1 = requests.get('https://c.y.qq.com/soso/fcgi-bin/client_search_cp?&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=20&w='+word)
jm1 = json.loads(res1.text.strip('callback()[]'))
jm1 = jm1['data']['song']['list']
mids = []
songmids = []
srcs = []
songnames = []
singers = []
for j in jm1:
try:
mids.append(j['media_mid'])
songmids.append(j['songmid'])
songnames.append(j['songname'])
singers.append(j['singer'][0]['name'])
except:
print('wrong')
fileName="F:\\music\\" #是你保存music的文件夹
print(fileName)
if not os.path.exists(fileName):
os.mkdir(fileName)
os.chdir(fileName)
for n in range(0,len(mids)):
res2 = requests.get('https://c.y.qq.com/base/fcgi-bin/fcg_music_express_mobile3.fcg?&jsonpCallback=MusicJsonCallback&cid=205361747&songmid='+songmids[n]+'&filename=C400'+mids[n]+'.m4a&guid=6612300644')
jm2 = json.loads(res2.text)
vkey = jm2['data']['items'][0]['vkey']
srcs.append('http://dl.stream.qqmusic.qq.com/C400'+mids[n]+'.m4a?vkey='+vkey+'&guid=6612300644&uin=0&fromtag=66')
print('For '+word+' Start download...')
x = len(srcs)
for m in range(0,x):
print(str(m)+'***** '+songnames[m]+' - '+singers[m]+'.m4a *****'+' Downloading...')
try:
urllib.request.urlretrieve(srcs[m],fileName+songnames[m]+' - '+singers[m]+'.mp3')
except:
x = x - 1
print('Download wrong~')
print('For ['+word+'] Download complete '+str(x)+'files !')
if __name__=="__main__":
music_name="搠" #输入你需要下载的音乐名
getMusic(music_name)