mid铃声下载(qq音乐mp3音乐下载)

QQ音乐MP3下载

mid铃声下载(qq音乐mp3音乐下载)

没错本次写的内容的对象是我们熟知的QQ Music。

本篇文章涉及内容包括:Python,爬虫,json解析,request 库的使用

缘起

前几天刷B站无意中又刷到了一首神曲,“I Want My Tears Back”,挺好听的。听了几遍后便寻思着能不能把这歌给下到手机上拿来当闹钟的,听过的同学应该知道这歌有多提神,哈哈哈~~~

没听过的同学可以点击文章上方的音乐,感受一下下。

动手分析

接下来,当然要选择一下从哪个平台下搞这首歌回来啦。网易云音乐和QQ音乐,选择哪个?那就从网易云入手吧,毕竟用的多些,接着便去网易云一顿操作,此处省略1000字描述。发现,哎呦,这网易云……不好搞呀。所以先不管了,看一下QQ音乐的情况先。

F12大法一开,QQ音乐就先给我来了个惊喜,大大符号图标倾情相送。对比云村的就没有啦。

mid铃声下载(qq音乐mp3音乐下载)

撇开这些不关键的东西不说了,接下来就是搜索一首歌。

这个时候,先把控制台切到network栏,这个时候,你会发现左下角有很多请求链接。请求各种各样的内容,这个时候,这些东西对我们都是没用的,是吧。我们要的是我们请求搜索那一瞬间他发出去的数据。所以,为了避免无关数据的干扰,建议点击左上角的清空把记录清空先。然后右上角勾上disable cache,避免缓存使我们看不到我们要的数据。

mid铃声下载(qq音乐mp3音乐下载)

这个时候,拿到这些数据有什么用呢?歌曲链接还没不知道怎么构造呀。。。

先别急,我们看看歌曲链接长啥样。然后…………

mid铃声下载(qq音乐mp3音乐下载)

没办法了,逐个点击。1分钟过后,I got it.最后那个链接就是歌曲链接。

https://isure.stream.qqmusic.qq.com/C400000JHuWh4fOBxD.m4a?guid=8665097290&vkey=A78C373DCB421D9DA3B1C3A87979A32A6062159F032C2D44C83BDD8D9D1F717B429F6C92A6C2720A1DB18AC835D4E6FCD409D6F0D0CE6F21&uin=7642&fromtag=66

可以清楚看到有几个关键参数。guid、vkey、uin、fromtag,我们先暂且不管那个参数可以省略好吧。先看看可以从哪里找到这几个参数……又得看链接的返回值了(此处说明,可以在控制台点击response标签查看返回值,你只要按↓键就OK了)。在漫长的遍历过程中,我注意到了一个链接的内容十分不一样的,不相同的,很多很多。直觉告诉我,就是这个链接了。

mid铃声下载(qq音乐mp3音乐下载)

所以,我们这个时候基本就以及厘清下载音乐的步骤以及思路了。首先,请求搜索某一首歌,然后或者到song mid 接着song mid 去请求服务器拿到这首歌的播放链接。接着用request请求数据回来再用二进制保存就OK啦。

代码写起来

导入需要用到的json库和requests库。

构造一个类,downloadMusic,初始化一个headers,做个最简单的反爬。

写run方法,将上面的思路实现出来。请求回数据后就用json.loads方法加载json数据。逐步逐步请求服务器,填充需要填的数据。

最后拿到链接的URL后,就easy了,用requests请求资源回来后。用.content,不要用.text。又人问过我这两个方法的区别。

简单来说,content拿到的数据是字节,调试打印出来你会发现数据前面会有个b’,text的话,就是一个字符串了。

因为我们要保存歌曲,就肯定要用字节保存好,用wb方式打开,然后写进去后便关闭即可。代码贴在下面。

至此写完收工,可以美滋滋地下载我们要的歌了。有了它还怕什么铃声找不到自己喜欢的问题吗?

本文来自作者:zhanzhan,不代表小新网立场!

转载请注明:https://www.xiaoxinys.cn/598220.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。