Python爬虫练习:去爬某平台音乐
前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
以下文章来源于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爬虫练习:去爬某平台音乐相关推荐
- Python爬虫如何去抓取qq音乐的歌手数据?
自从学会爬虫之后是不是有一种我什么都想爬一下的冲动?今天小千就来教大家如何去抓取qq音乐的歌手数据,项目实操多练习能更快提升自己哦. 今天的项目目标就是获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的 ...
- python爬虫实践之爬取hao123音乐音乐导航
目录 概述 准备 所需模块 涉及知识点 运行效果 完成爬虫 1. 分析网页 2. 爬虫代码 概述 爬取hao123上的所有音乐导航链接 准备 所需模块 re模块 requests模块 涉及知识点 py ...
- Python爬虫实战之爬取百度音乐歌曲
Python爬虫爬取百度音乐歌曲 整体思路如下: 1.搜索:通过搜索界面输入歌手名字找到歌手的歌曲信息.千千音乐:网址 2.找到歌曲信息:通过遍历歌曲列表信息界面获取每个歌曲的ID,以及歌曲的总数 3 ...
- Python爬虫学习之爬取豆瓣音乐Top250存入Excel表格中
前言 目标网站:https://music.douban.com/top250 任务: 爬取豆瓣音乐Top250的歌曲名 爬取豆瓣音乐Top250的歌曲对应的表演者.发行时间和音乐流派(分别对应下图斜 ...
- python爬虫爬音乐格式是什么_Python爬虫练习:去爬某平台音乐
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于IT共享之家 ,作者IT共享者 现在的听歌软件动不动就是各种 ...
- Python爬虫实战之爬取QQ音乐之下载有版权的音乐(五)-1
我这里使用的方法 比较简单 用神奇fiddler即可. 这些分两篇 第一篇定位音乐然后手动操作保存 第二篇自动下载 首先本篇下载的最近很火的一首歌叫 < 你的酒馆对我打了烊 > 这个音乐 ...
- Python爬虫实战之爬取QQ音乐数据
目录 准备工作 安装方法 步骤 新建py文件 复制网页链接 获取源代码 获取数据 源代码 这里用QQ音乐作为一个例子.不同的链接,按照此方法都可做到. 本次程序编写原则上按照模块化进行划分,一个步骤一 ...
- Python爬虫实战之爬取QQ音乐数据!QQ音乐限制太多了!
这里用QQ音乐作为一个例子.不同的链接,按照此方法都可做到. 本次程序编写原则上按照模块化进行划分,一个步骤一个函数. 分别:main().open_url(url).find_attribute() ...
- 一个月入门Python爬虫,轻松爬取大规模数据
如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这样一个月入门Python爬虫,轻松爬的编程语言提供越来越多的优秀工具,让爬虫 ...
最新文章
- Java设计模式菜鸟系列(四)工厂方法模式建模与实现
- 为js和css文件自动添加版本号
- 云栖首日:智物智造宣布3年10亿目标
- 去IOE:去掉“IE”就Ok?
- 12123选牌漏洞_12123选牌漏洞是什么?新车牌号自编自选技巧
- JAVA面试题------------final 关键字是干什么用的?谈谈你的理解。
- css怎么控制两个字母,css英文字母数字自动换行且不断词方法
- Watson的未来就是IBM的未来
- hadoop deployment
- 投屏软件_五款良心投屏软件,将安卓iOS投射到大屏幕
- python科赫雪花代码的意思_python函数和代码复用——迭代练习:科赫雪花绘制
- AI机器学习面试常见问题与答案
- DOTween的常用方法
- Android 11日历中添加账户跳转失败
- 想要成为推荐算法工程师,都要准备哪些东西
- 如何删除PDF文件中其中一页?
- 资料分享:送你一本《数据结构与算法:Python语言描述》电子书!
- c语言二维数组a中,a,a[0],a[0][0]的值与值的类型
- 电子商务安全体系架构
- 问题解决:配置静态IP