获取网易云音乐永久外链

获取网易云音乐永久外链

前言众所周知,网易云音乐是有一个外链音乐播放器的,但是很丑不能满足自定义样式的需求但是要自己写音乐播放器,首当其冲的就是要拿到音乐的外链

步骤从网页端入手进入网易云网页端,随便找一首歌,打开开发者工具,选择网络监视器,过滤到媒体,然后开始播放得到音乐的链接,例如

https://m10.music.126.net/20220817212854/fedae95b089bd54b2d268799c6d77509/ymusic/obj/w5zDlMODwrDDiGjCn8Ky/17242547712/c2e5/5632/bf80/e46176bd31a234f765838a94227e228f.mp3一看到URL开头有日期就知道它不久就会过期,很显然得到的不是永久链接

百度当你觉得烦心的时候,就上搜索引擎去搜搜吧幸运的是,已经有人探过这条路了网易云音乐歌曲的永久链接为

https://music.163.com/song/media/outer/url?id=${id}.mp3将其中${id}替换为歌曲网址里面的id,例如,某首歌曲的网址为

https://music.163.com/#/song?id=1403528956则其外链为

https://music.163.com/song/media/outer/url?id=1403528956.mp3访问该外链后会跳转到类似上一步的链接然而,电台节目的外链并不符合此规律

审查元素随便找一首电台曲目,审查元素发现

...

...

后者正是显示在地址栏的id,所以猜测前者是这首歌的文件名id代入上一步的链接中,发现确实如此

批量处理一个电台的曲目太多了,总不能每个都这么处理吧想要批量处理,可以自己写爬虫还有一个方法是RSS(其实一开始就看RSSHub就没那么麻烦了)在RSSHub中有网易云音乐电台的接口,例如

https://rsshub.app/ncm/djradio/347317067数字部分即为电台的idRSS实际上是一个xml文档,但里面东西太多了,只需要id和歌名就行写了个python来处理

from xml.etree import ElementTree as ET

import json

tree = ET.parse('./bgm.xml')

root = tree.getroot()

list = []

for i in root[0].findall('item'):

name = i.find('title').text

id = i.find('description').text.split('id=')[1].split('.mp3')[0]

list.append([int(id), name])

with open('./bgm.json', 'w') as f:

json.dump(list, f)引用获取网易云音乐外链地址RSSHub

相关推荐

我的世界为什么会卡顿,求解
365bet官网注册

我的世界为什么会卡顿,求解

📅 07-28 👁️ 2149
您所访问的页面不存在
365哪个才是真的

您所访问的页面不存在

📅 07-07 👁️ 1328
深信服一、二、三面
365bet提款要多久

深信服一、二、三面

📅 06-29 👁️ 8027
做广告牌用什么软件
365bet提款要多久

做广告牌用什么软件

📅 07-17 👁️ 5459
姚明吸毒被抓,谣言如同热浪,当别人造谣时我们可以做什么?
流量监控软件软件哪个好 十款常用流量监控软件软件排行
相爱相杀:杀毒软件6种主流的查杀原理
365bet提款要多久

相爱相杀:杀毒软件6种主流的查杀原理

📅 07-28 👁️ 3165
小米note和小米4哪个好?小米note和小米4配置区别对比评测
LOLa键怎么设置
365bet提款要多久

LOLa键怎么设置

📅 07-28 👁️ 1926