酷狗音乐单曲爬取
酷狗音乐单首歌曲下载
单首歌曲下载没有问题
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('检查输入链接是否正确!')
非特殊说明,本文版权归原作者所有,转载请注明出处
评论列表
发表评论