歌曲宝
https://www.gequbao.com
syiism (13241)2小时前
歌曲宝
{
"bookSourceGroup": "🎵 音乐",
"bookSourceName": "歌曲宝",
"bookSourceType": 1,
"bookSourceUrl": "https:\/\/www.gequbao.com",
"customButton": false,
"customOrder": 1,
"enabled": true,
"enabledCookieJar": false,
"enabledExplore": false,
"eventListener": false,
"header": "{\"User-Agent\": \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/120.0.0.0 Safari\/537.36\", \"Accept\": \"text\/html,application\/xhtml+xml,application\/xml;q=0.9,*\/*;q=0.8\", \"Accept-Language\": \"zh-CN,zh;q=0.9\"}",
"lastUpdateTime": "1775611898709",
"respondTime": 180000,
"ruleBookInfo": {
"coverUrl": "@js:result;",
"init": "<js>(function() {\n var scripts = java.getStringList(\"\/\/script[@type='text\/javascript']\/text()\");\n var content = scripts.size() > 2 ? scripts.get(2) : \"\";\n var jsonMatch = content.match(\/JSON\\.parse\\(['\\\"]([\\s\\S]*?)['\\\"]\\)\/);\n if (!jsonMatch) return \"\";\n \n var jsonStr = jsonMatch[1].replace(\/\\\\u0022\/g, '\"')\n .replace(\/\\\\\\\/\/g, '\/')\n .replace(\/\\\\\\\\\/g, '\\\\');\n var data = JSON.parse(jsonStr);\n \n cache.putMemory(\"music_id\", data.mp3_id);\n cache.putMemory(\"play_id\", data.play_id);\n java.log(\"data: \" + JSON.stringify(data));\n\n return data.mp3_cover;\n})()<\/js>",
"kind": "音乐"
},
"ruleContent": {
"content": "@js:(function(){\nvar id = cache.getFromMemory(\"music_id\");\nvar cachedUrl = cache.getFromMemory(\"music_audio_\" + id);\nif (cachedUrl) {\n java.log(\"使用缓存的音频地址: \" + cachedUrl);\n return cachedUrl;\n}\n\njava.log(\"=== 获取新的音频地址 ===\");\nvar playId = cache.getFromMemory(\"play_id\");\n \nlet url = `https:\/\/www.gequbao.com\/api\/play-url,{\"method\": \"post\",\"body\": \"id=${playId}\"}`;\nvar res = java.ajax(url);\n \nvar audioUrl = java.getString(\"$.data.url\", res);\njava.log(\"获取到音频地址: \" + audioUrl);\n \n\/\/ 缓存地址\ncache.putMemory(\"music_audio_\" + id, audioUrl);\nreturn audioUrl;\n})();",
"subContent": "@js:(function() {\nvar id = cache.getFromMemory(\"music_id\");\nresult = cache.getFromMemory(\"music_text_\" + id);\nif (result) return result;\nvar texts = java.getStringList(\"\/\/div[@id='content-lrc']\/text()\");\nvar result = '';\nlet len = texts.size() - 1;\nfor (var i = 0; i < len; i++) {\n result += texts.get(i);\n result += '\\n';\n}\nresult += texts.get(len);\ncache.putMemory(\"music_text_\" + id, result);\nreturn result;\n})();"
},
"ruleExplore": {},
"ruleSearch": {
"author": "div.col-9 a small.text-jade@text",
"bookList": "div.card-text div.row.no-gutters",
"bookUrl": "div.col-9 a@href",
"checkKeyWord": "泡沫",
"kind": "音乐",
"name": "div.col-9 a span.text-primary@text"
},
"ruleToc": {
"chapterList": "@js:[{text:book.name}]",
"chapterName": "text"
},
"searchUrl": "\/s\/{{key}}",
"weight": 0
}