媚色MM
https://mmrgb.com/
jianghubailei (2226)21小时前
修复发现分类,原来用的字符串分割,不严谨,会出现undefined,现改成jsoup获取
{
"bookSourceComment": "秀人写真",
"bookSourceGroup": "🔞图片",
"bookSourceName": "媚色MM",
"bookSourceType": 2,
"bookSourceUrl": "https:\/\/mmrgb.com\/",
"concurrentRate": "1000",
"customButton": false,
"customOrder": 1,
"enabled": true,
"enabledCookieJar": true,
"enabledExplore": true,
"eventListener": true,
"exploreUrl": "@js:\nconst list = [];\nconst push = (title, url, size) => list.push({\n title: title,\n url: url,\n style: {layout_flexBasisPercent: size}\n});\n\nconst xiuren = [[\"秀人网\",\"2\"],[\"美媛馆\",\"5\"],[\"波萝社\",\"7\"],[\"魅妍社\",\"4\"],[\"模范学院\",\"3\"],[\"优星馆\",\"9\"],[\"爱蜜社\",\"6\"],[\"嗲囡囡\",\"11\"],[\"顽味生活\",\"13\"],[\"蜜桃社\",\"10\"],[\"尤物馆\",\"8\"],[\"影私荟\",\"12\"],[\"星乐园\",\"14\"],[\"花の颜\",\"15\"],[\"薄荷叶\",\"17\"],[\"御女郎\",\"16\"],[\"糖果画报\",\"19\"],[\"尤蜜荟\",\"18\"],[\"模特联盟\",\"20\"],[\"猫萌榜\",\"21\"],[\"花漾show\",\"22\"],[\"星颜社\",\"23\"],[\"语画界\",\"24\"]];\nconst defaultTPL = \"\/forum-$id-{{page}}.html\";\n\nconst orderMap = [[\"默认\"],[\"最新\",\"lastpost\"],[\"推荐\",\"heats\"],[\"月榜\",\"views\",\"2592000\"],[\"年榜\",\"views\",\"31536000\"],[\"总榜\",\"views\"]]\nconst orderTPL = \"\/forum.php?mod=forumdisplay&fid=$id&filter=reply&orderby=$orderby&dateline=$dateline&page={{page}}\";\n\nconst chars = orderMap.map(x=>x[0]);\nlist.push({\n \"title\": \"排序\",\n \"type\": \"select\",\n \"action\": \"java.refreshExplore()\",\n \"chars\": chars,\n \"default\": chars[0],\n \"style\": {\"layout_flexBasisPercent\": 1}\n});\nconst order = String(infoMap.get(\"排序\") || \"默认\");\nconst orderItem = orderMap.find(x => x[0] == order);\nconst [ , orderby, dateline] = orderItem;\n\nxiuren.forEach(([title, id]) => {\n let url = dateline ? orderTPL.replace(\"$dateline\", dateline).replace(\"$orderby\", orderby).replace(\"$id\", id) : orderby ? orderTPL.replace(\"&dateline=$dateline\", \"\").replace(\"$orderby\", orderby).replace(\"$id\", id) : defaultTPL.replace(\"$id\", id);\n push(title, url, 0.22)\n})\n\ninfoMap.save();\nJSON.stringify(list)",
"header": "{\n \"User-Agent\": \"Mozilla\/5.0 (Linux; U; Android 9; zh-cn; MIX 2S Build\/PKQ1.180729.001) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/100.0.4896.127 Mobile Safari\/537.36 XiaoMi\/MiuiBrowser\/16.7.35 swan-mibrowser\",\n \"Referer\": \"https:\/\/mmrgb.com\/\"\n}",
"lastUpdateTime": "1792747139420",
"loginCheckJs": "let url = result.url();\nlet body = result.body();\nif(body.contains(\"Just a moment...\")){\n cookie.removeCookie(url);\n result = java.startBrowserAwait(url, \"CF验证\")\n}\nresult",
"loginUrl": "\/",
"respondTime": 180000,
"ruleBookInfo": {
"kind": "@js:\nlet els = java.getElements(\".ptg.mbm.mtn a\");\ncache.putMemory(\"mmrgb\", els.outerHtml());\nlet tags = String(book.kind || '').split(\",\");\nels.forEach(a => tags.push(''+a.text().trim()));\nArray.from(new Set(tags))",
"name": "table.0@td@text"
},
"ruleContent": {
"callBackJs": "let tags = cache.getFromMemory(\"mmrgb\");\nlet doc = org.jsoup.Jsoup.parse(tags);\nlet url = \"\";\nlet tagsEl = doc.select(\"a\");\nfor(let i = 0; i < tagsEl.size(); i++){\n let a = tagsEl.get(i);\n if(a.text().trim() == result) {\n url = String(a.attr(\"href\") || url);\n break;\n }\n};\n\nif(event == \"clickBookLabel\"){\n if(url){\n java.open(\"explore\", url, result)\n };\n true\n}",
"content": ".savephotop > img@zoomfile@js:\nresult.split(\"\\n\")\n.map(x => `<img src=\"${x}\">`)\n.join(\"\\n\")"
},
"ruleExplore": {
"author": "p@ownText##^.*?(?:No|Vol)\\.\\d+",
"bookList": ".cards > .card",
"bookUrl": "a@href",
"coverUrl": "[ui8-image]@ui8-image",
"kind": "@js:\nvar viewCount = result.selectFirst(\"i.fa-eye\");\nviewCount = viewCount != null ? viewCount.nextSibling().text().trim() : \"0\";\n\nvar starCount = result.selectFirst(\"i.fa-star\");\nstarCount = starCount != null ? starCount.nextSibling().text().trim() : \"0\";\n\nvar output = [\n \"👁 \" + viewCount,\n \"⭐ \" + starCount\n];\n\noutput;",
"name": "p@ownText##^[^\\[]+"
},
"ruleSearch": {},
"ruleToc": {
"chapterList": "table.0",
"chapterName": "text"
},
"weight": 0
}