{
"bookSourceComment": "\/\/2025.1.14by.◎辞晨◎\n\/\/2025\/1\/14 by天天的鸟蛋蛋 目录页 正文解密\n\/\/2025\/1\/15 by天天的鸟蛋蛋 正文更新 分段优化\n\/\/ https:\/\/ysqbbs.com\/thread-15443-1-1.html\n\/*\n\t<js>\nvar JsDom = Packages.org.jsoup.Jsoup;\nvar Document = Packages.org.jsoup.nodes.Document;\nvar Element = Packages.org.jsoup.nodes.Element;\n \nvar document = JsDom.parse(src);\n \n\/\/ 获取包含<li>元素的<div>元素\nvar divs = document.select('ul.list > div');\n\n\/\/ 将divs转换为数组以便排序\nvar divArray = [];\nfor (var i = 0; i < divs.size(); i++) {\n divArray.push(divs.get(i));\n}\n\n\/\/ 按照data-id属性对divArray进行排序\ndivArray.sort(function(a, b) {\n var pageA = parseInt(a.attr('data-id'), 10);\n var pageB = parseInt(b.attr('data-id'), 10);\n return pageA - pageB;\n});\n\nvar list = [];\n\/\/ 遍历排序后的divArray\nfor (var i = 0; i < divArray.length; i++) {\n var div = divArray[i];\n var dataId = div.attr('data-id');\n \/\/ 获取当前div下的所有<li>元素\n var lis = div.select('li');\n for (var j = 0; j < lis.size(); j++) {\n var li = lis.get(j);\n var a = li.select('a').first();\n if (a != null) {\n list.push({\n text: a.text(),\n id: dataId, \/\/ 使用data-id属性\n url: a.attr('href')\n });\n }\n }\n}\n\njava.log(JSON.stringify(list));\nlist;\n<\/js>\n\n\t*\/\n\n\/\/2025\/1\/14 by= = 的方法如下\n\/*\n\t<js>\nvar lis=\"\";\n\/\/获取所有dd标签,依次存入数组arr\nvar aDiv = java.getElements(\"@@.list@div\");\n var arr = [];\n for(var i=0;i<aDiv.length;i++){\n \t arr.push(aDiv[i]);\n }\n\/\/按data-id属性值升序排列arr中的元素\n arr.sort(function(a,b){return a.attr('data-id') - b.attr('data-id')});\n\/\/依次拼接排序后arr中的元素\n for(var i=0;i<arr.length;i++){\n \tlis=lis+arr[i];\n }\n lis\n java.log(lis)\n<\/js>li@a\n*\/",
"bookSourceGroup": "写源",
"bookSourceName": "星空小说",
"bookSourceType": 0,
"bookSourceUrl": "http:\/\/wap.aixswx.com ",
"customOrder": -98926,
"enabled": true,
"enabledCookieJar": true,
"enabledExplore": true,
"exploreUrl": "[{\"title\":\"#分类\",\"url\":\"\",\"style\":{\"layout_flexBasisPercent\":1,\"layout_flexGrow\":1}},{\"title\":\"完结\",\"url\":\"\/quanben\/{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.2,\"layout_flexGrow\":1}},{\"title\":\"玄幻\",\"url\":\"\/mulu\/1_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.2,\"layout_flexGrow\":1}},{\"title\":\"仙侠\",\"url\":\"\/mulu\/2_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.2,\"layout_flexGrow\":1}},{\"title\":\"都市\",\"url\":\"\/mulu\/3_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.2,\"layout_flexGrow\":1}},{\"title\":\"历史\",\"url\":\"\/mulu\/4_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.2,\"layout_flexGrow\":1}},{\"title\":\"游戏\",\"url\":\"\/mulu\/5_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.2,\"layout_flexGrow\":1}},{\"title\":\"科幻\",\"url\":\"\/mulu\/6_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.2,\"layout_flexGrow\":1}},{\"title\":\"恐怖\",\"url\":\"\/mulu\/7_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.2,\"layout_flexGrow\":1}},{\"title\":\"女生\",\"url\":\"\/mulu\/8_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.2,\"layout_flexGrow\":1}},{\"title\":\"其他\",\"url\":\"\/mulu\/8_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.2,\"layout_flexGrow\":1}},{\"title\":\"#排行榜\",\"url\":\"\",\"style\":{\"layout_flexBasisPercent\":1,\"layout_flexGrow\":1}},{\"title\":\"日点击榜\",\"url\":\"\/paihang\/dayvisit_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.4,\"layout_flexGrow\":1}},{\"title\":\"周点击榜\",\"url\":\"\/paihang\/weekvisit_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.4,\"layout_flexGrow\":1}},{\"title\":\"月点击榜\",\"url\":\"\/paihang\/monthvisit_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.4,\"layout_flexGrow\":1}},{\"title\":\"总点击榜\",\"url\":\"\/paihang\/allvisit_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.4,\"layout_flexGrow\":1}},{\"title\":\"总收藏榜\",\"url\":\"\/paihang\/goodnum_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.4,\"layout_flexGrow\":1}},{\"title\":\"字数排行\",\"url\":\"\/paihang\/size_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.4,\"layout_flexGrow\":1}},{\"title\":\"日推荐榜\",\"url\":\"\/paihang\/dayvote_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.4,\"layout_flexGrow\":1}},{\"title\":\"周推荐榜\",\"url\":\"\/paihang\/weekvote_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.4,\"layout_flexGrow\":1}},{\"title\":\"月推荐榜\",\"url\":\"\/paihang\/monthvote_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.4,\"layout_flexGrow\":1}},{\"title\":\"总推荐榜\",\"url\":\"\/paihang\/allvote_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.4,\"layout_flexGrow\":1}},{\"title\":\"最新入库\",\"url\":\"\/paihang\/postdate_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.4,\"layout_flexGrow\":1}},{\"title\":\"最近更新\",\"url\":\"\/paihang\/lastupdate_{{page}}.html\",\"style\":{\"layout_flexBasisPercent\":0.4,\"layout_flexGrow\":1}}]",
"header": "{\n 'User-Agent': \"Mozilla\/5.0 (Linux; Android 15; V2304A Build\/AP3A.240905.015.A2; wv) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/126.0.6478.71 Mobile Safari\/537.36\",\n 'sec-ch-ua-platform': \"\\\"Android\\\"\",\n 'origin': \"http:\/\/wap.aixswx.com\",\n 'x-requested-with': \"cn.mujiankeji.mbrowser\",\n 'referer': \"http:\/\/wap.aixswx.com\",\n 'accept-language': \"zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7\",\n 'cookie':\"wsii=c6dd6741eff413b0b3fa34454297a6bb; wsii.sig=typqduZ5V0UckybAUZaTc4FDIo_WCyagwQ_gLqClIjM; Hm_lvt_53ebc424a3875367158e16f535e5fb60=1736855620; HMACCOUNT=BAE980A89729A2EC; Hm_lpvt_53ebc424a3875367158e16f535e5fb60=1736855665\"\n}",
"lastUpdateTime": "1736968580378",
"respondTime": 180000,
"ruleBookInfo": {
"author": "[property=\"og:novel:author\"]@content",
"coverUrl": "[property=\"og:image\"]@content",
"intro": ".intro.0@text##阅读.*最新章节请关注.+|【展开】|【收起】",
"kind": "[property~=category|status|update_time]@content",
"lastChapter": "[property~=las?test_chapter_name]@content",
"name": "[property=\"og:novel:book_name\"]@content",
"tocUrl": "text.目录列表@href",
"wordCount": ""
},
"ruleContent": {
"content": "<js>\nvar JsDom = Packages.org.jsoup.Jsoup;\nvar Document = Packages.org.jsoup.nodes.Document;\nvar Element = Packages.org.jsoup.nodes.Element;\n \nvar document = JsDom.parse(src);\n \n\/\/ 获取包含<p>元素的<dd>元素\nvar dds = document.select('div.content > dd');\n\n\/\/ 将dds转换为数组以便排序\nvar ddArray = [];\nfor (var i = 0; i < dds.size(); i++) {\n ddArray.push(dds.get(i));\n}\n\n\/\/ 按照data-id属性对ddArray进行排序\nddArray.sort(function(a, b) {\n var pageA = parseInt(a.attr('data-id'), 10);\n var pageB = parseInt(b.attr('data-id'), 10);\n return pageA - pageB;\n});\n\nvar list = [];\nvar data = {\n mergedText: \"\"\n};\n\n\/\/ 遍历排序后的ddArray\nfor (var i = 0; i < ddArray.length; i++) {\n var dd = ddArray[i];\n var dataId = dd.attr('data-id');\n \/\/ 获取当前dd下的所有<p>元素的文本内容,保持原有顺序\n var paragraphs = dd.select('p');\n var paragraphTexts = [];\n for (var j = 0; j < paragraphs.size(); j++) {\n var paragraph = paragraphs.get(j);\n paragraphTexts.push(paragraph.text());\n }\n list.push({\n id: dataId, \/\/ 使用data-id属性\n paragraphs: paragraphTexts \/\/ 存储所有<p>元素的文本内容为数组,保持原有顺序\n });\n \/\/ 合并文本内容,每个<p>内容后添加换行符,保持原有顺序\n data.mergedText += paragraphTexts.join(\"\\n\") + \"\\n\"; \/\/ 添加额外换行符以便分隔每个dd的内容\n}\n\n\/\/ 输出结果\njava.log(JSON.stringify(list));\njava.log(data.mergedText);\n\n\/\/ 返回data对象\nresult = data.mergedText;\n<\/js>\n",
"nextContentUrl": "text.下一页@href",
"replaceRegex": "##.*星空小说网.*|\\(第.*页\\)|{{chapter.title}}|(本章未完.+继续阅读)|阅读.*最新章节.*请关注.+|www.*com,"
},
"ruleExplore": {
"author": "",
"bookList": ".block@li",
"bookUrl": "a@href",
"kind": "span@text##\\[|\\]",
"name": "a@textNodes"
},
"ruleSearch": {
"author": "a.0@text##\\((.*?)\\)##$1###",
"bookList": "ul@li",
"bookUrl": "a.0@href",
"coverUrl": "a.0@href##\\\/(\\d+)\\.##$1###\n@js:\nbid = parseInt(result);\naid = parseInt(bid \/ 1000);\nresult = `\/image\/${aid}\/${bid}\/${bid}s.jpg`;",
"intro": "",
"kind": "a.0@text##\\[|\\].*",
"name": "a.0@text##.*\\]|\\(.*"
},
"ruleToc": {
"chapterList": "<js>\nvar JsDom = Packages.org.jsoup.Jsoup;\nvar Document = Packages.org.jsoup.nodes.Document;\nvar Element = Packages.org.jsoup.nodes.Element;\n \nvar document = JsDom.parse(src);\n \n\/\/ 获取包含<li>元素的<div>元素\nvar divs = document.select('ul.list > div');\n\n\/\/ 将divs转换为数组以便排序\nvar divArray = [];\nfor (var i = 0; i < divs.size(); i++) {\n divArray.push(divs.get(i));\n}\n\n\/\/ 按照data-id属性对divArray进行排序\ndivArray.sort(function(a, b) {\n var pageA = parseInt(a.attr('data-id'), 10);\n var pageB = parseInt(b.attr('data-id'), 10);\n return pageA - pageB;\n});\n\nvar list = [];\n\/\/ 遍历排序后的divArray\nfor (var i = 0; i < divArray.length; i++) {\n var div = divArray[i];\n var dataId = div.attr('data-id');\n \/\/ 获取当前div下的所有<li>元素\n var lis = div.select('li');\n for (var j = 0; j < lis.size(); j++) {\n var li = lis.get(j);\n var a = li.select('a').first();\n if (a != null) {\n list.push({\n text: a.text(),\n id: dataId, \/\/ 使用data-id属性\n url: a.attr('href')\n });\n }\n }\n}\n\n\/\/java.log(JSON.stringify(list));\nlist;\n<\/js>\n",
"chapterName": "text",
"chapterUrl": "url",
"isPay": ""
},
"searchUrl": "http:\/\/wap.aixswx.org\/s.php,{\n \"body\": \"s={{key}}\",\n \"charset\": \"utf-8\", \n \"method\": \"POST\"\n}",
"weight": 0
}