首页 > 其他分享 >酷我音乐免费下载

酷我音乐免费下载

时间:2022-12-19 22:34:45浏览次数:54  
标签:__ name url res self 音乐 headers 免费 下载

酷我音乐

 

 

本文实现了酷我音乐的付费/免费音乐的下载功能,根据提示输入关键词即可下载。

# -*- coding: utf-8 -*-

"""================================================================================================================
@author : 爬虫王者
@function : 根据关键词下载酷我音乐 http://bd.kuwo.cn/ 包括付费、免费
================================================================================================================"""

import requests


class KuwoMusic:
def __init__(self):
cookie = '_ga=GA1.2.1589894892.1671370061; _gid=GA1.2.735773706.1671370061; Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1671370061; _gat=1; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1671371259; kw_token=UT8LIC4UWFE'
self.headers = {
'Accept': 'application/json, text/plain, */*',
'Cookie': cookie,
'csrf': cookie.split('kw_token=')[-1].split(';')[0],
'Referer': 'http://bd.kuwo.cn/',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
}
self.path = '酷我音乐/'

def search(self, keyword):
url = 'http://bd.kuwo.cn/api/www/search/searchMusicBykeyWord'
params = {
'key': keyword,
'pn': '1',
'rn': '30',
'httpsStatus': '1'
}
res = requests.get(url, params=params, headers=self.headers)
print(res.status_code, res.text)
res = res.json()
first_musicc = res['data']['list'][0]
name = first_musicc['name'] + '-' + first_musicc['artist']
rid = first_musicc['rid']
return name, rid

def get_music_url(self, mid):
url = 'http://bd.kuwo.cn/api/v1/www/music/playUrl'
params = {
'mid': mid,
'type': 'convert_url3', 
'httpsStatus': '1'
}
res = requests.get(url, params=params, headers=self.headers)
print(res.status_code, res.text)
mp3_url = res.json()['data']['url']
print('mp3_url', mp3_url)
return mp3_url

def download(self, name, url):
res = requests.get(url, headers=self.headers)
print(res.status_code)
with open(f'{self.path}{name}.mp3', 'wb') as f:
f.write(res.content)

def main(self):
while True:
keyword = input('请输入歌曲名称(+歌手),输入T退出:')
if keyword == 'T':
break
name, rid = self.search(keyword)
url = self.get_music_url(rid)
self.download(name, url)


if __name__ == '__main__':
k = KuwoMusic()
k.main()
# k.search('大鱼')

欢迎关注,爬虫王者

标签:__,name,url,res,self,音乐,headers,免费,下载
From: https://www.cnblogs.com/crawler-king/p/16993254.html

相关文章

  • 中秋福利,PCB设计资料,免费下载了!
    大量PCB设计资料,免费下载,先看截图:下载链接(复制链接到浏览器下载):链接:https://pan.baidu.com/s/13IIFd3iF0QlYWeP6ARGIOQ提取码:xHcl......
  • 使用DoraCloud搭建免费的桌面云办公平台
    DoraCloud是一款多平台的桌面虚拟化管理软件,支持Hyper-V、VMware、Proxmox、XenServer等多种虚拟化平台。DoraCloud在虚拟化平台上具有极大的灵活性,允许您的组织自由选择合......
  • 百度网盘会员svip如何帮你快速下载文件
    这个是我发现的一个临时解决网盘文件快速下载的网址里面有便宜的网盘会员地址如下:https://docs.qq.com/doc/DRkt6QnlZbXNFSlNR有需要的可以购买,临时用很方便......
  • linux 下使用Git 下载代码、编译VLC 步骤
     本文根据 ​​http://wiki.videolan.org/UnixCompile​​ 编写 第一步:安装Git相关的程序包:%sudoapt-getinstallgitlibtoolbuild-essentialpkg-configauto......
  • 机器人解构系列立体卡小礼品免费申领
    新年伊始为感谢大家近一年来对机器谱的支持我们现推出“新年赠礼免费申领”活动活动截止时间2022.12.30每人限申领1份先到先得包邮到家速来申领喔!我们本次准备的......
  • Eclipse下载安装和JDK下载安装(环境配置)及下载C++插件CDT
    一、什么是JDKJDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA......
  • 强烈推荐 | 北交大《图像处理与机器学习》免费视频课(附课件源码)
    导读本文主要推荐由北京交通大学黄琳琳教授主讲的《图像处理与机器学习》视频课程,希望对大家的学习有所帮助。(公众号:OpenCV与AI深度学习)背景介绍  俗话说:基础不牢,地动山......
  • vuejs实现文件下载的三种方式
    第一种方式是前端创建超链接,通过a标签的链接向后端服务发get请求,接收后端的文件流,非常简单:<a:href='"/路径"'>下载模板</a>另一种情况是创建div标签,动态创建a标签:<div......
  • selenium借助AutoIt识别上传(下载)详解
    AutoIt目前最新是v3版本,这是一个使用类似BASIC​​脚本语言​​​的​​免费软件​​​,它设计用于Windows GUI(​​图形用户界面​​)中进行自动化操作。它利用模拟键盘......
  • idea等工具网盘下载地址
    1.idea2020下载地址:https://caiyun.139.com/m/i?1E5C2SkIZbJH4,下载密码微信搜索“白菜拼吧”回复idea2020获取2.secureCRT绿色版下载地址:https://wwb.lanzou......