浏览器打开音乐地址
http://www.htqyy.com/top/hot
点击第一首歌曲,会打开新的网页并且可以获取 改歌曲的id,就是url中的33
在播放页面点击F12,打开开发者调试功能
如下图所示,在script脚本中可以获取歌曲的下载数据
host: http://f5.htqyy.com/play
id:33
mp3: 33/mp3/7
拼接地址下载url: http://f5.htqyy.com/play/33/mp3/7
import requests import re import timesongIDs=[] #存放歌曲的sid songNames=[] #存放歌曲的名称url="http://www.htqyy.com/top/hot" #歌曲列表的url#获取音乐榜单的网页信息 html=requests.get(url)strr=html.textpat1=r'sid="(.*?)"' #用于解析sid的正则 pat2=r'title="(.*?)" sid' #用于解析歌曲名称的正则idList=re.findall(pat1,strr) #从爬取到的网页内容中获取sid titleList=re.findall(pat2,strr) #从爬取到的网页内容中获取歌曲名称songIDs.extend(idList) #将sid追加到列表 songNames.extend(titleList) #将歌曲名称追加到列表 print(idList) print(titleList)# "http://f5.htqyy.com/play9/261/mp3/7 #开始下载音频文件 for i in range(0,len(songIDs)):# songUrl="http://f2.htqyy.com/play8/"+songIDs[i]+"/mp3/6"songUrl="http://f5.htqyy.com/play/"+songIDs[i]+"/mp3/7"songName=songNames[i]print(songUrl)#请求文件地址,获取文件资源 data=requests.get(songUrl).contentprint("正在下载第",i+1,"首")#将文件保存到指定目录with open("C:\\music\\{}.mp3".format(songName),"wb") as f:f.write(data)time.sleep(0.5)
最后执行log如下:
"D:\Program Files\python\python.exe" D:/Project/Program/PythonWorkspace/FullProject/python_project/useful/get_music.py
['33', '1668', '58', '261', '62', '187', '55', '1430', '329', '87', '26', '1670', '57', '3', '108', '1621', '658', '23', '541', '56']
['清晨', '安妮的仙境', '心灵雨伞', '荡涤心灵的天籁之音', '月光下的凤尾竹', '日晷之梦(电台背景音乐)', '故乡的原风景', '宽阔的海水', '时间都去哪了', '梦里水乡', '你的微笑', '潮汐的旋律', '斯卡布罗市集(口哨曲)', '秋日私语', '牧羊曲', '太阳的后裔OST《Always》', '天空之城钢琴曲', '寂静之声', '夏日香气', '夜的钢琴曲五']
http://f5.htqyy.com/play/33/mp3/7
正在下载第 1 首
http://f5.htqyy.com/play/1668/mp3/7
正在下载第 2 首
http://f5.htqyy.com/play/58/mp3/7
正在下载第 3 首
http://f5.htqyy.com/play/261/mp3/7
正在下载第 4 首
http://f5.htqyy.com/play/62/mp3/7
正在下载第 5 首
http://f5.htqyy.com/play/187/mp3/7
正在下载第 6 首
http://f5.htqyy.com/play/55/mp3/7
正在下载第 7 首
http://f5.htqyy.com/play/1430/mp3/7
正在下载第 8 首
http://f5.htqyy.com/play/329/mp3/7
正在下载第 9 首
http://f5.htqyy.com/play/87/mp3/7
正在下载第 10 首
http://f5.htqyy.com/play/26/mp3/7
正在下载第 11 首
http://f5.htqyy.com/play/1670/mp3/7
正在下载第 12 首
http://f5.htqyy.com/play/57/mp3/7
正在下载第 13 首
http://f5.htqyy.com/play/3/mp3/7
正在下载第 14 首
http://f5.htqyy.com/play/108/mp3/7
正在下载第 15 首
http://f5.htqyy.com/play/1621/mp3/7
正在下载第 16 首
http://f5.htqyy.com/play/658/mp3/7
正在下载第 17 首
http://f5.htqyy.com/play/23/mp3/7
正在下载第 18 首
http://f5.htqyy.com/play/541/mp3/7
正在下载第 19 首
http://f5.htqyy.com/play/56/mp3/7
正在下载第 20 首Process finished with exit code 0
下载音乐位置: