BBQQGG

https://www.bbqqgg.com

directly-good (14026)06/25 00:39

那个目录的搞好了
二维码导入
{
    "bookSourceComment": "\/\/❗免责声明:\n本工具\/代码\/内容仅供学习交流使用,严禁用于任何非法用途。使用者应严格遵守所在国家或地区的法律法规,任何因滥用或违规使用导致的后果均与开发者\/提供者无关,责任自负❗",
    "bookSourceGroup": "🔞",
    "bookSourceName": "BBQQGG",
    "bookSourceType": 0,
    "bookSourceUrl": "https:\/\/www.bbqqgg.com",
    "customButton": false,
    "customOrder": 13,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "eventListener": false,
    "exploreUrl": "@js:\nfunction getCategories() {\n  let tagHtml = java.ajax(\"https:\/\/www.bbqqgg.com\/tags\/\");\n  let tagDoc = org.jsoup.Jsoup.parse(tagHtml);\n  let tagList = tagDoc.select(\".tag-list li a\");\n  let tags = Array.from(tagList, (a) => ({\n    \"title\": a.ownText().trim(),\n    \"url\": a.attr(\"href\") + \"{{page}}.html\",\n    \"style\": { \"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25 }\n  }));\n  let catHtml = java.ajax(\"https:\/\/www.bbqqgg.com\/categories\/\");\n  let catDoc = org.jsoup.Jsoup.parse(catHtml);\n  let catList = catDoc.select(\".category-list li a\");\n  let categories = Array.from(catList, (a) => ({\n    \"title\": a.ownText().trim(),\n    \"url\": a.attr(\"href\") + \"?page={{page}}\",\n    \"style\": { \"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25 }\n  }));\n  let additionalCategories = [\n    { \"title\": \"完本小说\", \"url\": \"https:\/\/www.bbqqgg.com\/rank\/complete\/{{page}}.html\", \"style\": { \"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25 } },\n    { \"title\": \"热门小说\", \"url\": \"https:\/\/www.bbqqgg.com\/rank\/hot\/{{page}}.html\", \"style\": { \"layout_flexGrow\": 1, \"layout_flexBasisPercent\": 0.25 } }\n  ];\n  let allCategories = tags.concat(categories, additionalCategories);\n  return JSON.stringify(allCategories);\n}\ngetCategories();",
    "lastUpdateTime": "1782319140328",
    "loginUi": "[\n  { \"name\": \"账号\", \"type\": \"text\" },\n  { \"name\": \"密码\", \"type\": \"text\" }\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    var resp = JSON.parse(r.body());\n    if (resp.success) {\n      const cookies = Array.from(r.cookies(), ([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    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",
        "tocUrl": "text.章节目录@href"
    },
    "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",
        "checkKeyWord": "重生",
        "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
}
广告