58小说网
https://m.xbfdc.net
ycbsteamed-buns (14809)4天前
📖 58小说网 | m.xbfdc.net by 纳兰容若
{
"bookSourceComment": "📖 58小说网 | m.xbfdc.net\nby 纳兰容若",
"bookSourceGroup": "纳兰验证",
"bookSourceName": "58小说网",
"bookSourceType": 0,
"bookSourceUrl": "https:\/\/m.xbfdc.net",
"concurrentRate": "1000",
"customButton": false,
"customOrder": 0,
"enabled": true,
"enabledCookieJar": true,
"enabledExplore": true,
"eventListener": false,
"exploreUrl": "[{\"title\":\"玄幻魔法\",\"url\":\"\/like\/1\/\"},{\"title\":\"武侠修真\",\"url\":\"\/like\/2\/\"},{\"title\":\"都市言情\",\"url\":\"\/like\/3\/\"},{\"title\":\"历史军事\",\"url\":\"\/like\/4\/\"},{\"title\":\"网游竞技\",\"url\":\"\/like\/5\/\"},{\"title\":\"科幻小说\",\"url\":\"\/like\/6\/\"},{\"title\":\"恐怖灵异\",\"url\":\"\/like\/7\/\"},{\"title\":\"女生频道\",\"url\":\"\/like\/8\/\"},{\"title\":\"其他类型\",\"url\":\"\/like\/9\/\"},{\"title\":\"全本小说\",\"url\":\"\/quanben\/\"},{\"title\":\"周点击榜\",\"url\":\"\/paihang\/weekvisit\/\"},{\"title\":\"月点击榜\",\"url\":\"\/paihang\/monthvisit\/\"},{\"title\":\"总点击榜\",\"url\":\"\/paihang\/allvisit\/\"}]",
"header": "{\"User-Agent\":\"Mozilla\/5.0 (Linux; Android 13; Pixel 7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.0.0 Mobile 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\",\"Referer\":\"https:\/\/m.xbfdc.net\/\"}",
"lastUpdateTime": "1792400975625",
"loginUrl": "https:\/\/m.xbfdc.net\/user\/login.html",
"respondTime": 180000,
"ruleBookInfo": {
"author": "class.info@tag.p.0@text##作者:",
"coverUrl": "class.image@img@src",
"intro": "class.introbar@text##简介:",
"kind": "class.info@tag.p.2@tag.a@text",
"lastChapter": "class.newest@a@text",
"name": "class.title@text",
"tocUrl": "@js:baseUrl;"
},
"ruleContent": {
"content": "id.text@html",
"nextContentUrl": "text.下一章@href",
"title": "tag.h1@text"
},
"ruleExplore": {
"author": "tag.p.0@text##作者:",
"bookList": "article",
"bookUrl": "tag.a.0@href",
"coverUrl": "class.image@img@src",
"intro": "class.intro@text##简介:",
"name": "class.title@text"
},
"ruleSearch": {
"author": "class.book-author@text",
"bookList": "<js>\n(function(){\n var h = String(result);\n var B = 'https:\/\/m.xbfdc.net';\n var k = '';\n var b = String(baseUrl);\n var qm = b.match(\/[?&]q=([^&]+)\/);\n if (qm) { try { k = String(Packages.java.net.URLDecoder.decode(qm[1], 'UTF-8')); } catch(e) { k = qm[1]; } }\n if (!k) {\n var vm = h.match(\/name=[\"']q[\"'][^>]*value=[\"']([^\"']*)[\"']\/);\n if (vm) k = vm[1];\n }\n if (!k) return '';\n \/\/ 提取所有动态变量\n var vars = {};\n var re = \/var\\s+(\\w+)\\s*=\\s*[\"']([^\"']*)[\"']\\s*;?\/g, m;\n while ((m = re.exec(h)) !== null) { vars[m[1]] = m[2]; }\n \/\/ Cookie 存在时 bgt 去掉最后一个字符(common.js search_before 逻辑)\n var ck = '';\n try { ck = String(cookie.getCookie(B)); } catch(e) { ck = ''; }\n if (ck !== '' && ck !== 'null' && ck !== 'undefined' && vars['bgt']) {\n vars['bgt'] = vars['bgt'].slice(0, vars['bgt'].length - 1);\n }\n \/\/ 编码(Rhino 无 encodeURIComponent,用 Packages)\n var enc = function(s){ try { return String(Packages.java.net.URLEncoder.encode(s, 'UTF-8')); } catch(e) { return String(s); } };\n var body = 'q=' + enc(k);\n for (var name in vars) { body += '&' + name + '=' + enc(vars[name]); }\n \/\/ POST \/api\/search\n var res = '';\n try {\n res = String(java.ajax(B + '\/api\/search,' + JSON.stringify({\n method: 'POST',\n body: body,\n header: {\n 'Content-Type': 'application\/x-www-form-urlencoded',\n 'Accept-Encoding': 'identity',\n 'Referer': B + '\/user\/search.html?q=' + enc(k),\n 'X-Requested-With': 'XMLHttpRequest'\n }\n }), 30000));\n } catch(e) { return '<div class=\"book-item\"><a class=\"book-link\" href=\"#\">[AJAX_ERROR]<\/a><p class=\"book-intro\">' + String(e) + '<\/p><\/div>'; }\n \/\/ 解析 JSON\n var json = null;\n try { json = JSON.parse(res); } catch(e) {\n return '<div class=\"book-item\"><a class=\"book-link\" href=\"#\">[JSON_ERROR]<\/a><p class=\"book-intro\">' + res.substring(0, 300).replace(\/<\/g,'<') + '<\/p><\/div>';\n }\n if (!json || json.code !== 0) {\n return '<div class=\"book-item\"><a class=\"book-link\" href=\"#\">[CODE_' + (json && json.code) + ']<\/a><p class=\"book-intro\">' + ((json && json.msg) || res.substring(0,200)) + '<\/p><\/div>';\n }\n var list = json.data && json.data.search;\n if (!list || !list.length) {\n return '<div class=\"book-item\"><a class=\"book-link\" href=\"#\">[EMPTY]<\/a><p class=\"book-intro\">返回JSON无search数据<\/p><\/div>';\n }\n \/\/ 渲染\n var out = '';\n for (var i = 0; i < list.length; i++) {\n var it = list[i];\n out += '<div class=\"book-item\"><a class=\"book-link\" href=\"' + it.book_list_url + '\">' + (it.title || it.book_name) + '<\/a><img class=\"book-cover\" src=\"' + (it.cover || '') + '\"><span class=\"book-author\">' + (it.author || '') + '<\/span><p class=\"book-intro\">' + (it.intro || '') + '<\/p><\/div>';\n }\n return out;\n})()\n<\/js>div.book-item",
"bookUrl": "class.book-link@href",
"coverUrl": "class.book-cover@src",
"intro": "class.book-intro@text",
"name": "class.book-link@text"
},
"ruleToc": {
"chapterList": "class.chapter@tag.li",
"chapterName": "tag.a@text",
"chapterUrl": "tag.a@href"
},
"searchUrl": "https:\/\/m.xbfdc.net\/user\/search.html?q={{key}}",
"weight": 0
}