大家好,我是chilly,今天是 2018年05月01日,下面给大家分享本人爬取酷狗音乐top100的音频的案例

好,一起来看看需求


python 爬取音频 爬虫抓取音频_爬取酷狗歌曲链接


我们想要爬取top100的歌曲信息以及歌曲所在的url。


那么确定好需求后,我们就准备开始我们的步伐。在如上的页面F12,是没有我们所想要的MP3源地址的,所以我们点开任一首歌。打开F12开发者工具,页面如下

python 爬取音频 爬虫抓取音频_爬取酷狗歌曲链接_02




python 爬取音频 爬虫抓取音频_selenium 爬取音频_03

可以看到,歌曲是经过 Ajax 异步加载获取的,而请求参数是加密的,其中的id在前一个页面可以获取,并且这里可以不提供第二个参数也可以获取该响应,主要的hash后的参数。在看了大神们的解码分析后,望而却步,但奇迹般发现

python 爬取音频 爬虫抓取音频_python爬取酷狗top_04


当前页面的url是含有hash参数的,当即想到用 selenium+pantomJs 路线来获取当前页面url,用当前页面的url中的hash参数,来构造请求,获取我们想要的json数据,该数据中包含我们需要的歌曲的具体信息

给大家看看selenium部分的代码

python 爬取音频 爬虫抓取音频_python 爬取音频_05


依次点击每首歌曲,然后获取url,返回前一个页面,继续进入下一个歌曲的界面,获取url,最后将结果保存在文件中。

文件内容如下

python 爬取音频 爬虫抓取音频_selenium 爬取音频_06


到了这里我们已经成功一大半了,因为我们已经拿到了每首歌曲对应的hash参数,我们只需要对这个参数简单的构造


python 爬取音频 爬虫抓取音频_python 爬取音频_07


然后对这些url,向酷狗服务器发起访问请求,酷狗将数据都发送给了我们,经过json解析后,我们将结构化的数据保存在kugou.txt中

python 爬取音频 爬虫抓取音频_python爬取酷狗top_08


当然,大家可以存储数据库,excel。



总结: 整个过程,熟悉了 selenium + pantomJs 的使用 ,整个案例中,最重要的是,如何获取url,能够让酷狗服务器乖乖地将包含歌曲信息的 json 数据,回传给我们,而这篇教程,就是采用 selenium来获取hash参数,当然大家也可以进行解密。大家可以自行尝试,这里给大家推荐 大神详解网易音频爬虫加密参数的破解 打开链接 

感谢大家。