酷狗音乐单首歌曲下载
单首歌曲下载没有问题
url链接复制的别人的进行的修改。我就纳了闷了,怎么我复制的url链接就不行呢?明明区别不大。我这个脑子呀。。果然不如别人灵活。
import requests
from urllib import parse
import json
import time
import re
import os
import webbrowser
import warnings
warnings.filterwarnings('ignore')
def download_song(hash,album_id,time):
# 获取相关参数
#通过参数获取歌曲json并解析
json_url = 'https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery19109016032522568235_1609768307593&hash=' + hash + '&dfid=0QqplI0WZxot12pqVh08WTx7&mid=e3a0e7839e40cf5a59a03b06b05fda0e&platid=4&album_id=' + album_id
headers={
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36'
}
res=requests.get(url=json_url,headers=headers).text
res=re.findall(r'jQuery.*?\((.*?)\);',res)[0]
json_c=json.loads(res)
song_name=json_c['data']['song_name']
song_url=json_c['data']['play_url']
print(song_name+'---'+song_url+' --start download!')
dir='酷狗音乐'
if not os.path.exists(dir):
os.mkdir(dir)
#下载音乐
song_c=requests.get(url=song_url,headers=headers,verify=False).content
filename=dir+'/'+song_name+'.mp3'
with open(filename,'wb') as f:
f.write(song_c)
print(song_name+'-下载完成!')
if __name__=='__main__':
webbrowser.open('https://www.kugou.com/')
a=True
while a:
try:
url=input('酷狗歌曲地址:')
url = parse.urlparse(url) # 对url参数进行解析
# print(url)
param = parse.parse_qs(url.fragment)
hash = param['hash'][0]
album_id = param['album_id'][0]
shijianchuo = str(round(time.time() * 1000))
download_song(hash,album_id,shijianchuo)
except:
print('检查输入链接是否正确!')
0 评论