前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

以下文章来源于IT共享之家 ,作者IT共享者

现在的听歌软件动不动就是各种付费,要下载软件才能听,当你下载了之后,你会惊奇的发现这首歌还收费,这就让一向喜欢白嫖的小编感到很伤心了。于是,小编冥思苦想,终于让我发现了其中的奥秘,一起来看看吧。

PS:如有需要Python学习资料的小伙伴可以加下方的群去找免费管理员领取

可以免费领取源码项目实战视频PDF文件

需要的软件:

  • 编辑器:Sublime Text 3
  • 软件:360浏览器

打开酷狗音乐官网

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

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

审查元素,分析请求

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

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

模拟发起请求

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

https://www.kugou.com/yy/html/search.html#searchType=song&searchKeyWord=%E4%B8%8D%E8%B0%93%E4%BE%A0

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

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)

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

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

获取音乐文件列表

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音乐难度高点。不过我们今天要下载的是音频文件,所以暂时跳过,不管它。

05 下载音频文件

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

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

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

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

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

项目总结

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

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

Python爬虫练习:去爬某平台音乐相关推荐

  1. Python爬虫如何去抓取qq音乐的歌手数据?

    自从学会爬虫之后是不是有一种我什么都想爬一下的冲动?今天小千就来教大家如何去抓取qq音乐的歌手数据,项目实操多练习能更快提升自己哦. 今天的项目目标就是获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的 ...

  2. python爬虫实践之爬取hao123音乐音乐导航

    目录 概述 准备 所需模块 涉及知识点 运行效果 完成爬虫 1. 分析网页 2. 爬虫代码 概述 爬取hao123上的所有音乐导航链接 准备 所需模块 re模块 requests模块 涉及知识点 py ...

  3. Python爬虫实战之爬取百度音乐歌曲

    Python爬虫爬取百度音乐歌曲 整体思路如下: 1.搜索:通过搜索界面输入歌手名字找到歌手的歌曲信息.千千音乐:网址 2.找到歌曲信息:通过遍历歌曲列表信息界面获取每个歌曲的ID,以及歌曲的总数 3 ...

  4. Python爬虫学习之爬取豆瓣音乐Top250存入Excel表格中

    前言 目标网站:https://music.douban.com/top250 任务: 爬取豆瓣音乐Top250的歌曲名 爬取豆瓣音乐Top250的歌曲对应的表演者.发行时间和音乐流派(分别对应下图斜 ...

  5. python爬虫爬音乐格式是什么_Python爬虫练习:去爬某平台音乐

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于IT共享之家 ,作者IT共享者 现在的听歌软件动不动就是各种 ...

  6. Python爬虫实战之爬取QQ音乐之下载有版权的音乐(五)-1

    我这里使用的方法 比较简单 用神奇fiddler即可. 这些分两篇 第一篇定位音乐然后手动操作保存  第二篇自动下载 首先本篇下载的最近很火的一首歌叫 < 你的酒馆对我打了烊 > 这个音乐 ...

  7. Python爬虫实战之爬取QQ音乐数据

    目录 准备工作 安装方法 步骤 新建py文件 复制网页链接 获取源代码 获取数据 源代码 这里用QQ音乐作为一个例子.不同的链接,按照此方法都可做到. 本次程序编写原则上按照模块化进行划分,一个步骤一 ...

  8. Python爬虫实战之爬取QQ音乐数据!QQ音乐限制太多了!

    这里用QQ音乐作为一个例子.不同的链接,按照此方法都可做到. 本次程序编写原则上按照模块化进行划分,一个步骤一个函数. 分别:main().open_url(url).find_attribute() ...

  9. 一个月入门Python爬虫,轻松爬取大规模数据

    如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这样一个月入门Python爬虫,轻松爬的编程语言提供越来越多的优秀工具,让爬虫 ...

最新文章

  1. Java设计模式菜鸟系列(四)工厂方法模式建模与实现
  2. 为js和css文件自动添加版本号
  3. 云栖首日:智物智造宣布3年10亿目标
  4. 去IOE:去掉“IE”就Ok?
  5. 12123选牌漏洞_12123选牌漏洞是什么?新车牌号自编自选技巧
  6. JAVA面试题------------final 关键字是干什么用的?谈谈你的理解。
  7. css怎么控制两个字母,css英文字母数字自动换行且不断词方法
  8. Watson的未来就是IBM的未来
  9. hadoop deployment
  10. 投屏软件_五款良心投屏软件,将安卓iOS投射到大屏幕
  11. python科赫雪花代码的意思_python函数和代码复用——迭代练习:科赫雪花绘制
  12. AI机器学习面试常见问题与答案
  13. DOTween的常用方法
  14. Android 11日历中添加账户跳转失败
  15. 想要成为推荐算法工程师,都要准备哪些东西
  16. 如何删除PDF文件中其中一页?
  17. 资料分享:送你一本《数据结构与算法:Python语言描述》电子书!
  18. c语言二维数组a中,a,a[0],a[0][0]的值与值的类型
  19. 电子商务安全体系架构
  20. 问题解决:配置静态IP

热门文章

  1. 2018-2019 ACM-ICPC, China Multi-Provincial Collegiate Programming Contest
  2. git commit后回退方法
  3. 微信小程序授权登录取消授权重新授权处理方法 附可用代码
  4. Spring cacheable
  5. 《我的极品媳妇》方志强 王亚欣 小说读后感
  6. mysql附加数据库
  7. 前端微信二维码不显示
  8. Unity Android 接入高德定位SDK
  9. 少儿创意学编程(Scratch基础篇):第5课——绘画板
  10. 基于小波分析和机器学习的时间序列分析与识别