利用Python来下载会员歌曲!想让我充会员?不存…

2018-08-17 09:46:57来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

低头呢喃,对你的偏爱太过于明目张胆

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

目标

QQ音乐中VIP才能下载的歌曲

使用库

主要使用的库:

  • requests 向服务器发起请求
  • urllib 构建url地址
  • re 提取需要的数据

分析

进群:548377875   即可获取数十套PDF哦!

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

利用chrome的开发者工具,勾选Preserver log,并且选中Media,刷新页面

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

刷新页面

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

所以现在的问题成了如何请求文件A。我们已经有了请求参数,也可以找到服务器的接口

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

根据反复测试,发现只有关键字vkey的值在发生变化,所以只要我们获取了动态变化的vkey值,拿到文件A就易如反掌了

(2)文件B

通过开发者工具,我找到了一个JS文件,暂且称之为文件B,它在歌曲文件之前被请求,并且其返还数据里面有vkey值

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

我们也发现,需要请求这个文件,需要的query参数不可谓少

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

如何获得这个文件呢?

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

可以看到,获取这个文件的关键点是albummid的值


(4)文件D

来到QQ音乐的搜索界面

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

当我们在搜索框中键入文字以后点击右边的搜索按钮,会发现浏览器收到一个文件,我称之为文件D

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

文件D中的list里边就包含了我们搜索出来的结果,因为存在歌曲同名啊,翻唱之类的,所以一般list里边都包含多个值,而一般情况下,比较火的歌,且在QQ音乐中有版权的,都会存放在第一个(如果有其他目的,可自行在list的数据中进行取舍),这里我就只取出第一个

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

为了更加友好,我另写了一个main.py的文件,来提示程序的用法

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

代码运行效果如下

利用Python来下载会员歌曲!想让我充会员?不存在的!

 

完整代码已上传Github,源码需要请私信!

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python多线程补充—GIL

下一篇:Python爬虫进行Web数据挖掘总结和分析!这是我见过最牛逼的教程