顶级看书网
https://www.djks5.com
yezechuandl (3004)6天前
//2025.6.21 ◎夜泽川◎
{ "bookSourceComment": "\/\/2025.6.21 ◎夜泽川◎", "bookSourceGroup": "网络,自制", "bookSourceName": "顶级看书网", "bookSourceType": 0, "bookSourceUrl": "https:\/\/www.djks5.com", "customOrder": 679, "enabled": true, "enabledCookieJar": true, "enabledExplore": true, "exploreUrl": "[{\"title\":\"分类\",\"url\":\"\",\"style\":{\"layout_flexBasisPercent\":1,\"layout_flexGrow\":1}},{\"title\":\"玄幻\",\"url\":\"\/list\/1\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"武侠\",\"url\":\"\/list\/2\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"都市\",\"url\":\"\/list\/3\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"历史\",\"url\":\"\/list\/4\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"科幻\",\"url\":\"\/list\/5\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"游戏\",\"url\":\"\/list\/6\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"精品\",\"url\":\"\/list\/7\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"其他\",\"url\":\"\/list\/8\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}}]", "header": "{\"User-Agent\":\"Mozilla\/5.0 (Linux; Android 9) Mobile Safari\/537.36\"}", "lastUpdateTime": "1751759657669", "respondTime": 180000, "ruleBookInfo": { "author": "@get:{a}", "coverUrl": "@get:{i}", "init": "@put:{\"n\":\"[property$=book_name]@content\",\n\"a\":\"[property$=author]@content\",\n\"t\":\"[property~=category|status]@content\",\n\"l\":\"[property$=lastest_chapter_name]@content\",\n\"i\":\".imgbox img@src\",\n\"o\":\"[property$=description]@content\",\n\"g\":\"[property$=update_time]@content\"\n}", "intro": "@get:{o}", "kind": "@get:{t}", "lastChapter": "@get:{l}◎@get:{g}", "name": "@get:{n}" }, "ruleContent": { "content": "<js>\nif (baseUrl.startsWith('data')) {\n let decodedData = String(java.hexDecodeToString(src));\n let [ruleStr, initialUrl] = decodedData.split('|');\n let finalUrl = initialUrl;\n let initialCount = 0;\n const finalCount = 10;\n while (initialCount < finalCount) {\n initialCount++;\n let Content = java.ajax(source.key + finalUrl);\n let thUrl = java.getString(ruleStr, Content);\n finalUrl = thUrl;\n if (!thUrl.includes('_')) break;\n }\n result = java.ajax(source.key + finalUrl);\n java.setContent(result);\n}\nresult;\n<\/js>\n#content > :not(a)@html", "nextContentUrl": "@js:\nlet url = java.getString('#next_url@href');\nurl = url.includes('_') ? source.key + url : '';" }, "ruleExplore": {}, "ruleSearch": { "author": ".s4@text", "bookList": ".txt-list.0@li:not(.qu-2lmu-qd5o-lvij)", "bookUrl": "a.0@href", "kind": ".s1@text&&.s5@text##\\[|\\]", "lastChapter": ".s3@text", "name": ".s2@text" }, "ruleToc": { "chapterList": "<js>\nlet pages = Array.from(java.getStringList('option@value', null, true));\n\nvar chapters = java.ajaxAll(pages).flatMap(m => {\n let chapterLists = org.jsoup.Jsoup.parse(m.body()).select('.section-list');\n return Array.from(chapterLists.get(1).select('a'));\n});\n\nvar list = chapters.map((item, i) => {\n let url = String(item.attr('href'));\n if (!url) {\n let thUrl = i < chapters.length - 1 ? chapters[i+1].attr('href') : chapters[i-1].attr('href');\n let ruleStr = i < chapters.length - 1 ? \"#prev_url@href\" : \"#next_url@href\";\n if (String(thUrl)) url = \"data:;base64,\" + java.base64Encode(ruleStr + \"|\" + thUrl) + ',{\"type\": \"chapter\"}';\n }\n \/\/java.log(url)\n return { \n name: item.text(), \n Url: url\n };\n});\nlist;\n<\/js>", "chapterName": "name", "chapterUrl": "Url" }, "searchUrl": "{{cookie.removeCookie(source.getKey())}}\/search\/,{\n \"body\": \"type=articlename&searchkey={{key}}\",\n \"method\": \"POST\"\n}", "weight": 0 }