外链论坛

 找回密码
 立即注册
搜索
查看: 8|回复: 1

还在用网易云音乐客户端?out了

[复制链接]

3067

主题

176

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098847
发表于 2024-10-30 23:00:39 | 显示全部楼层 |阅读模式

前言

网易云音乐随着互联网时代的来临,优秀的以“大数据”而闻名。自2016年以后,越来越多人接受了这款优秀的音乐网站 or app,因良好的用户体验感而出名,例如歌单这个功能,仅有你想不到的,用户共享、上传歌单做不到的!什么张雨生合集呀,什么动漫名曲。。。等

针对歌单这项功能来讲,应该是许多网易云用户最喜欢的功能之一,毕竟整合了许多符合自己口味的歌曲在一块,省时又省力。但同期面临着一个问题,即下载!

假如你的电脑上装了网易云音乐的客户端,那样还好说,例如下面这般,你能够一键下载:

当然,不排除有些伴侣爱好这么麻烦,还要装个客户端。。。例如我,能不装电脑上的软件,绝对不会装!因此浏览器听歌成为了首选,局限性便是倘若网,那样浏览器这条路就走不通了!

因此今天,咱们就用爬虫的方式来实现一下,怎样用 Python 下载歌单下的所有歌曲!顺便认识下爬虫下载音乐的原理机制。许下载网易云音乐的文案满大街都是,但详细实现思路,笔者觉得应该一人一个样,不妨耐心的看下去,说欠好有意外收获!

PS:本文目的是抱以学习心理而分享,禁止用于违法以及商场途径,如有危害,一切后果自己承担!

成果演示

依然是先看成果,有了成果,才可勾起你的兴趣,看了成果还提不起兴趣的,那确实便是没兴趣了,不消在往下看了!走着客官,上图~

爬取以及设计思路

1. 找下载歌曲的外链(对外链接,简叫作外链)位置

既然重点功能是下载,那样肯定是需要找到对应下载音乐的位置的,倘若单从网易云主页分析,还要破解 js 加密什么的,实在麻烦,不妨换一种思路!多多利用搜索引擎,经查找发掘网易云供给了一个对外下载歌曲的位置,只需要晓得歌曲id,就可运用位置加id形式打开网页进行播放,位置如下:

# 只需要将歌曲 id 传给此网页,直接打开就可播放! http://music.163.com/song/media/outer/url?id=xxxxx.mp3

来试试,"金鱼邓紫棋"的这首歌,翻唱龙卷风,id=28427775:

把id替换到上面给出的外链中,打开后,网址自动,将url加密了,同期自动播放:

2. 分析歌单下各歌曲关键信息

有了下载位置后一切都变得简单了,只需要做的是,获取你喜欢的歌单位置而后将此歌单下所有歌曲id进行爬取!还记得爬取的过程吗?

首要知道自己想要的信息,而笔者这儿想要的信息就三个:歌单名叫作、歌曲名叫作、歌曲id。

那样接下来就对网页分析下相应的节点。

歌单名叫作,看不清楚手机能够点开放大看,以下照片均可:

歌曲名叫作

歌曲id:

3. 爬取歌单下所有歌曲的id,同期传入外链位置,进行下载

有了以上分析后,只需要验证下,咱们用 Python 模拟请求,拜访此网页时,返回的信息与咱们F12分析后的结果是不是一致。是不是真的存在F12看到的信息节点呢?

网页位置

此处运用 requests 库模拟发送请求,得到返回的数据,代码是这般的:

import requests headers = { user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)\ Chrome/69.0.3497.100 Safari/537.36 } url = "https://music.163.com/#/playlist?id=2722916074" r = requests.get(url=url,headers=headers) print(r.text)

用上面这段代码,你请求后返回的内容,会惊奇的发掘,怎么找找不到与F12看到的类似节点内容!为何呢?猜测是由于网易云做了一层位置上的反爬机制,隐匿了真正的歌单网页。

打开F12,再来找下请求:

查询,确实隐匿了真实位置此刻浏览器上看到的 url 多了一个#,因此咱们请求图中 3 的位置时,便是返回的与F12看到的节点信息一致。

思考与动手

本篇文案,大致的思路已然大众梳理清楚了,接下来便是动手了!笔者这次不打算将自己写的代码放出来,大众对学习爬虫感兴趣的,不妨自己动手写下程序试试。

思路有了,剩下的便是编程实战了!算是给大众留个小作业,有时间有兴趣的,能够评论区留言提问。写完的朋友能够自己动手验证下,是不是能将音乐下载到本地,此次案例是一个不错的练手小项目!

下一期,笔者会写一篇讲解自己是怎样设计代码的,顺便在把代码开源出来,敬请期待!

PS:文案首发公众号哟,感兴趣的欢迎关注:migezatan.(咪哥杂谈)

回复

使用道具 举报

2948

主题

2万

回帖

9956万

积分

论坛元老

Rank: 8Rank: 8

积分
99569305
发表于 2024-10-31 18:37:30 | 显示全部楼层
回顾历史,我们感慨万千;放眼未来,我们信心百倍。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-9 03:44 , Processed in 0.067674 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.