admin管理员组文章数量:1650878
目录
- 1.前言
- 2.分析一下
-
- 1.
- 2.
- 3.
- 3.代码解释
- 4.完整代码
- 5.结语
1.前言
前面发布了一篇关于QQ音乐爬取的教程,但对于我们这种文艺青年来说,一个平台的歌曲怎么够我们听的,也是因为每个平台歌曲的权限不同,所以不同平台也有不同的歌曲,今天,给大家带来爬取酷狗音乐的教程,就是歌多!!!
2.分析一下
我们大家听歌的时候大都是去搜喜欢的歌曲名或者是喜欢的歌手,那今天我们就以歌手为例,下载搜索歌手出现的歌曲列表,如下。
我们就是要下载列表中的全部歌曲。
1.
首先我们分析一下,我们执行代码时,改变的肯定是歌手名,就是当我们输入歌手的名字时,它会获取到有关这个列表的所有歌曲的信息,所以我们要从搜索部分入手。
如图:当我们在搜索框输入信息时,每按一次键盘就会出现一个文件,当我们搜索完,按回车时,会发现一个文件,这个文件包含了这个列表的所有信息,也就是所搜索歌手的全部歌曲,而且每一项都包含了这首歌曲的详细信息,但遗憾的是没有这首歌曲的播放地址,没关系,至少我们的方向是对的。
我们分析这个文件的地址:
https://songsearch.kugou/song_search_v2?callback=jQuery112405886208845288214_1588464073802&keyword=%E6%B1%AA%E8%8B%8F%E6%B3%B7&page=1&pagesize=30&userid=-1&clientver=&platform=WebFilter&tag=em&filter=2&iscorrection=1&privilege_filter=0&_=1588464073826
这应该是经过地址编码的,我们转码看一下:
https://songsearch.kugou/song_search_v2?callback=jQuery112405886208845288214_1588464073802&keyword=汪苏泷&page=1&pagesize=30&userid=-1&clientver=&platform=WebFilter&tag=em&filter=2&iscorrection=1&privilege_filter=0&_=1588464073826
看到变化了吗,没错,关键字"keyword"就是歌手名,我们改变地址中的keyword就可以得到,不同歌手的歌曲列表
2.
既然我们找到了歌曲的详细信息,就要分析信息中哪些是我们想要的,但在此之前,我们得找到歌曲的其他信息,不然一处信息是无法判断的。我们点开一首歌曲,检查一下,我们可以看到这样一个文件。
这个文件包也是包含了歌曲的详细信息,但重要的是,有一个可疑的地址,我们点开来看,猜对了,就是歌曲的播放地址,哈哈,是不是信心大增。
3.
如果只看播放地址的话我们发现不了什么规律,那我们看一看这个文件的地址,多看几个,没准你会有新的发现。
仔细看一看,发没发现两个关键字,“hash"和"album_id”,是不是觉得和我们前面发现的信息有联系啊,没错,我们最开始分析的那个文件中,歌曲的详细信息里就包含了这两个关键字的值。
所以获取歌曲播放地址的步骤我们大致也明白了,我们可以根据我们分析的第一个文件中的"hash"和"album_id"来获取我们分析的第二个文件的地址,第二个文件包含了歌曲的播放地址,所以,好吧,图解一下。
这下应该很非常清楚了吧,光看图也该明白了吧!!!
3.代码解释
再给你们稍微说明一下。
我们根据歌手搜索时,参数歌手名是字符串类型,但带到地址中要进行编码转换。
调入模块:
import urllib.request,urllib.error,urllib.parse
版权声明:本文标题:Python爬取酷狗音乐-详解(多图预警) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1729548853a1205976.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论