// ==UserScript==
// @name ximalaya-download
// @namespace https://greasyfork.org/zh-CN/users/135090
// @match https://www.ximalaya.com/album/*
// @exclude https://www.ximalaya.com/zhubo/*
// @grant none
// @version 1.3.6
// @author eaudouce
// @license BSD
// @description 喜马拉雅音乐下载
// @run-at document-end
// @downloadURL none
// ==/UserScript==
(function() {
"use strict";
function init(){
var array=document.querySelectorAll(".text>a:first-child");
array.forEach(function(a){
var n=a.href.split("/").length-1;
var id = a.href.split("/")[n];
var url = "https://www.ximalaya.com/revision/play/v1/audio?ptype=1&id="+id;
/*api-101
var url="http://www.ximalaya.com/tracks/"+id+".json";
*/
/*api-102
var url="https://m.ximalaya.com/m-revision/page/track/queryTrackPage/"+id
*/
var murl="http://mobile.ximalaya.com/v1/track/baseInfo?device=iPhone&trackId="+id;
var result;
var src;
var parent=a.parentNode;
var div = document.createElement("div");
parent.insertBefore(div,a);
div.innerHTML="...";
var xhr = new XMLHttpRequest();
xhr.open("GET",url, true);
xhr.onload = function () {
if (xhr.readyState === xhr.DONE) {
if (xhr.status === 200) {
result=xhr.responseText;
src=JSON.parse(result).data.src;
//src=JSON.parse(result).play_path;//api-101
//src=JSON.parse(result).data.trackDetailInfo.trackInfo.playPath;//api-102
//msrc=JSON.parse(result).playUrl32;
if (src === undefined) {
div.innerHTML="无法解析VIP内容";
}else{
console.log(src);
div.innerHTML="下载";
}
}
}
};
xhr.send(null);
});
}
setTimeout(init, 2000);
})();