海棠搜书🔞蓝海搜书
https://www.lanlanbo.com
xutongxue233 (14152)7天前
本次修复:
1. 修复详情页目录入口:data-cata 实际为蓝海中转 /redirect/.../?u=真实目录地址,现直接解出 u 参数里的真实目录 URL,避免目录和章节落到中转域导致加载失败。
2. 修复目录章节 URL:目录页章节真实链接在 a 标签的 data-* Base64 字段中,规则会解码真实章节页,并按 li 隐藏序号排序。
3. 修复正文为空:正文改为先用 class.RBGsectionThree-content@html 定位正文容器,再清理标签、Loading、未加载完、收藏网址等提示文字,避免旧整页解密/正则规则在阅读内返回空。
4. 已用真实链路验证:详情页可解析真实目录,目录可解析真实章节页,章节页正文可正常提取。
{
"bookSourceComment": "\/\/修复目录:详情页取 data-cata;目录页按 li 的隐藏序号排序,并解码 a 的 Base64 链接\nhttps:\/\/www.lanlanbo.com\nhttps:\/\/www.gosealib.com\/\nhttps:\/\/www.haitangss.com\/\nhttps:\/\/www.sadseas.com\/",
"bookSourceGroup": "",
"bookSourceName": "海棠搜书🔞蓝海搜书",
"bookSourceType": 0,
"bookSourceUrl": "https:\/\/www.lanlanbo.com",
"customButton": false,
"customOrder": -1,
"enabled": true,
"enabledCookieJar": false,
"enabledExplore": true,
"eventListener": false,
"exploreUrl": "言情::\/s\/new\/言情\/{{page}}\/\n耽美::\/s\/耽美\/{{page}}\/\n同人::\/s\/同人\/{{page}}\/\n综合::\/s\/综合\/{{page}}\/\nP018::\/s\/new\/PO18\/{{page}}\/\n都市::\/s\/都市\/{{page}}\/\n现言::\/s\/现言\/{{page}}\/\n古言::\/s\/new\/古言\/{{page}}\/\n轻小说::\/s\/轻小说\/{{page}}\/\n原创::\/s\/原创小说\/{{page}}\/\n科幻::\/s\/科幻\/{{page}}\/\n仙侠::\/s\/仙侠\/{{page}}\/\n奇幻::\/s\/奇幻\/{{page}}\/\n玄幻::\/s\/玄幻\/{{page}}\/\n衍生::\/s\/同人衍生\/{{page}}\/\n古代::\/s\/古代\/{{page}}\/\n现代::\/s\/现代\/{{page}}\/\n男性::\/s\/男男\/{{page}}\/\n女性::\/s\/女女\/{{page}}\/\n励志::\/s\/励志\/{{page}}\/\n清水::\/s\/清水\/{{page}}\/\n甜文::\/s\/甜文\/{{page}}\/\n校园::\/s\/校园\/{{page}}\/\n职场::\/s\/职场\/{{page}}\/\n种田::\/s\/种田\/{{page}}\/\n年下::\/s\/年下\/{{page}}\/\nABO::\/s\/ABO\/{{page}}\/\n1V1::\/s\/1V1\/{{page}}\/\n腹黑::\/s\/腹黑\/{{page}}\/\nNP::\/s\/new\/NP\/{{page}}\/\n美人::\/s\/美人\/{{page}}\/\nBL::\/s\/BL\/{{page}}\/\n情欲::\/s\/情欲\/{{page}}\/\n百合::\/s\/百合\/{{page}}\/\n强强::\/s\/强强\/{{page}}\/\n爽文::\/s\/爽文\/{{page}}\/\n狗血::\/s\/狗血\/{{page}}\/\n娱乐圈::\/s\/娱乐圈\/{{page}}\/\n快穿::\/s\/快穿\/{{page}}\/",
"header": "{\n \"User-Agent\": \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/92.0.4515.107 Safari\/537.36\"\n}",
"lastUpdateTime": "1783407901198",
"respondTime": 180000,
"ruleBookInfo": {
"author": ".b@text",
"coverUrl": "class.BGsectionOne-top-left@img@src",
"intro": "id.intro@html",
"kind": ".category@a@text",
"lastChapter": "class.newestChapter@a@text",
"name": ".title@text",
"tocUrl": "@js:(function(){var s=String(result);var m=s.match(\/data-cata=[\"']([^\"']+)[\"']\/);if(!m)return '';var u=m[1].replace(\/&\/g,'&');var q=u.match(\/[?&]u=([^&]+)\/);if(q){try{return decodeURIComponent(q[1]);}catch(e){return q[1];}}if(\/^https?:\/i.test(u))return u;if(\/^\\\/\\\/\/.test(u))return 'https:'+u;var b=typeof baseUrl!='undefined'?String(baseUrl):'https:\/\/www.lanlanbo.com';var h=b.match(\/^(https?:\\\/\\\/[^\\\/]+)\/i);return (h?h[1]:'https:\/\/www.lanlanbo.com')+u;})()"
},
"ruleContent": {
"content": "class.RBGsectionThree-content@html@js:(function(){var s=String(result);s=s.replace(\/<script[\\s\\S]*?<\\\/script>\/gi,'').replace(\/<style[\\s\\S]*?<\\\/style>\/gi,'');s=s.replace(\/<br\\s*\\\/?\\s*>\/gi,'\\n').replace(\/<\\\/p>\/gi,'\\n').replace(\/<[^>]+>\/g,'');s=s.replace(\/ | \/g,' ').replace(\/<\/g,'<').replace(\/>\/g,'>').replace(\/"\/g,'\"').replace(\/'|'\/g,\"'\").replace(\/&\/g,'&');s=s.replace(\/Loading[\\s\\S]*\/,'').replace(\/未加载完[\\s\\S]*\/,'').replace(\/移动流量[\\s\\S]*\/,'').replace(\/收藏网址[\\s\\S]*\/,'').replace(\/www\\.[^\\n]*\/g,'').replace(\/[((]>人<;?[))]\/g,'');return s.replace(\/\\r\/g,'').replace(\/[ \\t]+\\n\/g,'\\n').replace(\/\\n{3,}\/g,'\\n\\n').trim();})()"
},
"ruleExplore": {},
"ruleSearch": {
"author": "span[1]@a@title",
"bookList": ".SHsectionThree-middle>p:nth-child(even)",
"bookUrl": "span[0]@a@href",
"checkKeyWord": "",
"intro": "",
"kind": "span[2]@a@title",
"name": "span[0]@a@title"
},
"ruleToc": {
"chapterList": "+@js:(function(){var h=String(result),r=\/<li[^>]*class=[\"'][^\"']*BCsectionTwo-top-chapter[^\"']*[\"'][^>]*>[\\s\\S]*?<\\\/li>\/gi,m,o=[],idx=0;while((m=r.exec(h))){var x=m[0],li=(x.match(\/^<li[^>]*>\/i)||[''])[0],ns=[],mm,nr=\/data-[^=]+=[\"'](\\d+)[\"']\/g;while((mm=nr.exec(li)))ns.push(parseInt(mm[1]));var ord=ns.length?ns[ns.length-1]:idx;o.push({html:x,order:ord,idx:idx});idx++;}o.sort(function(a,b){return a.order===b.order?a.idx-b.idx:a.order-b.order});var out=typeof Packages!='undefined'?new Packages.java.util.ArrayList():[];for(var i=0;i<o.length;i++){out.add?out.add(o[i].html):out.push(o[i].html);}return out;})()",
"chapterName": "@js:(function(){function e(s){return String(s||'').replace(\/&\/g,'&').replace(\/"\/g,'\\\"').replace(\/'\/g,\"'\").replace(\/<\/g,'<').replace(\/>\/g,'>');}var s=String(result),a=(s.match(\/<a[\\s\\S]*?>\/i)||[''])[0],m,ar=\/data-[^=]+=[\"']([^\"']*)[\"']\/g;while((m=ar.exec(a))){var v=e(m[1]);if(v&&!\/^[A-Za-z0-9+\\\/]+={0,2}$\/.test(v)&&!\/^\\d+$\/.test(v))return v;}m=s.match(\/<a[\\s\\S]*?>([\\s\\S]*?)<\\\/a>\/i);return m?e(m[1].replace(\/<[^>]+>\/g,'').replace(\/\\s+\/g,' ').trim()):'';})()",
"chapterUrl": "@js:(function(){function e(s){return String(s||'').replace(\/&\/g,'&').replace(\/"\/g,'\\\"').replace(\/'\/g,\"'\").replace(\/<\/g,'<').replace(\/>\/g,'>');}function a(u,b){u=e(u);if(\/^https?:\\\/\\\/\/i.test(u))return u;if(\/^\\\/\\\/\/.test(u))return (String(b).match(\/^(https?:)\/i)||['https:'])[1]+u;var h=String(b||'').match(\/^(https?:\\\/\\\/[^\\\/]+)\/i);if(u.charAt(0)=='\/')return h?h[1]+u:u;return String(b||'').replace(\/[?#].*$\/,'').replace(\/\\\/[^\\\/]*$\/,'\/')+u;}var s=String(result),b=typeof baseUrl!='undefined'?String(baseUrl):'',at=(s.match(\/<a[\\s\\S]*?>\/i)||[''])[0],m,ar=\/data-[^=]+=[\"']([^\"']*)[\"']\/g;while((m=ar.exec(at))){var v=e(m[1]);if(\/^[A-Za-z0-9+\\\/]+={0,2}$\/.test(v)){try{var d=String(java.base64Decode(v));if(d&&\/\\.html?(?:$|[?#])\/.test(d))return a(d,b);}catch(err){}}}m=at.match(\/href=[\"']([^\"']+)[\"']\/i);return m?a(m[1],b):'';})()",
"nextTocUrl": "@js:(function(){function e(s){return String(s||'').replace(\/&\/g,'&').replace(\/"\/g,'\"').replace(\/'\/g,\"'\").replace(\/<\/g,'<').replace(\/>\/g,'>');}function a(u,b){u=e(u);if(!u)return '';if(\/^https?:\\\/\\\/\/i.test(u))return u;if(\/^\\\/\\\/\/.test(u))return (String(b).match(\/^(https?:)\/i)||['https:'])[1]+u;var h=String(b||'').match(\/^(https?:\\\/\\\/[^\\\/]+)\/i);if(u.charAt(0)=='\/')return h?h[1]+u:u;return String(b||'').replace(\/[?#].*$\/,'').replace(\/\\\/[^\\\/]*$\/,'\/')+u;}var h=String(result),cm=h.match(\/<link[^>]+rel=[\"']canonical[\"'][^>]+href=[\"']([^\"']+)\/i)||h.match(\/<link[^>]+href=[\"']([^\"']+)[\"'][^>]+rel=[\"']canonical\/i),b=cm?cm[1]:(typeof baseUrl!='undefined'?String(baseUrl):''),m=h.match(\/<a[^>]+href=[\"']([^\"']+)[\"'][^>]*id=[\"']next[\"'][^>]*>\/i)||h.match(\/<a[^>]+id=[\"']next[\"'][^>]*href=[\"']([^\"']+)[\"'][^>]*>\/i);return m?a(m[1],b):'';})()"
},
"searchUrl": "\/s\/{{key}}\/{{page}}\/",
"weight": 0
}