星空小说
http://wap.aixswx.com
mctiantian2501314 (2333)01/16 03:16
//2025.1.14by.◎辞晨◎ //2025/1/14 by天天的鸟蛋蛋 目录页 正文解密 //2025/1/15 by天天的鸟蛋蛋 正文更新 分段优化 // https://ysqbbs.com/thread-15443-1-1.html /*var JsDom = Packages.org.jsoup.Jsoup; var Document = Packages.org.jsoup.nodes.Document; var Element = Packages.org.jsoup.nodes.Element; var document = JsDom.parse(src); // 获取包含 元素的 元素 var divs = document.select('ul.list > div'); // 将divs转换为数组以便排序 var divArray = []; for (var i = 0; i < divs.size(); i++) { divArray.push(divs.get(i)); } // 按照data-id属性对divArray进行排序 divArray.sort(function(a, b) { var pageA = parseInt(a.attr('data-id'), 10); var pageB = parseInt(b.attr('data-id'), 10); return pageA - pageB; }); var list = []; // 遍历排序后的divArray for (var i = 0; i < divArray.length; i++) { var div = divArray[i]; var dataId = div.attr('data-id'); // 获取当前div下的所有元素 var lis = div.select('li'); for (var j = 0; j < lis.size(); j++) { var li = lis.get(j); var a = li.select('a').first(); if (a != null) { list.push({ text: a.text(), id: dataId, // 使用data-id属性 url: a.attr('href') }); } } } java.log(JSON.stringify(list)); list; */ //2025/1/14 by= = 的方法如下 /* var lis=""; //获取所有dd标签,依次存入数组arr var aDiv = java.getElements("@@.list@div"); var arr = []; for(var i=0;i li@a */
{ "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 }