油猴网易云音乐下载脚本教程
最近学习了一个网易云音乐下载脚本,这就分享一下
1.获取歌曲的id

根据api接口替换其中的id拿到整个歌曲的mp3链接
http://music.163.com/song/media/outer/url?id={ID数字}.mp3
脚本代码:
复制到 油猴即可

// ==UserScript==
// @name 网易云歌曲下载
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 网易云歌曲下载
// @author MRS
// @match https://music.163.com/*
// @icon https://s1.music.126.net/style/favicon.ico?v20180823
// @grant none
// ==/UserScript==
(function () {
'use strict';
// Your code here...
window.onload = () => {
main();
}
function main() {
let id = getId();
let link = getSongDownloadLink(id);
let buttonBox = getButtonBox();
// console.log(id)
// console.log(link)
// console.log(buttonBox)
addButton(buttonBox, link);
}
//页面加载时获取url当中的歌曲Id
function getId() {
return window.location.href.split("id=")[1]
}
//获取歌曲外链下载地址
function getSongDownloadLink(id) {
return `http://music.163.com/song/media/outer/url?id=${id}.mp3`;
}
//获取iframe中的元素
function getButtonBox() {
let iframe = document.getElementById('g_iframe');
let buttonBox = iframe.contentWindow.document.querySelector('#content-operation');
return buttonBox;
}
//创建按钮
function addButton(buttonBox, link) {
//创建a元素
let a = document.createElement('a');
//让a元素继承网易云按钮的所有样式
a.classList.add('u-btni', 'u-btni-dl');
//在a里面创建一个i标签
a.innerHTML = '<i style="color:red;">直接下载</i>';
a.href = link;
a.target = '_blank';
//把a元素添加到所有按钮之后
buttonBox.append(a);
}
})();
效果



浙公网安备 33010602011771号