因为最近发现咪咕音乐版权好多,当时我就在想是不是可以爬取下来,然后花了一些时间,发现有加密,虽然找到了接口,但是只能手动下载VIP歌曲,对于我们学IT的人来说,这是不能忍的,于是就懒得去解密抓取了,但是偶然的情况下,一个朋友说发现酷狗没加密,我兴奋的去看了看,果然,然后大概分析了一下,可以完成我想要抓取的那个程序,好了,废话不多说,上干货

我打包成了exe程序,只要有电脑就可以运行,下载你想要听的歌曲,不过有些版权没有,和未知bug,可能有些歌曲不能下载,毕竟还是有些不足的

GitHub源码地址

https://github.com/18216492945/music_download.git

git@github.com:18216492945/music_download.git

群里面:924776571  也可以下载

群里面都是一群爱学习的大佬,各专业大佬,想学习交流的小伙伴一起来学习吧,让我们赢取白富美,走向人生巅峰

一:我想要的是一个搜索接口,根据自己想要下载的歌曲来抓取数据

打开这个包我们可以得到我们想要的结果,找到了search_url ,我们可以先拿下来,稍后做分析

Request URL:https://songsearch.kugou.com/song_search_v2?callback=jQuery112403044970993079412_1583928714071&keyword=%E5%B9%B4%E5%B0%91%E6%9C%89%E4%B8%BA&page=1&pagesize=30&userid=-1&clientver=&platform=WebFilter&tag=em&filter=2&iscorrection=1&privilege_filter=0&_=1583928714073
 
这个url里面,经过各种调试,可以得出一些结论,
callback=jQuery112403044970993079412_1583928714071:这一个东西用来提高搜索结果准确度的
keyword=%E5%B9%B4%E5%B0%91%E6%9C%89%E4%B8%BA:这个就是我们搜索框的关键字
page=1:就是第一页
pagesize=30:就是搜索结果返回30条数据
_=1583928714073:这个参数是必须带上的,不然请求会失败
其余的好像去了也可以,也没出什么问题,但是带上也没关系,不会有害处
 
所以我们可以构建自己的search_url,更具关键字自己调就好
 
 
二:构建好search_url后,我们回到播放页

请求url里面有hash,hash基本作为唯一标识,果然,把这个hash换成别的歌曲的hash就跳转到对应的歌曲

然后返回的数据,

lyrics:就是歌词,

play_url:就是歌曲播放源地址

三:接下来就是解析数据,把数据清洗出来就行了,构建play_url 

 我就是这么分析,然后就着手写代码,嗯嗯,没得问题
 
四:然后基本架构就是这样
 

 

 五:运行结果如下

 六:最后,学IT的 ,肯定不会忘记分享,分享程序员圈子的的一大亮点,自己平时也在其中学到知识,现在也该到我来分享分享了

写这篇文章,只是拿来分享,肯定会有一些不足的地方,因为我自己也是学生,小白起步阶段,有什么不足的地方也希望大佬们来指导指导,也希望大家一起相互学习交流

python-从酷狗下载爬取自己想要的音乐-可以直接拿来体验哟的更多相关文章

  1. python爬虫:了解JS加密爬取网易云音乐

    python爬虫:了解JS加密爬取网易云音乐 前言 大家好,我是"持之以恒_liu",之所以起这个名字,就是希望我自己无论做什么事,只要一开始选择了,那么就要坚持到底,不管结果如何 ...

  2. Python爬虫:为什么你爬取不到网页数据

    前言: 之前小编写了一篇关于爬虫为什么爬取不到数据文章(文章链接为:Python爬虫经常爬不到数据,或许你可以看一下小编的这篇文章), 但是当时小编也是胡乱编写的,其实里面有很多问题的,现在小编重新发 ...

  3. python学习之爬虫(一) ——————爬取网易云歌词

    接触python也有一段时间了,一提到python,可能大部分pythoner都会想到爬虫,没错,今天我们的话题就是爬虫!作为一个小学生,关于爬虫其实本人也只是略懂,怀着"Done is b ...

  4. Python网络爬虫与如何爬取段子的项目实例

    一.网络爬虫 Python爬虫开发工程师,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页 ...

  5. python爬虫学习01--电子书爬取

    python爬虫学习01--电子书爬取 1.获取网页信息 import requests #导入requests库 ''' 获取网页信息 ''' if __name__ == '__main__': ...

  6. Python爬虫实战二之爬取百度贴吧帖子

    大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 前言 亲爱的们,教程比较旧了,百度贴吧页面可能改版,可能代码不 ...

  7. Python爬虫实战一之爬取糗事百科段子

    大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧.那么这次为大家带来,Python爬取糗事百科的小段子的例子. 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把 ...

  8. 【学习笔记】Python 3.6模拟输入并爬取百度前10页密切相关链接

    [学习笔记]Python 3.6模拟输入并爬取百度前10页密切相关链接 问题描述 通过模拟网页,实现百度搜索关键词,然后获得网页中链接的文本,与准备的文本进行比较,如果有相似之处则代表相关链接. me ...

  9. 转 Python爬虫实战二之爬取百度贴吧帖子

    静觅 » Python爬虫实战二之爬取百度贴吧帖子 大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 本篇目标 ...

随机推荐

  1. Core + Vue 后台管理基础框架8——Swagger文档

    1.前言 作为前后端分离的项目,或者说但凡涉及到对外服务的后端,一个自描述,跟代码实时同步的文档是极其重要的.说到这儿,想起了几年前在XX速运,每天写完代码,还要给APP团队更新文档的惨痛经历.给人家 ...

  2. org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout 和 RocketmqRemoting closeChannel: close the connection to remote address[] result: true

    org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout ...

  3. Python中常见的报错名称

    Python中常见的报错名称 1.SyntaxError 语法错误.看看是否用Python关键字命名变量,有没有使用中文符号,运算符.逻辑运算符等符号是不是使用不规范. 2.IndentationEr ...

  4. 单调栈-Maximum Width Ramp

    2020-01-23 19:39:26 问题描述: 问题求解: public int maxWidthRamp(int[] A) { Stack<Integer> stack = new ...

  5. 从 ASP.NET Core 3.1 迁移到 5.0

    3月中旬,微软官方已经发布了dotnet 5的第一个预览版:5.0.0-preview.1. dotnet core经过前几个版本的发展和沉淀,到3.1已经基本趋于稳定. 所以从.net core 3 ...

  6. Kullback-Leibler(KL)散度介绍

    在这篇文章中,我们将探讨一种比较两个概率分布的方法,称为Kullback-Leibler散度(通常简称为KL散度).通常在概率和统计中,我们会用更简单的近似分布来代替观察到的数据或复杂的分布.KL散度 ...

  7. ThreadAbortException是可以传递的

    今天在写线程Aborted代码时,发现嵌套的try catch中的ThreadAbortException错误是可以从内部传递到外部的,想想这也是必然的,在内部该线程已经中断了,外部必然是中断了,再仔 ...

  8. Redis启动出现creating server tcp listening socket错误

    错误如图所示 解决方法 在命令行中运行 redis-cli.exe 127.0.0.1:6379>shutdown not connected>exit 然后重新运行redis-serve ...

  9. linux进程和线程直接通信方式梳理

    对于linux的进程之间.线程直接的通信方式进行梳理,这些都属于基本知识,不过因为知识体系“年久失修”,需要重新总结汇总.

  10. NKOJ 1353 图形面积

    时间限制 : 10000 MS   空间限制 : 65536 KB 问题描述 桌面上放了N个矩形,这N个矩形可能有互相覆盖的部分,求它们组成的图形的面积.(矩形的边都与坐标轴平行) 输入格式 输入第一 ...