🎉 聚合书库

https://book4.cc

kirasama (14497)08/20 23:30

🎉 聚合书库
二维码导入
{
    "bookSourceComment": "",
    "bookSourceGroup": "",
    "bookSourceName": "🎉 聚合书库",
    "bookSourceType": 0,
    "bookSourceUrl": "https:\/\/book4.cc",
    "bookUrlPattern": "https?:\/\/book4.cc\/AU文学\/.{1,3}\/\\d+\/",
    "customOrder": 1060,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "@js:\nvar sort = [],\n    header = eval(getHeaders(source)),\n    src = java.connect(\n    \tbaseUrl, header).body(),\n    b = src.match(\/(html_b|dstr)=\"(.*?)\"\/);\nif (b) src = dec(b);\nvar doc = org.jsoup.Jsoup.parse(src),\n    a = doc.select(\"ul.nav.nav-pills li a\");\nfor (let i = 1; i < a.size(); i++) {\n    let fl = ({\n        \"title\": a[i].text(),\n        \"url\": `${a[i].attr(\"href\")}<,{{page}}>`,\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexShrink\": 1,\n            \"layout_alignSelf\": \"auto\",\n            \"layout_flexBasisPercent\": 0.2,\n            \"layout_wrapBefore\": false\n        }\n    });\n    sort.push(fl);\n}\n\nJSON.stringify(sort);",
    "header": "@js:\nJSON.stringify({\n\t\"Referer\": baseUrl + \"\/\",\n\t\"X-Requested-With\": \"mark.via\",\n\t\"Accept-Language\": \"zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7\",\n\t\"User-Agent\": java.getWebViewUA()\n\t});",
    "jsLib": "function as(input) {\n    var ts = this[\"\\x6a\\x61\\x76\\x61\"][\"\\x62\\x61\\x73\\x65\\x36\\x34\\x44\\x65\\x63\\x6f\\x64\\x65\"](input);\n    return ts;\n}\n\nfunction dec(a) {\n    var to = this.as(a[2]),\n        html = (a[1].includes(\"str\") ?\n        decodeURIComponent(to) : to);\n    return html;\n}\n\nfunction getHeaders(that) {\n    const source = (that || this.source);\n    var header = String(source.header);\n    if (\/^.?js(:|>)\/.test(header)) {\n        let h1 = header.split(\"js:\"),\n            h2 = header.split(\"js>\");\n        let head = (Array.isArray(h1) && h1[1]) || (Array.isArray(h2) && h2[1]);\n        return String(head.toString());\n    } else return header;\n}",
    "lastUpdateTime": "1787239843908",
    "loginCheckJs": "var url = result.url(), src = result.body(),\nb = src.match(\/(html_b|dstr)=\"(.*?)\"\/);\nif(b){\n\th = dec(b);\n\tresult = Packages.io.legado.app.help.http.StrResponse(url, h);\n\t}\nresult",
    "respondTime": 3667,
    "ruleBookInfo": {
        "author": "$.author",
        "coverUrl": "$.cover",
        "init": "<js>\nvar data = {}, n = 0, so = 1;\nvar v = book.getVariable(\"custom\"),\nb = result.match(\/book=(\\{.*\\})\/) || [];\ntry {\n    data = JSON.parse(b[1]);\n} catch (err) {\n    java.log(err)\n    data = eval(\"(\" + b[1] + \")\");\n}\nvar img = java.getString(\n\t\".book-img img@src\", result);\nlet origin = data[\"同书名作者其他阅读源\"];\n\/\/java.log(JSON.stringify(origin[0]))\nif (v != \"\") {\n    so = n;\n    n = Number(v) - 1;\n}\n\nlet obj = origin[n],\ninfo = `<br>当前源:【${so}】状态:${obj.isok ? \"可用\" : \"异常\"}\n最新章节:${obj.last_chapter_name}\n更新时间:${obj.time_update}\n源列表(多个源可设置书籍变量更改接口)\\n` + origin.map((o, i) =>`源接口:〔${i + 1}〕状态:${o.isok ? \"可用\" : \"异常\"}\n\t最新章节:${o.last_chapter_name}\n\t更新时间:${o.time_update}`).join(\"\\n\");\nobj.intro = `${info} <br>本书《${book.name}》简介:\\n${obj.intro}`;\nlet load = result.match(\/load_js\\('(.+?)'\/);\n\t\/\/java.log(load.toString());\n\tlet kind = `${obj.type_name},${obj.time_update}`, \n\tlast = `${obj.last_chapter_name}•${obj.time_update}`;\nobj.kind = kind; obj.last = last;\nobj.dir = ( (load && load[1]) || \"\/show_jsload_book_info\/\") + obj.book_yun_path;\nobj.cover = img;\nJSON.stringify(obj);\n<\/js>",
        "intro": "$.intro",
        "kind": "$.kind",
        "lastChapter": "$.last",
        "name": "$.book_name",
        "tocUrl": "$.dir"
    },
    "ruleContent": {
        "content": "article > .entry-content > p@html\n##<p style.*|.*<a href.*"
    },
    "ruleExplore": {
        "author": "p.author.0@text",
        "bookList": "<js>\nString(result).replace(\/<!--|-->\/g, \"\");\n<\/js>\n#main li",
        "bookUrl": "a.1@href",
        "coverUrl": "img@src",
        "intro": "p.-1@text##简介:",
        "kind": "p.author.1:3:4@text",
        "lastChapter": "a.-2@text",
        "name": "h3 a@text##《|》"
    },
    "ruleSearch": {
        "author": "p.author.0@text",
        "bookList": "<js>\nString(result).replace(\/<!--|-->\/g, \"\");\n<\/js>\n#book_list li",
        "bookUrl": "a.1@href",
        "coverUrl": "img@src",
        "intro": "p.-1@html##简介:",
        "kind": "p.author.1:-2@text",
        "lastChapter": "a.-1@text",
        "name": "a.1@text##《|》"
    },
    "ruleToc": {
        "chapterList": "@js:\nvar _ = JSON.parse(result).chapter_list;\nArray.from(_, ($) => ({\n    name: $.name,\n    link: book.bookUrl + $.file_name,\n    info: String(`${$.len}字`)\n}));",
        "chapterName": "name",
        "chapterUrl": "link",
        "preUpdateJs": "java.refreshTocUrl()",
        "updateTime": "info"
    },
    "searchUrl": "https:\/\/book4.cc\/AU文学\/searchword?q={{key}}",
    "variableComment": "设置源变量更改接口",
    "weight": 0
}
广告