- A+
所属分类:python
有木有 有木有 遇到烦心的是 现在音乐收费了。。像我们是买不起的,只能去搜索下载了
需要环境:python 3 模块json requests
代码,下载完成后自动保存到脚本当前目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#coding=utf8 import requests,json #获取下载地址 def get_down_url(songid): req=requests.get("http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.song.play&format=jsonp&callback=jQuery17206073972467458864_1511011710426&songid=%s&_=1511011713541" %songid) req.encoding='utf-8' #print(json.loads(req.text)) json1=json.loads(req.text.replace("jQuery17206073972467458864_1511011710426(","").replace(");","")) print("下载地址:",json1["bitrate"]['show_link']) return json1["bitrate"]['show_link'] #下载保存文件 def music_down(url,music_name,artistname): f=open(music_name+'-'+artistname+'.mp3','wb') req_mp3=requests.get(url) f.write(req_mp3.content) f.close() #搜索歌曲 music=input("请输入音乐:") req_url="http://sug.music.baidu.com/info/suggestion?format=json&word=%s&version=2&from=0&callback=window.baidu.sug&third_type=0&client_type=0&_=1511013032878" %music req_so=requests.get(req_url) data=json.loads(req_so.text.replace("window.baidu.sug(","").replace(");","")) for i in data["data"]["song"]: print ("\tsongid:"+str(i["songid"]),"音乐名字:"+i["songname"],"\t歌手:"+i["artistname"]) input_songid=input("请输入你要下载的songid:") for i in data["data"]["song"]: if input_songid==str(i["songid"]): url=get_down_url(i["songid"]) music_down(url,i["songname"],i["artistname"]) print("下载完成") |
运行截图:
- 我的微信
- 这是我的微信扫一扫
-
- 我的微信公众号
- 我的微信公众号扫一扫
-