本代码需用到requests、json、wget库
其中requests和wget库为第三方库,打开cmd后自行下载
代码如下:
pip install requests
pip install wget
准备工作:
新建文本文档,在文本中输入歌单,一行一首歌曲,如图所示:
在D盘下新建文件夹,命名为“新建文件夹”,该文件夹将用来存储下载的音乐
代码段
1、导入第三方库
import requests
import json
import wget
2、歌单读取
#歌单读取
music_list = []
file = input("请拖入歌单:")
file = open(file, "r+", encoding="utf-8")
line = file.readline()
while line:
music_list.append(line.strip())
line = file.readline()
print("已成功读取歌单!")
3、调用api获取下载地址
#链接获取
url = "https://xiaoapi.cn/API/yy_sq.php?msg=歌曲&type=json&n=1"
music_downloadlist = []
music_formatlist = []
for i in music_list:
url_get = url.replace("歌曲", i)
info = json.loads(requests.get(url_get).text)
music_downloadlist.append(info['url'])
a = info['url']
a = list(a)
format = ""
for i in a[68:a.index("?")]:
format = format + i
music_formatlist.append(format)
print("已获取下载地址!")
4、批量下载(path为下载地址,如有需要可以自行更改)
#批量下载
path = "D:/新建文件夹"
print("开始下载!")
for i in range(len(music_list)):
name = music_list[i]
path_download = path + "/" + name + music_formatlist[i]
wget.download(music_downloadlist[i], path_download)
print("\n" + name + " 下载完成!")
print("下载完成!")
整体代码
import requests
import json
import wget
#歌单读取
music_list = []
file = input("请拖入歌单:")
file = open(file, "r+", encoding="utf-8")
line = file.readline()
while line:
music_list.append(line.strip())
line = file.readline()
print("已成功读取歌单!")
#mp3获取
url = "https://xiaoapi.cn/API/yy_sq.php?msg=歌曲&type=json&n=1"
music_downloadlist = []
music_formatlist = []
for i in music_list:
url_get = url.replace("歌曲", i)
info = json.loads(requests.get(url_get).text)
music_downloadlist.append(info['url'])
a = info['url']
a = list(a)
format = ""
for i in a[68:a.index("?")]:
format = format + i
music_formatlist.append(format)
print("已获取下载地址!")
#批量下载
path = "D:/新建文件夹"
print("开始下载!")
for i in range(len(music_list)):
name = music_list[i]
path_download = path + "/" + name + music_formatlist[i]
wget.download(music_downloadlist[i], path_download)
print("\n" + name + " 下载完成!")
print("下载完成!")