【Python3爬虫】下载酷狗音乐上的歌曲

经过测试,可以下载要付费下载的歌曲(n_n)

 

准备工作:Python3.5+Pycharm

使用到的库:requests,re,json,time,fakeuseragent

 

步骤:

  打开酷狗音乐的官网,输入想要搜索的歌曲(例如《天后》),然后回车搜索,得到如下页面:

 

    右键检查或者按F12打开开发者工具,点击JS选项,查找到如下信息,FileName就是返回的歌手名和歌曲名信息,我们要将其提取出来:

   由于这个网址返回的不是标准的json格式,所以要先进行如下处理,然后再转换成json格式:

res = requests.get(url).text
js = json.loads(res[res.index('(') + 1:-2])
提取到歌曲信息之后,我们输入一个序号代表要下载的歌曲序号,然后把歌曲下载下来就好了。这里需要提取出来的是FileHash,这个值会用于构造歌曲详情的URL,该URL格式如下:
http://www.kugou.com/yy/index.php?r=play/getdata&hash=<FileHash>
打开这个链接后会一个如下图所示的Json格式文件,其中包含了歌曲名称、歌手、歌曲时长等信息,其中play_url是歌曲链接,将其提取出来使用requests中的content下载即可。

 



运行截图:

 

完整代码已上传到GitHub

posted @ 2018-08-23 15:52  onionono  阅读(5564)  评论(17编辑  收藏  举报