夜读阁

https://www.yeduge.com

SH869 (2786)3天前

❗免责声明: 本工具/代码/内容仅供学习交流使用,严禁用于任何非法用途。使用者应严格遵守所在国家或地区的法律法规,任何因滥用或违规使用导致的后果均与开发者/提供者无关,责任自负❗
网站上有最新三章有VIP
有问题发在阅读频道,有时间我会看到,进行修复
协助者:阿鬼
酷安by:阿鬼不吃鱼
qq频道(阅读|一程书友会)by:꧁阿鬼꧂—不是大佬不会js
关键字:阿鬼

(ps.阿鬼是非色不写)

二维码导入
{
    "bookSourceComment": "\/\/❗免责声明:  \n本工具\/代码\/内容仅供学习交流使用,严禁用于任何非法用途。使用者应严格遵守所在国家或地区的法律法规,任何因滥用或违规使用导致的后果均与开发者\/提供者无关,责任自负❗",
    "bookSourceGroup": "🔞",
    "bookSourceName": "夜读阁",
    "bookSourceType": 0,
    "bookSourceUrl": "https:\/\/www.yeduge.com",
    "customOrder": 19,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "@js:\nfunction getCategories() {\n    \/\/ 获取标签分类\n    let tagHtml = java.ajax(\"https:\/\/www.yeduge.com\/tags\/\");\n    let tagDoc = org.jsoup.Jsoup.parse(tagHtml);\n    let tagList = tagDoc.select(\".tag-list li a\");\n    \n    let tags = Array.from(tagList, (a) => ({\n        \"title\": a.ownText().trim(),\n        \"url\": a.attr(\"href\") + \"{{page}}.html\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.25\n        }\n    }));\n\n    \/\/ 获取分类目录\n    let catHtml = java.ajax(\"https:\/\/www.yeduge.com\/categories\/\");\n    let catDoc = org.jsoup.Jsoup.parse(catHtml);\n    let catList = catDoc.select(\".category-list li a\");\n    \n    let categories = Array.from(catList, (a) => ({\n        \"title\": a.ownText().trim(),\n        \"url\": a.attr(\"href\") + \"?page={{page}}\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.25\n        }\n    }));\n\n    \/\/ 添加完本小说和热门小说\n    let additionalCategories = [\n        {\n            \"title\": \"完本小说\",\n            \"url\": \"https:\/\/www.yeduge.com\/rank\/complete\/{{page}}.html\",\n            \"style\": {\n                \"layout_flexGrow\": 1,\n                \"layout_flexBasisPercent\": 0.25\n            }\n        },\n        {\n            \"title\": \"热门小说\",\n            \"url\": \"https:\/\/www.yeduge.com\/rank\/hot\/{{page}}.html\",\n            \"style\": {\n                \"layout_flexGrow\": 1,\n                \"layout_flexBasisPercent\": 0.25\n            }\n        }\n    ];\n\n    \/\/ 合并所有数组\n    let allCategories = tags.concat(categories, additionalCategories);\n    \n    return JSON.stringify(allCategories);\n}\n\n\/\/ 执行并返回结果\ngetCategories();",
    "lastUpdateTime": "1756461670216",
    "loginUi": "[\n    {\n    \t\"name\": \"账号\", \n    \t\"type\": \"text\"\n    \t},\n    {\n    \t\"name\": \"密码\", \n    \"type\": \"text\"\n    }\n]",
    "loginUrl": "function login() {\n    try {\n        var url = baseUrl.replace(\/\\\/+$\/, '').replace(\/[^\\w.:\/-]\/g, '');\n        var ur = source.getLoginInfoMap();\n        var params = `username=${ur.get(\"账号\")}&password=${ur.get(\"密码\")}`;\n        var r = java.post(`${url}\/api\/login.php`, params, {\"method\": \"POST\"});\n\n        \/\/ 解析响应体\n        var resp = JSON.parse(r.body());\n        \n        \/\/ 处理登录结果\n        if (resp.success) {\n            const cookies = Array.from(r.cookies(), \n    ([k, v]) => `${k}=${v}`).join(';');\n            return source.putLoginHeader(JSON.stringify({Cookie: cookies}));\n        } else {\n            throw new Error(`登录失败: ${resp.message || '未知错误'}`);\n        }\n    } catch (e) {\n        java.log(`登录异常: ${e.message}\\n请求参数: ${params}`);\n        throw e;\n    }\n}",
    "respondTime": 180000,
    "ruleBookInfo": {
        "author": "p.0@text",
        "coverUrl": ".cover.0@img@src",
        "intro": ".desc@text",
        "kind": "p.1@text&&p.2:3@a@text##状态:",
        "name": "h1@text"
    },
    "ruleContent": {
        "content": ".content@html"
    },
    "ruleExplore": {
        "author": "span.0@text",
        "bookList": ".novel-list@a",
        "bookUrl": "a@href",
        "coverUrl": "img.0@data-src",
        "name": "h4.0@text"
    },
    "ruleSearch": {
        "author": "span@text",
        "bookList": ".novel-item",
        "bookUrl": "a@href",
        "coverUrl": "img@data-src",
        "intro": "p@text",
        "name": "a@text"
    },
    "ruleToc": {
        "chapterList": ".chapter-list@a",
        "chapterName": "text",
        "chapterUrl": "href"
    },
    "searchUrl": "\/search\/?q={{key}}&page={{page}}",
    "weight": 0
}
广告