Python自动爬取酷狗音乐工具

这篇具有很好参考价值的文章主要介绍了Python自动爬取酷狗音乐工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、网页端打开酷狗,获取下载音乐列表

  1. 在音乐列表页面右击鼠标,点击检查,然后依次执行下述步骤
  2. 爬取酷狗音乐的python代码,python,开发语言

爬取酷狗音乐的python代码,python,开发语言

#音乐列表
url='https://complexsearch.kugou.com/v2/search/song?callback=callback123&srcappid=2919&clientver=1000&clienttime=1696859482699&mid=3ed93a0e05225d9e6a0955741b95b6f5&uuid=3ed93a0e05225d9e6a0955741b95b6f5&dfid=2UHyd42Uv4z41usxK348jSHS&keyword=%E5%A4%A7%E9%B1%BC&page=1&pagesize=30&bitrate=0&isfuzzy=0&inputtype=0&platform=WebFilter&userid=0&iscorrection=1&privilege_filter=0&filter=10&token=&appid=1014&signature=75ec3f2e17b9ef335fb8effc389eb642'

2、获取每一首音乐的下载地址

爬取酷狗音乐的python代码,python,开发语言

得到这一坨东西

爬取酷狗音乐的python代码,python,开发语言

Ctrl+F,查找MP3

爬取酷狗音乐的python代码,python,开发语言

 在整个网页链接中,后缀用&连接的都是相关级的内容,逐一一段一段的删去&........的内容,直至MP3格式的文件不存在,获得最简的链接

爬取酷狗音乐的python代码,python,开发语言

注意,由于酷狗的反爬能力升级,所获得的链接与以前的链接有所不同,不在是&hash

#每一首歌的下载地址
info_url='https://wwwapi.kugou.com/yy/index.phpr=play/getdata&encode_album_audio_id=1genmk88'

3、代码行解释

son_list = json.loads(respond.text[12:-2])['data']['lists']  #[12:-2]切片,去除前缀'callback123'和后缀')'

其中[12:-2]为切片操作,目的是为了去除下图所示的内容,获得完整的字典

爬取酷狗音乐的python代码,python,开发语言

爬取酷狗音乐的python代码,python,开发语言

['data'][''lists]为列表中歌曲的信息在'data'列表中‘lists’内

爬取酷狗音乐的python代码,python,开发语言

#每一首音乐的下载地址
info_url=f'https://wwwapi.kugou.com/yy/index.php?r=play/getdata&encode_album_audio_id={son_list[num-1].get("EMixSongID")}'

由上述可知,每一首歌的下载地址为:

info_url='https://wwwapi.kugou.com/yy/index.phpr=play/getdata&encode_album_audio_id=1genmk88'

encode_album_audio_id:是每首歌特有的音频编码id,通过切换不同的id可以实现各个歌曲的下载

EMixSongID可以通过以下方法找到,此值相当于以前的Filehash值

爬取酷狗音乐的python代码,python,开发语言

4、完整代码以及运行结果


""""""
import requests
import json
"""
json.dumps():对数据进行编码,形成json格式的数据。
json.loads():和dumps相反,loads函数则是将json格式的数据解码,转换为Python字典

服务器响应的数据结果  .text代表访问的数据是文字  .content代表访问的数据是多媒体文件(图片,音乐,视频,文件)
.json()代表访问的文字是json类型 

"""

#1、音乐的地址
Music_url='https://webfs.hw.kugou.com/202310082002/57c3cce096270de35ea2c764e4e1fd80/part/0/960111/KGTX/CLTX001/clip_bfbdd3df47727b701d4480ea36a8f73b.mp3'
hearders={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.47'
}

#音乐列表
url='https://complexsearch.kugou.com/v2/search/song?callback=callback123&srcappid=2919&clientver=1000&clienttime=1696859482699&mid=3ed93a0e05225d9e6a0955741b95b6f5&uuid=3ed93a0e05225d9e6a0955741b95b6f5&dfid=2UHyd42Uv4z41usxK348jSHS&keyword=%E5%A4%A7%E9%B1%BC&page=1&pagesize=30&bitrate=0&isfuzzy=0&inputtype=0&platform=WebFilter&userid=0&iscorrection=1&privilege_filter=0&filter=10&token=&appid=1014&signature=75ec3f2e17b9ef335fb8effc389eb642'



respond=requests.get(url,headers=hearders)
#callback123({"error_msg": "",})
son_list = json.loads(respond.text[12:-2])['data']['lists']  #[12:-2]切片,去除前缀'callback123'和后缀')'
for i,s in enumerate(son_list):
    print(f'{i+1}------{s.get("SongName")}-------{s.get("EMixSongID")}')  #数据的抽取

num=eval(input('请输入要下载的第几首音乐:'))

#每一首音乐的下载地址
info_url=f'https://wwwapi.kugou.com/yy/index.php?r=play/getdata&encode_album_audio_id={son_list[num-1].get("EMixSongID")}'

hearders2={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.47',
'Cookie':'kg_mid=3ed93a0e05225d9e6a0955741b95b6f5; kg_dfid=2UHyd42Uv4z41usxK348jSHS; kg_dfid_collect=d41d8cd98f00b204e9800998ecf8427e; Hm_lvt_aedee6983d4cfc62f509129360d6bb3d=1696045928,1696766574; kg_mid_temp=3ed93a0e05225d9e6a0955741b95b6f5; Hm_lpvt_aedee6983d4cfc62f509129360d6bb3d=1696781850'
}

info_resp = requests.get(info_url,headers=hearders2)

m_url=info_resp.json()['data']['play_url']


#2、发送请求到服务器,获取音乐资源
music_respond=requests.get(m_url,headers=hearders)



#3、服务器回应数据--保存数据

with open('1.mp3','wb') as file:
    file.write(music_respond.content)

爬取酷狗音乐的python代码,python,开发语言

爬取酷狗音乐的python代码,python,开发语言

爬取酷狗音乐的python代码,python,开发语言文章来源地址https://www.toymoban.com/news/detail-768902.html

到了这里,关于Python自动爬取酷狗音乐工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python爬虫实战-批量爬取下载网易云音乐

    大家好,我是python222小锋老师。前段时间卷了一套  Python3零基础7天入门实战 https://blog.csdn.net/caoli201314/article/details/132882813 1小时掌握Python操作Mysql数据库之pymysql模块技术 https://blog.csdn.net/caoli201314/article/details/133199207 一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、se

    2024年02月05日
    浏览(88)
  • Python爬虫实战之爬取web网易云音乐——解析

    首先我们要进入网易云的web页面在页面中我们随意选择一首歌曲,打开开发者工具查看响应的界面。 在这些页面中我们需要查找存储有音乐文件的url,这是我们可以打开全局搜索直接搜索与音频文件后缀相关的文件。(当然这这里可能会白忙活) 因为我们打开媒体文件,看见的

    2024年02月13日
    浏览(46)
  • 酷狗音乐如何制作歌词?酷狗音乐制作歌词的方法及步骤

       工作是辛苦的甚至是枯燥的,这一点我们都知道。不过酷狗音乐的用户却不一定这么认为。酷狗音乐的主打功能便是逐字精准歌词技术,这种完全按照节奏逐字显示的歌词让我们得到了在其他音乐软件上所体会不到的奇妙听歌感受,但由于酷狗音乐的曲库实在太过庞大,

    2024年02月06日
    浏览(40)
  • Python自动人工智能训练数据增强工具 | DALI介绍(含代码)

    深度学习模型需要数百 GB 的数据才能很好地概括未见过的样本。 数据扩充有助于增加数据集中示例的可变性。 当数据增强的选择依赖于设置模型训练的工程师的领域知识、技能和直觉时,传统的数据增强方法可以追溯到统计学习。 出现了自动增强以减少对手动数据预处理的

    2024年02月07日
    浏览(59)
  • 20行代码来爬取某某云的榜单音乐

    今天来爬爬音乐,一丝丝的无聊 软件环境 Python3.8 pycharm 模块 requests、re、os 三个 其中requests是第三方模块需要手动安装一下 re、os都是内置模块,不需要安装 浏览器开发者工具 咱们需要学会如何使用开发者工具。 对此很多小伙伴都不会,因为每个浏览器的开发者工具细节上

    2024年02月06日
    浏览(50)
  • 当音乐遇上Python:用Pydub自动分割音频

    🎵 🎵 🎵 当音乐遇上Python:用Pydub自动分割音频 随着短视频应用的普及,越来越多人开始了解并尝试制作自己的短视频作品。而在制作短视频时,背景音乐的选择和使用也是非常重要的一步。很多人喜欢选择一首长音乐,再通过剪辑软件将其剪成多段来使用,这种做法虽然

    2024年02月02日
    浏览(39)
  • python爬取网站数据(含代码和讲解)

    提示:本次爬取是利用xpath进行,按文章的顺序走就OK的; 文章目录 前言 一、数据采集的准备 1.观察url规律 2.设定爬取位置和路径(xpath) 二、数据采集 1. 建立存放数据的dataframe 2. 开始爬取 3. 把数据导出成csv表格 总结 这次爬取的网站是房天下网站; 其中包含很多楼盘信息

    2024年01月20日
    浏览(46)
  • Python爬虫使用selenium爬取qq群的成员信息(全自动实现自动登陆)(1)

    browser.find_element_by_xpath(‘.//ul[@id=“headerNav”]/li[4]’).click() 8.点击群管理之后,进入群管理界面,我们需要的是成员管理 WebDriverWait(browser, 1000).until( EC.presence_of_all_elements_located( (By.CLASS_NAME, ‘color-tit’) ) ) browser.find_element_by_class_name(‘color-tit’).click() 9.点击成员管理之后会重新

    2024年04月28日
    浏览(47)
  • 使用Python爬取某查查APP端(Appium自动化篇)

      某查查网站反爬虫风控还是较强的,之后会分别介绍一下 PC端协议、APP端自动化、APP端接口协议 三种采集方案。这里主要介绍APP端的自动化方式,APP端自动化方式需要登陆账号,协议的话需要签名授权( 自动化经测试没有太多限制、走协议接口的话账号与次数有捆绑 )

    2024年02月13日
    浏览(40)
  • Python selenium 爬取百度翻译结果的代码实现

    Python是一种功能强大的编程语言,可以用于各种任务,包括网络爬虫。 在本文中,我们将使用selenium库,来实现爬取百度翻译结果的功能。百度翻译是一个广泛使用的在线翻译工具,它提供了多种语言之间的即时翻译服务。selenium库可通过pip安装: pip install selenium 。 使用Se

    2024年02月03日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包