如何使用Python网络爬虫下载酷狗音乐

【一、项目背景】
现在的听歌软件动不动就是各种付费,要下载软件才能听,当你下载了之后,你会惊奇的发现这首歌还收费,这就让一向喜欢白嫖的小编感到很伤心了。于是,小编冥思苦想,终于让我发现了其中的奥秘,一起来看看吧。
【二、项目准备】
1、编辑器:sublime text 3
2、软件:360浏览器
【三、项目目标】
下载我们喜欢的音乐。
【四、项目实现】
1、打开酷狗音乐官网
360浏览器打开酷狗音乐官网:
可以看到十分清爽的画风,这也是我比较喜欢的地方。
2、审查元素,分析请求
打开network ,分析请求,我们可以看到:
从上图可以看出,这是请求的参数,所以我们可以使用requests模块对它发起请求。
3、模拟发起请求
我们从网页中得知它的地址为:
https://www.kugou.com/yy/html/search.html#searchtype=song&searchkeyword=%e4%b8%8d%e8%b0%93%e4%be%a0
可以看到真正对于我们来说有用的就只有searchkeyword参数后的值,前面的搜索类型默认填写即可,所以我们可以这样:
import requestsheaders={'accept': '*/*','accept-encoding':'gzip, deflate, br','accept-language': 'zh-cn,zh;q=0.9','cookie': 'kg_mid=ebb2de813317a791bcf7b7d3131880c4; um_distinctid=1722ba8b22632d-07ac0227c507a7-4e4c0f20-1fa400-1722ba8b2284a1; kg_dfid=0q0bei47p4zf0mhyzv0sybou; kg_dfid_collect=d41d8cd98f00b204e9800998ecf8427e; hm_lvt_aedee6983d4cfc62f509129360d6bb3d=1590041687,1590280210,1590367138,1590367386; hm_lpvt_aedee6983d4cfc62f509129360d6bb3d=1590367431','referer': 'https://www.kugou.com/yy/html/search.html','sec-fetch-mode': 'no-cors','sec-fetch-site': 'same-site','user-agent': 'mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/78.0.3904.108 safari/537.36'}aa=input('请输入歌名:')data={'callback': 'jquery112408716317197794392_1590368232677','keyword':aa,'page': '1','pagesize':'30','userid':'-1','clientver': '','platform': 'webfilter','tag': 'em','filter': '2','iscorrection': '1','privilege_filter': '0','_': '1590368232679',}requests.get('https://www.kugou.com/yy/html/search.html',params=data,timeout=4)
这样就实现了模拟请求,我们来验证下:
可以看出它成功打印出了和我们上面一模一样的地址。
4、获取音乐文件列表rep=requests.get('https://www.kugou.com/yy/html/search.html',params=data,timeout=5)print(rep.url)res=requests.get(rep.url,timeout=4)print(res.text)
当我们将请求地址填写正确后,我发现竟然内容与预期不相符,但是请求地址对的一批。
我以为是这样的结果:
实际上的结果:
可以看到差距很大,而且用json也根本获取不到,报格式错误,说明不是一个json,看来这比qq音乐难度高点。不过我们今天要下载的是音频文件,所以暂时跳过,不管它。
5、下载音频文件
我们在搜索后弹出来的列表中选择原唱曲目,进去听一下:
我选择第一首,打开是这样,我们开始骚操作,打开network:
我们输入后缀mp3,然后定位到对应的请求,然后打开它的请求结果,可以看到一个json结果:
我们将json结果粘贴到控制台,可以看到里面有一段关于mp3的结果,不过添加了点干扰符号,我们把它提取出来:
这样我们就可以把酷狗音乐的歌曲下载下来了。
【五、项目总结】
1、其实,酷狗音乐与qq音乐不同,酷狗音乐的下载链接更好捕获,你可以直接在它的播放界面捕获到:
模拟请求这个界面,一切都搞定了。
2、关于qq音乐的获取,可以参考之前发布的系列文章:
1)手把手教你使用python抓取qq音乐数据(第一弹)
2)手把手教你使用python抓取qq音乐数据(第二弹)
3)手把手教你使用python抓取qq音乐数据(第三弹)
4)手把手教你使用python抓取qq音乐数据(第四弹)
------------------- end -------------------


混合集成电路,什么是混合集成电路
单相异步电动机正反转电路图
双极性晶体管和场效应晶体管的区别
解决下一代高密度互连PCB设计中的EMI测试挑战
无人机用小型炸弹是什么样子的
如何使用Python网络爬虫下载酷狗音乐
如何区分短路保护、过载保护、零压保护
展商资讯|宝德携自强全线产品及相关解决方案亮相CITE2022
微信回应并未监控聊天记录,用户隐私泄露何时休?
将基于图形的物理综合添加到FPGA的设计中
存储业务拖后腿 三星Q4利润跌落谷底
5G如何与车联网融合发展
中兴微电子获得汽车功能安全最高等级认证
变压器绕线工艺大全
DAC0808实现LED亮度调节电路图
物联网智能在建筑空间中有什么样的应用
猛玛发布传奇C1无线图传,让直播/监看永不黑屏!
长光辰芯发布8K APS-C画幅背照式堆栈CMOS图像传感器新品,CMOS图像传感器价格竞争加剧
MOSFET驱动器介绍及功耗计算
厚膜功能电路产品详细介绍