【一、项目背景】

现在的听歌软件动不动就是各种付费,要下载软件才能听,当你下载了之后,你会惊奇的发现这首歌还收费,这就让一向喜欢白嫖的我感到很伤心了。不过不用担心,因为我会Python啊

【二、项目准备】

1、编辑器:Sublime Text 3

2、软件:360浏览器

【三、项目目标】

下载我们喜欢的音乐。

【四、项目实现】

1、打开酷狗音乐官网

360浏览器打开酷狗音乐官网:

可以看到十分清爽的画风,这也是我比较喜欢的地方。

2、审查元素,分析请求

打开Network ,分析请求,我们可以看到:

从上图可以看出,这是请求的参数,所以我们可以使用Requests模块对它发起请求。

3、模拟发起请求

我们从网页中得知它的地址为:

可以看到真正对于我们来说有用的就只有SearchKeyWord参数后的值,前面的搜索类型默认填写即可,所以我们可以这样:

新手学习,Python 教程/工具/方法/解疑+V:itz992

import requests

headers={

'accept': '*/*',

'accept-encoding':'gzip, deflate, br',

'accept-language': 'zh-CN,zh;q=0.9',

'cookie': 'kg_mid=ebb2de813317a791bcf7b7d3131880c4; UM_distinctid=1722ba8b22632d-07ac0227c507a7-4e4c0f20-1fa400-1722ba8b2284a1; kg_dfid=0Q0BEI47P4zf0mHYzV0SYbou; kg_dfid_collect=d41d8cd98f00b204e9800998ecf8427e; Hm_lvt_aedee6983d4cfc62f509129360d6bb3d=1590041687,1590280210,1590367138,1590367386; Hm_lpvt_aedee6983d4cfc62f509129360d6bb3d=1590367431',

'referer': 'https://www.kugou.com/yy/html/search.html',

'sec-fetch-mode': 'no-cors',

'sec-fetch-site': 'same-site',

'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'

}

aa=input('请输入歌名:')

data={

'callback': 'jQuery112408716317197794392_1590368232677',

'keyword':aa,

'page': '1',

'pagesize':'30',

'userid':'-1',

'clientver': '',

'platform': 'WebFilter',

'tag': 'em',

'filter': '2',

'iscorrection': '1',

'privilege_filter': '0',

'_': '1590368232679',

}

requests.get('https://www.kugou.com/yy/html/search.html',params=data,timeout=4)

这样就实现了模拟请求,我们来验证下:

可以看出它成功打印出了和我们上面一模一样的地址。

4、获取音乐文件列表

rep=requests.get('https://www.kugou.com/yy/html/search.html',params=data,timeout=5)

print(rep.url)

res=requests.get(rep.url,timeout=4)

print(res.text)

当我们将请求地址填写正确后,我发现竟然内容与预期不相符,但是请求地址对的一批。

我以为是这样的结果:

实际上的结果:

可以看到差距很大,而且用Json也根本获取不到,报格式错误,说明不是一个Json,看来这比QQ音乐难度高点。不过我们今天要下载的是音频文件,所以暂时跳过,不管它。

5、下载音频文件

我们在搜索后弹出来的列表中选择原唱曲目,进去听一下:

我选择第一首,打开是这样,我们开始骚操作,打开Network:

我们输入后缀Mp3,然后定位到对应的请求,然后打开它的请求结果,可以看到一个Json结果:

我们将Json结果粘贴到控制台,可以看到里面有一段关于Mp3的结果,不过添加了点干扰符号,我们把它提取出来:

这样我们就可以把酷狗音乐的歌曲下载下来了。

【五、项目总结】

1、其实,酷狗音乐与QQ音乐不同,酷狗音乐的下载链接更好捕获,你可以直接在它的播放界面捕获到:

模拟请求这个界面,一切都搞定了。

2、关于QQ音乐的获取,可以参考之前发布的系列文章:

3、需要本文源码的小伙伴,关注看主页!

python爬取酷狗音乐付费音乐包_一篇文章教会你使用Python网络爬虫下载酷狗音乐...相关推荐

  1. scrapy 中爬取时被重定向_一篇文章教会你理解Scrapy网络爬虫框架的工作原理和数据采集过程...

    今天小编给大家详细的讲解一下Scrapy爬虫框架,希望对大家的学习有帮助. 1.Scrapy爬虫框架 Scrapy是一个使用Python编程语言编写的爬虫框架,任何人都可以根据自己的需求进行修改,并且 ...

  2. python爬淘宝app数据_一篇文章教会你用Python爬取淘宝评论数据(写在记事本)

    [一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. [二.项目准备工作] 准备Pycharm,下载安装等,可以参考这篇文章 ...

  3. python网络爬虫_一篇文章教会你利用Python网络爬虫获取穷游攻略

    点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 [一.项目背景] 穷游网提供原创实用的出境游旅行指南.攻略,旅行社区和问答交流平台, ...

  4. 利用python从网络上爬取图片_一篇文章教会你利用Python网络爬虫抓取王者荣耀图片...

    点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 [一.项目背景] 王者荣耀作为当下最火的游戏之一,里面的人物信息更是惟妙惟肖,但受到 ...

  5. python爬取素材图片代码_一篇文章教会你利用Python网络爬虫获取素材图片

    [一.项目背景] 在素材网想找到合适图片需要一页一页往下翻,现在学会python就可以用程序把所有图片保存下来,慢慢挑选合适的图片. [二.项目目标] 1.根据给定的网址获取网页源代码. 2.利用正则 ...

  6. 如何写一个python程序浏览淘宝_一篇文章教会你用Python爬取淘宝评论数据(写在记事本)...

    [一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. [二.项目准备工作] 1. 准备Pycharm,下载安装等,可以参考这 ...

  7. python爬取抖音用户数据_一篇文章教会你用Python抓取抖音app热点数据

    今天给大家分享一篇简单的安卓app数据分析及抓取方法.以抖音为例,我们想要抓取抖音的热点榜数据. 要知道,这个数据是没有网页版的,只能从手机端下手. 首先我们要安装charles抓包APP数据,它是一 ...

  8. python抓取抖音评论_一篇文章教会你用Python抓取抖音app热点数据

    今天给大家分享一篇简单的安卓app数据分析及抓取方法.以抖音为例,我们想要抓取抖音的热点榜数据. 要知道,这个数据是没有网页版的,只能从手机端下手. 首先我们要安装charles抓包APP数据,它是一 ...

  9. python 抖音文案提取_一篇文章教会你用Python抓取抖音app热点数据!

    今天给大家分享一篇简单的安卓app数据分析及抓取方法.以抖音为例,我们想要抓取抖音的热点榜数据. 要知道,这个数据是没有网页版的,只能从手机端下手. 首先我们要安装charles抓包APP数据,它是一 ...

  10. python 抖音文案提取_一篇文章教会你用Python抓取抖音app热点数据

    今天给大家分享一篇简单的安卓app数据分析及抓取方法.以抖音为例,我们想要抓取抖音的热点榜数据. 要知道,这个数据是没有网页版的,只能从手机端下手. 首先我们要安装charles抓包APP数据,它是一 ...

最新文章

  1. R语言使用gt包和gtExtras包优雅地、漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解、使用gtExtras包添加一个图,显示表中某一列中的数字
  2. mysql连接报错:Unknown system variable ‘query_cache_size‘
  3. 信用卡还不起会有什么严重后果?
  4. php的变量、传值、传址、销毁变量
  5. java中常量定义在interface中好还是定义在class中
  6. python 函数结果缓存一段时间的装饰器
  7. vue 执行函数this_vue回调函数中this无效
  8. php跨域传sessionid,php中http与https跨域共享session的解决方法
  9. 25 个让 Java 程序员更高效的 Eclipse 插件
  10. 数据集:工人与机床对日产量的影响
  11. Maven的dependencies与dependencyManagement用法区别
  12. cvCalcEMD2() 直方图匹配
  13. 天翼云高可用虚拟IP(HAVIP)实践
  14. Quartus II13.1 simulate13.1 详细安装教学
  15. MongoDB Shell工具:mongosh的使用
  16. Matlab画图 线型控制
  17. 小程序使用有赞 UI 库
  18. Microsoft C++ 异常: dlib::serialization_error,位于内存位置 0x0133F818 处
  19. vc语言c1083错误,VC编程之VS error C1083: 无法打开包括文件:“gl\glew.h”: No such file or directory\...
  20. 吃字母------线程同步与互斥的学习

热门文章

  1. 电池供电设备增加高精度库仑计
  2. 基于SSM的高校后勤管理系统Java项目
  3. ArcPad 8 简介
  4. Web开发常用代码:背投广告
  5. HeadFirstJava——9_构造器与垃圾收集器
  6. silverlight 初始页面进行安装主应用(初始安装xap,本地加载xap),实现silverlight程序成桌面应用程序。
  7. 2022年工作室暑期培训
  8. 记录下Gradle化Android Gallery3D应用的过程
  9. Java 病毒感染检测
  10. Unity实现鼠标点击指定位置导航角色