🄼黄金屋 -
https://www.huangjinwu.org/
ycbsteamed-buns (14809)10/05 17:19
修复目录只显示100章
{
"bookSourceComment": "📖 🄼黄金屋 | huangjinwu.org \nby 酷安陳零",
"bookSourceGroup": "自制",
"bookSourceName": "🄼黄金屋 -",
"bookSourceType": 0,
"bookSourceUrl": "https:\/\/www.huangjinwu.org\/",
"customButton": false,
"customOrder": 0,
"enabled": true,
"enabledCookieJar": true,
"enabledExplore": true,
"eventListener": false,
"exploreUrl": "@js:s=[];push=(a,b,d)=>s.push({title:a,url:b,style:{layout_flexBasisPercent:1\/d-.05,layout_flexGrow:1}});push(\"排行榜\",null,1);[[\"总点击\",\"allvisit\"],[\"月点击\",\"monthvisit\"],[\"周点击\",\"weekvisit\"],[\"总推荐\",\"allvote\"],[\"月推荐\",\"monthvote\"],[\"周推荐\",\"weekvote\"],[\"收藏榜\",\"goodnum\"],[\"字数榜\",\"size\"],[\"新书榜\",\"postdate\"]].map(([s,r])=>push(s,`\/rank\/${r}\/{{page}}.html`,3));push(\"分类\",null,1);[\"玄幻小说\",\"仙侠小说\",\"都市小说\",\"历史小说\",\"网游小说\",\"科幻小说\",\"灵异小说\",\"言情小说\",\"其他小说\"].map((s,i)=>push(s,`\/list\/${i+1}\/{{page}}.html`,3));push(\"标签\",null,1);[[\"生活\",\"16\"],[\"废土\",\"13162\"],[\"空间\",\"83\"],[\"修仙\",\"37\"],[\"高武\",\"82\"],[\"科幻\",\"39\"],[\"重生\",\"46\"],[\"娱乐\",\"41\"],[\"东方\",\"2\"],[\"诸天\",\"17\"],[\"言情\",\"56\"],[\"穿越\",\"4\"],[\"玄幻\",\"1\"],[\"系统流\",\"112\"],[\"末世\",\"49\"],[\"都市\",\"7\"],[\"异界\",\"15\"],[\"世界\",\"76\"],[\"仙侠\",\"23\"],[\"游戏\",\"14\"]].map(([s,r])=>push(s,`\/tag\/${r}\/{{page}}.html`,4));JSON.stringify(s);",
"header": "{\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 13; Pixel 7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/142.0.0.0 Mobile Safari\/537.36\"}",
"jsLib": "var HJ_B='https:\/\/www.huangjinwu.org';\n\/\/ 挑战页检测+过盾:挑战JS仅种 __sc_clearance=1(1800s) 后刷新,无计算 → 种cookie重抓即可\nfunction hjPass(h, url){\n try{\n h=String(h==null?'':h);\n if(h.indexOf('__sc_clearance')>=0||h.indexOf('正在检查您的浏览器')>=0){\n try{cookie.setCookie(url,'__sc_clearance=1')}catch(e0){}\n try{cookie.setCookie(HJ_B,'__sc_clearance=1')}catch(e0b){}\n var h2='';\n try{h2=String(java.ajax(url))}catch(e1){}\n return h2===''?h:h2;\n }\n }catch(e){}\n return h;\n}",
"lastUpdateTime": "1791191950582",
"respondTime": 180000,
"ruleBookInfo": {
"author": "@js:JSON.parse(result).author",
"coverUrl": "@js:JSON.parse(result).coverUrl",
"init": "<js>\n(function(){\nvar h=String(result==null?'':result);\nvar re=\/property=\"(og[^\"]*)\"\\s+content=\"([^\"]*)\"\/g,mm,ogm={};\nwhile((mm=re.exec(h))!==null){if(!ogm[mm[1]])ogm[mm[1]]=mm[2]}\nfunction og(k){return ogm['og:novel:'+k]||ogm['og:'+k]||''}\nvar name=og('book_name'),author=og('author'),cat=og('category'),st=og('status');\nvar upd=og('update_time'),last=og('latest_chapter_name'),intro=og('description');\nvar cover=ogm['og:image']||'';\ntry{\n source.put('hjName',name);source.put('hjAuthor',author);source.put('hjCover',cover);\n source.put('hjIntro',intro);source.put('hjUpd',upd);source.put('hjLast',last);\n source.put('hjKind',cat);source.put('hjStatus',st);\n}catch(e0){}\nreturn JSON.stringify({'name':name,'author':author,'kind':cat+(st?'·'+st:''),'coverUrl':cover,'lastChapter':last});\n})()\n<\/js>",
"intro": "<useweb>\n<div style=\"background:linear-gradient(135deg,#db2777 0%,#f472b6 60%,#fbcfe8 100%);padding:22px 16px 90px;text-align:center;\">\n <div style=\"width:64px;height:64px;margin:0 auto 10px;border-radius:50%;background:rgba(255,255,255,0.25);display:flex;align-items:center;justify-content:center;font-size:30px;\">📖<\/div>\n <div style=\"font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;\">{{source.get('hjName')}}<\/div>\n <div style=\"margin-top:6px;font-size:13px;color:rgba(255,255,255,0.92);\">文 · 黄金屋<\/div>\n<\/div>\n<div style=\"margin:-70px 12px 0;background:#fff;border-radius:14px;box-shadow:0 3px 14px rgba(219,39,119,0.18);padding:14px;position:relative;\">\n <div style=\"display:flex;align-items:flex-start;gap:12px;\">\n <img src=\"{{source.get('hjCover')}}\" style=\"width:96px;border-radius:8px;box-shadow:0 2px 8px rgba(157,23,77,0.25);\" onerror=\"this.style.display='none'\"\/>\n <div style=\"flex:1;min-width:0;\">\n <div style=\"font-size:16px;font-weight:700;color:#9d174d;margin-bottom:6px;\">{{source.get('hjName')}}<\/div>\n <div style=\"font-size:12px;color:#6b7280;margin-bottom:4px;\">✍️ {{source.get('hjAuthor')}}<\/div>\n <div style=\"margin-bottom:4px;\"><span style=\"display:inline-block;background:#fce7f3;color:#be185d;font-size:11px;padding:2px 8px;border-radius:10px;\">{{source.get('hjKind')}}<\/span><span style=\"display:inline-block;background:#fce7f3;color:#be185d;font-size:11px;padding:2px 8px;border-radius:10px;margin-left:6px;\">{{source.get('hjStatus')}}<\/span><\/div>\n <div style=\"font-size:11px;color:#db2777;background:#fdf2f8;border-left:3px solid #f472b6;padding:5px 8px;border-radius:0 8px 8px 0;\">🕐 更新:{{source.get('hjUpd')}}<br\/>🔔 最新:{{source.get('hjLast')}}<\/div>\n <\/div>\n <\/div>\n<\/div>\n<div style=\"margin:12px;background:#fff;border-radius:14px;box-shadow:0 3px 14px rgba(219,39,119,0.12);padding:14px;\">\n <div style=\"font-size:14px;font-weight:700;color:#9d174d;margin-bottom:8px;\">💌 简介<\/div>\n <div style=\"font-size:13px;color:#4b5563;line-height:1.8;\">{{source.get('hjIntro') || '暂无简介'}}<\/div>\n<\/div>\n<div style=\"text-align:center;font-size:11px;color:#f9a8d4;padding:6px 0 18px;\">— 黄金屋 · 阅读真源 —<\/div>\n<\/useweb>",
"kind": "@js:JSON.parse(result).kind",
"lastChapter": "@js:JSON.parse(result).lastChapter",
"name": "@js:JSON.parse(result).name"
},
"ruleContent": {
"content": "#readerContent@p@text",
"nextContentUrl": "small@text##(\\d+)\\)$##$1###\n<js>\nArray.from(\n { length: Number(result[0]) - 1 },\n (_, i) => baseUrl.replace(\/\\\/?$\/g, '\/' + (i + 2) + '.html')\n)\n<\/js>"
},
"ruleExplore": {},
"ruleSearch": {
"author": "@js:JSON.parse(result).author",
"bookList": "<js>\n(function(){\nvar S=function(x){try{return String(x==null?'':x)}catch(e){return ''}};\nvar h=S(result);\nvar chal=h.indexOf('__sc_clearance')>=0||h.indexOf('正在检查您的浏览器')>=0;\nif(chal){\n try{cookie.setCookie(baseUrl,'__sc_clearance=1')}catch(e0){}\n var h2=S(java.ajax(baseUrl));\n if(h2!=='')h=h2;\n}\nvar doc=org.jsoup.Jsoup.parse(h,'https:\/\/www.huangjinwu.org\/');\nvar es=doc.select('a.book-card[href^=\/novel]');\nvar out=[],seen={};\nfor(var i=0;i<es.size();i++){\n var e=es.get(i);\n var u=S(e.attr('abs:href'));\n if(!u||seen[u])continue;\n seen[u]=1;\n var t=S(e.select('.book-title').first()==null?'':e.select('.book-title').first().text());\n var au=S(e.select('.book-author').first()==null?'':e.select('.book-author').first().text()).replace(\/^\\s*作者:\/,'').trim();\n var d=S(e.select('.book-desc').first()==null?'':e.select('.book-desc').first().text());\n var ki='',ws='';\n var ms=e.select('.book-badge');\n for(var k=0;k<ms.size();k++){\n var v=S(ms.get(k).text());\n var cls=S(ms.get(k).attr('class'));\n if(cls.indexOf('category')>=0)ki=v;\n else if(cls.indexOf('status')>=0)ki=(ki?ki+'·':'')+v;\n else if(cls.indexOf('words')>=0)ws=v;\n }\n if(ws)ki+=(ki?'·':'')+ws;\n var n='',p='0';\n var mn=\/(\\d+)\\D*$\/.exec(u);\n if(mn){n=mn[1];p=n.length>3?n.slice(0,-3):'0'}\n var cv=HJ_B+'\/book\/files\/article\/image\/'+p+'\/'+n+'\/'+n+'s.jpg';\n out.push(JSON.stringify({'name':t,'author':au,'kind':ki,'intro':d,'coverUrl':cv,'url':u}));\n}\nif(out.length===0){try{java.toast('黄金屋搜索0条:len='+h.length+' chal='+chal+' card='+(h.indexOf('book-card')>=0))}catch(e){}}\nreturn out;\n})()\n<\/js>",
"bookUrl": "@js:JSON.parse(result).url",
"checkKeyWord": "明克街",
"coverUrl": "@js:JSON.parse(result).coverUrl",
"intro": "@js:JSON.parse(result).intro",
"kind": "@js:JSON.parse(result).kind",
"name": "@js:JSON.parse(result).name"
},
"ruleToc": {
"chapterList": "<js>\nvar base=String(baseUrl);\nvar m=base.match(\/\\\/novel\\\/(\\d+)\/);\nif(!m){'';}else{\nvar bid=m[1];\nvar root='https:\/\/www.huangjinwu.org\/novel\/'+bid+'\/';\nfunction parseSeg(seg){\n var r='';\n var re=\/<li class=\"chapter-item\"><a href=\"(\\\/novel\\\/\\d+\\\/\\d+)\"[^>]*>([^<]+)<\\\/a>\/g,mm;\n while((mm=re.exec(seg))!==null){r+='<a href=\"'+mm[1]+'\">'+mm[2]+'<\/a>';}\n return r;\n}\nvar all=String(result);\nvar idx=all.indexOf('章节目录');\nvar seg=idx>=0?all.substring(idx):all;\nvar pages=1;\nvar pm=all.match(\/\\\/novel\\\/\\d+\\\/(\\d+)\\.html\"[^>]*>末页\/);\nif(pm){pages=parseInt(pm[1],10);}\nvar out=parseSeg(seg);\nfor(var i=2;i<=pages;i++){\n try{\n var ph=String(java.ajax(root+i+'.html'));\n var pi=ph.indexOf('章节目录');\n var ps=pi>=0?ph.substring(pi):ph;\n out+=parseSeg(ps);\n }catch(e){}\n}\nout;\n}\n<\/js>a",
"chapterName": "text",
"chapterUrl": "href"
},
"searchUrl": "\/search?keyword={{key}}",
"weight": 0
}