编程语言
首页 > 编程语言> > python 一键下载酷狗歌单

python 一键下载酷狗歌单

作者:互联网

python 一键下载酷狗歌单

酷狗很多音乐下载都需要钱,于是我就想使用python进行爬取。在网上找了一圈,全是需要一首一首歌来找然后列出url。但是,谁又有耐心去找呢。于是我花了2小时写了这个脚本。

先贴项目地址:https://github.com/wind-lv/KGdownloadPC.git
由于最近忙,没写README

编写思路

流程

  1. 获取歌单
  2. 分析歌单
  3. 得出地址
  4. 下载歌曲

首先我们得知道:
酷狗要得出歌曲url需要两样东西:hash和key

http://trackercdn.kugou.com/i/v2/?a
ppid=1005&pid=2&cmd=25&behavior=play&hash={hash}&key={key}

key如何获取?
key是hash+'kgcloudv2’的加盐值。

key = hashlib.md5((hash+'kgcloudv2').encode('utf-8'
)).hexdigest()

现在就可以正式开始了。

1.获取歌单

使用酷狗客户端,分享链接到qq,然后在浏览器打开。第一时间ctrl+u看源代码。这太好爬了。全部hash值,以及歌名都在这里,而且是json。
歌单页面源代码
我们可以使用re进行json与html的分离

js = re.findall('    var dataFromSmarty = (.*?),//>
当前页面歌曲信息',req,re.S)[0]

即可得出json。

2.分析歌单

很容易分析,这里就一笔带过

json[x]['hash']
json[x]['audio_name']

其中的 x 在下载中需要循环

3.得出地址

上面已经提过,链接由key和hash合成,这里就不多说。
得出的json
该如何处理,自己思考,如果实在不会就参考我的代码(其实懒得打,不过这个很简单)

4.下载歌曲

已经得出歌曲url了,加入循环就行了,下载很轻易。
不过还得分析一下,直接贴出一个伪代码:

1.得出歌单
加入for循环:
    2.分析歌单
    3.得出地址
    4.下载歌曲

完结

效果图
效果图1

效果图2

小结

其实这个爬虫不难,含金量高的就key那部分了。
第一次写博客,还有不足多多原谅。
如果代码可以优化或者有bug可以联系我。

标签:hash,python,酷狗,json,歌单,歌曲,key,下载
来源: https://blog.csdn.net/qq_46516236/article/details/104751536