4、python分析酷我音乐
4、python分析酷我音乐
1、环境依赖:
需要安装requests和jsonpath这两个模块
2、步骤:
(1)首先,进入酷我音乐官网
(2)鼠标右键点击检查,选择notework 这一栏中的Media 是筛选音频文件、视频文件的,点击播放音乐时,就会出现一个以 .mp3 结尾的链接(下面我们随机播放一首《白月光与朱砂痣》)
(3)双击第二个红色框框:
https://gmsycdn.kuwo.cn/24f98891bc5dfcea33d18fc0bfba483e/6039162b/resource/n2/73/81/1062648582.mp3
这个URL地址就是音频文件地址!
(4)下面我们要根据音频文件地址找到音乐地址来源,我们从上面URL可以发现:其实后面的数字非常像音乐的ID,我们可以用开发者工具,搜索一下
(5)然后我们点击这个可以看到一下信息:
由上图可以知道这个数据包返回的内容包括音乐的URL真正来源地址。我们侧视图中也可以很明显的看到如果想要获取这个音乐的url就必须要有参数rid
我们再通过这个rid搜索一下:
这里显示的是通过keyword去查找rid
(6)下面主要是代码的实现:
import requests
import jsonpath# cookies的时效性啊????session 保持cookies 维持回话
# 进入首页 得到 cookies csrf保存在cookies里
def get_csrf():url = 'https://kuwo.cn/'headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9','Accept-Encoding': 'gzip, deflate, br','Accept-Language': 'zh-CN,zh;q=0.9','Cache-Control': 'no-cache','Connection': 'keep-alive',# 'Cookie': '_ga=GA1.2.773350284.1614335668; _gid=GA1.2.764530357.1614335668; Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1614335668; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1614343336; kw_token=9LVH3GVO6NG','Host': 'kuwo.cn','Pragma': 'no-cache','Sec-Fetch-Dest': 'document','Sec-Fetch-Mode': 'navigate','Sec-Fetch-Site': 'none','Sec-Fetch-User': '?1','Upgrade-Insecure-Requests': '1','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',}s.get(url, headers=headers)csrf = s.cookies.get_dict()['kw_token']return csrf# 音乐的索引 特征值
def get_rid(csrf):url = f'https://kuwo.cn/api/www/search/searchMusicBykeyWord?key={keyword}&pn=1&rn=30&httpsStatus=1'headers = {# 'Accept': 'application/json, text/plain, */*',# 'Accept-Encoding': 'gzip, deflate, br',# 'Accept-Language': 'zh-CN,zh;q=0.9',# 'Cache-Control': 'no-cache',# 'Connection': 'keep-alive',# 'Cookie': '_ga=GA1.2.773350284.1614335668; _gid=GA1.2.764530357.1614335668; Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1614335668; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1614341909; kw_token=3PB45UN366F','csrf': csrf,# 'Host': 'kuwo.cn',# 'Pragma': 'no-cache','Referer': f'https://kuwo.cn/search/list?key={keyword}',# 'Sec-Fetch-Dest': 'empty',# 'Sec-Fetch-Mode': 'cors',# 'Sec-Fetch-Site': 'same-origin','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',}# 防止跨站点攻击,r = s.get(url, headers=headers).json()rid = jsonpath.jsonpath(r, '$..rid')[0]return rid# 得到 音乐的下载地址
def get_music_url(rid):# 下载一首歌url = f'https://kuwo.cn/url?format=mp3&rid={rid}&response=url&type=convert_url3&br=128kmp3&from=web&t=1614342354424&httpsStatus=1'headers = {'Accept': 'application/json, text/plain, */*','Accept-Encoding': 'gzip, deflate, br','Accept-Language': 'zh-CN,zh;q=0.9','Cache-Control': 'no-cache','Connection': 'keep-alive',# 'Cookie': '_ga=GA1.2.773350284.1614335668; _gid=GA1.2.764530357.1614335668; Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1614335668; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1614342187; kw_token=PEL47GQVIED','Host': 'kuwo.cn','Pragma': 'no-cache','Referer': f'https://kuwo.cn/search/list?key={keyword}','Sec-Fetch-Dest': 'empty','Sec-Fetch-Mode': 'cors','Sec-Fetch-Site': 'same-origin','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',}r = s.get(url, headers=headers).json()music_url = r.get("url")return music_url# 下载音乐
def get_music(music_url):#requests.utils.unquote(keyword)将with open(f'{requests.utils.unquote(keyword)}.mp3', 'wb') as f:f.write(requests.get(music_url).content)if __name__ == '__main__':keyword = input('请输入你需要下载的音乐名字:')keyword = requests.utils.quote(keyword)# 保持cookies 维持会话.s = requests.session()csrf = get_csrf()rid = get_rid(csrf)music_url = get_music_url(rid)get_music(music_url)
说明:代码中的headers信息在这里获取
(7)运行测试:
下载成功!
3、总结
整个爬取酷我VIP音乐的流程大概有以下几点:
- 获取音乐的rid值
- 将得到的音乐rid值接口数据url当中,获取音乐真实的url地址
- 请求音乐url地址 保存音乐文件至本地
- 最后嘿嘿你喜欢的话就点个赞啦
4、python分析酷我音乐相关推荐
- python爬去音乐_Python爬虫——分析酷我音乐网站,并爬取歌曲-Go语言中文社区
前言: 爬取数据,我们都先必须了解开发者工具的使用和网页的源代码,即Python导入第三方库的步骤. 开发者工具使用步骤: 使用F12或者Ctrl+Shirt+i打开开发者工具 说明: 1)先检查HT ...
- Python爬虫:逆向分析酷我音乐请求参数(支持SQ超品音质)
文章目录 前言 1. 请求分析 2. 获取参数 3. 完整代码 结束语 前言 免责声明: 本篇博文的初衷是分享自己学习逆向分析时的个人感悟,所涉及的内容仅供学习.交流,请勿将其用于非法用途 ...
- 40行代码用python实现酷我音乐爬虫
不多说直接上代码: import requests, osclass Spider:def __init__(self):self.singer_name = input('请输入要爬取的歌手名:') ...
- 【Python3】分析某音乐页面并使用tkinter构建简易GUI
Python 分析某音乐页面并使用tkinter构建简易GUI 分析页面 保存 简单GUI的制作 全部代码 本人python初学者,记录自己的一次学习过程,仅供参考.欢迎各位前辈指点. 分析页面 本次 ...
- Python爬虫 | 爬取json数据 实现酷我音乐下载
文章目录 网页分析 明确思路 手动操作 代码实现 1. 导入需要的包 2. 建立主函数 3. 获取用户输入的歌曲网址 4. 获取歌名.歌手 5. 获取音频url 6. 下载音频 7. 主函数润色 8. ...
- python简单程序爬取酷我音乐歌曲信息
程序自动过滤掉<歌手(artist)>部分字符串长度大于6字节的数据,使后期的表格更美观 而导致筛选后没有30条数据 程序--down_music--方法中: header部分得自己加上 ...
- python里的英文歌叫什么_用Python分析韩国女团最喜欢的英文单词
原标题:用Python分析韩国女团最喜欢的英文单词 本文经Python中文社区(公众号ID:python-china) 授权转载,转载请联系出处 ♚ 盛光晓,粗通python,精通arcpy,某公司首 ...
- 用Python分析了1w四六级数据,教你如何通过四六级!
微信改版,加星标不迷路! 用Python分析了1w四六级数据,教你如何通过四六级! 作者:阿广 概述 前言 数据介绍 预期结果 实现过程 搞笑一刻 阿广说 每日问题 前言 陈奕迅说过:在有生的瞬间,考 ...
- Python爬虫——下载音乐
Python爬虫--下载音乐 1.调用需要库 安装库: Windows + R 输入cmd 后 执行下面这两行 pip install requests -i https://pypi.tuna.ts ...
最新文章
- Deep Learning 学习随记(三)续 Softmax regression练习
- linux查看网卡速率
- bootstrap回顾
- git revert 的问题
- centos7 安装 oracle 11G
- spring的aop整理
- (58)Verilog HDL事件或:or、,
- OpenStack版本比较之Keystone
- 中国大学50强排行:北大清华复旦位列三甲
- jdk环境变量的配置
- 如何使用阿里云搭建个人网站 1
- ABeam Insight | 女性科技系列(2):全球女性科技(FemTech)现状
- linux微信最新版无法打开问题解决
- Phong与Blinn-Phong
- 盘点五款轻松提高工作效率的任务管理软件
- MBA案例分析(行销与营销之行销五)
- 低功耗蓝牙设备DA1458x芯片开发之更新连接参数
- 捷报连连 | 拓保雇主品牌建设屡获认可,荣获“最爱人才雇主奖”
- CCTV 2006 感动中国人物揭晓
- 如何使用ABBYY FineReader 14编辑文本
热门文章
- python爬去音乐_Python爬虫——分析酷我音乐网站,并爬取歌曲-Go语言中文社区