自动下载酷狗音乐

在酷狗音乐播放页面下载所听歌曲到本地,仅在chrome下测试通过

目前為 2020-05-09 提交的版本,檢視 最新版本

// ==UserScript==
// @name         自动下载酷狗音乐
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  在酷狗音乐播放页面下载所听歌曲到本地,仅在chrome下测试通过
// @author       You
// @include      *://*.kugou.com/song*
// @grant        GM_download
// @grant        GM_openInTab
// @grant        GM_setValue
// @grant        GM_getValue
// @grant        GM_xmlhttpRequest
// @grant        unsafeWindow
// @grant        GM_setClipboard
// @grant        GM_getResourceURL
// @grant        GM_getResourceText
// @connect      *

// ==/UserScript==
// kugou.com 音乐下载
(function() {
    'use strict';

    if(window.GM_download){
        console.log("此时可以使用");
    }else{
        console.log("--------------------");
    }

    function getHashParams(key) {
        var arr = location.hash.replace("#", "").split("&"), keyValue = "";
        for (var i = 0;i<arr.length;i++) {
            if (arr[i].split("=")[0] == key) {
                keyValue = arr[i].split("=")[1];
                break;
            }
        }
        return keyValue;
    }

    unsafeWindow.download_mp3=function(_hash, _album_id, domain_name){

        var hash, album_id;

//         if (location.hash != "") {
//             hash = getHashParams("hash");
//             album_id = getHashParams("album_id");
//         }

        hash = _hash;
        album_id=_album_id;

        var dfid="";
        var mid="";

        window.KgUser && (dfid = KgUser.getDfid(1014), mid = KgUser.getKgMid())
        let req_url = "https://wwwapi.kugou.com/yy/index.php?r=play/getdata&hash="+hash+"&album_id="+album_id+"&dfid="+dfid+"&mid="+mid+"&platid=4"
        console.log("请求地址:",req_url);
        GM_xmlhttpRequest({
            method: "GET",
            url: req_url,
            headers: { "Content-Type": "application/x-www-form-urlencoded" },
            responseType: "json",
            onload: function(r){
                console.log(r);
                if(r.readyState == 4){
                    var res = r.response.data;
                    console.log("mp3地址", res.play_url);
                    GM_download({
                        url: res.play_url,
                        name: res.audio_name+".mp3",
                        onload: function(){
                            console.log(res.sony_name, "下载完成");
                        },
                        onerror: function(error){
                            console.log(res.sony_name, "下载失败", error);
                        }
                    })
                }
            },
            onerror: function(err){
                console.log("请求地址失败");
            }
        });
    }
    unsafeWindow.addEventListener("hashchange", function(ev){
        unsafeWindow.download_mp3(ev.target.Hash, ev.target.album_id);
    });


})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址