目标网站:酷狗TOP500_排行榜_乐库频道_酷狗网 (kugou.com)
具体页面如下:
1.网页结构分析
1)获取具体音乐的url
在目标页面中【右击】,点击页面检查,在菜单栏点击‘Network’,刷新页面,点击media(媒体),会出现相关数据流'mp3'文件,双击该文件,通过“headers”来看他的request url,在该网址中点击{}.mp3中的音乐文件署名,通过查找(ctrl+F)来查找相关文件信息,查找到‘php’文件,双击随后在‘Preview’下查看信息,会看见hash、album_id、play_url等信息,其中play_url就是我们要找的具体音乐地址,通过它可以去具体下载音乐文件。
首先,这是我们所获取的基础数据流信息。
其次,通过它去寻找需要的php文件
再次,我们会得到以下data信息,以两首歌对比为例,会看见其中hash和album_id不同,同时在里面也会看到play_url等。
最后,获取到url为play_url,通过它会得到音乐文件。
2、代码分步实现
第一、导入相关的库和设定相关的参数
import requests
import re
import time
其中我们获取到的url也设置出来
url = 'https://www.kugou.com/yy/rank/home/1-8888.html?from=rank'
第二、伪装设定并获取页面回应
def get_response(url):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0'
}
response = requests.get(url=url,headers=headers)
return response
第三、函数封装
首先、我们通过对比两首歌曲的php文件的data信息可以看出它们的hash和album_id不同,同