Java cli & content-export repository by @freeok. Model Context Protocol (MCP) server & tools with 7.1k stars.
[
{
"url": "https://www.wxsy.net/",
"name": "顶点小说",
"comment": "搜索有cf,搜索、详情、章节限流。目录乱序、正文段落被base64编码",
"search": {
"url": "https://www.wxsy.net/search.html",
"method": "post",
"data": "{s: %s}",
"result": "body > div.container > div:nth-child(1) > div > ul > li",
"bookName": "span.s2 > a",
"author": "span.s3 > a",
"category": "span.s1",
"latestChapter": "span.s4 > a",
"lastUpdateTime": "span.s5"
},
"book": {
"url": "https://www.wxsy.net/novel/(.*?)/",
"coverUrl": ".imgbox > img"
},
"toc": {
"url": "https://www.wxsy.net/novel/%s/chapter_1.html",
"list": "/html@js:const childRegex=/\\.section-list\\.ycxsid>li:nth-child\\(\\d+\\){display:none}/g;const lastChildRegex=/\\.section-list\\.ycxsid>li:nth-last-child\\(\\d+\\){display:none}/g;const preHiddenCount=[...r.matchAll(childRegex)].length;const afterHiddenCount=[...r.matchAll(lastChildRegex)].length;r=r.replace(/<ul[^>]*class=\"[^\"]*\\bsection-list\\b[^\"]*\\bycxsid\\b[^\"]*\"[^>]*>([\\s\\S]*?)<\\/ul>/g,(match,liContent)=>{const lis=liContent.match(/<li[\\s\\S]*?<\\/li>/g)||[];const newLis=lis.slice(preHiddenCount,lis.length-afterHiddenCount);return match.replace(liContent,newLis.join(''))});",
"item": ".biqunaicc > div:nth-child(2) > div > ul > li > a",
"nextPage": ".biqunaicc > div:nth-child(2) > div > div:nth-child(2) > select > option"
},
"chapter": {
"title": "h3",
"content": ".row-detail > div > div@js:r=r.replace(/<script>\\s*document\\.writeln\\(qsbs\\.bb\\('([^']+)'\\)\\);\\s*<\\/script>/g,function(a,b){return b});@java:base64.decode()",
"paragraphTagClosed": true,
"filterTxt": "请勿开启浏览器阅读模式,否则将导致章节内容缺失及无法阅读下一章。|\\(本章完\\)",
"filterTag": "h3, div, p[style=font-size:12px;]",
"nextPage": ".row.row-detail > div > div > div:nth-child(2) > a:nth-child(4)"
}
},
{
"url": "http://www.xhytd.com/",
"name": "黄易天地",
"comment": "非大陆IP可能速度较慢",
"search": {
"disabled": true,
"url": "http://www.xhytd.com/search.html?name=%s",
"method": "get",
"result": "#main > div.novelslist2 > ul > li",
"bookName": "span.s2.wid > a",
"author": "span.s4.wid > a",
"latestChapter": "span.s3.wid3 > a",
"lastUpdateTime": "span.s6.wid6"
},
"book": {},
"toc": {
"item": "#list > dl > dt:nth-of-type(2) ~ dd > a"
},
"chapter": {
"title": "h1",
"content": "#content",
"paragraphTagClosed": false,
"paragraphTag": "<br>+",
"filterTxt": "",
"filterTag": "p, div"
}
},
{
"url": "https://www.96dushu.com/",
"name": "96读书",
"comment": "章节JS加密",
"search": {
"disabled": true,
"url": "https://www.96dushu.com/modules/article/search.php",
"method": "post",
"data": "{searchkey: %s}",
"result": "#nr",
"bookName": "dd:nth-child(2) > h3 > a",
"author": "dd:nth-child(3) > span:nth-child(1)",
"category": "dt > span",
"latestChapter": "dd:nth-child(5) > a",
"lastUpdateTime": "dd:nth-child(2) > h3 > span",
"status": "dd:nth-child(3) > span:nth-child(2)",
"nextPage": "#pagelink > a:not(.first):not(.last)"
},
"book": {
"url": "https://www.96dushu.com/book/(.*?)/"
},
"toc": {
"item": "#chapterList > li > a"
},
"chapter": {
"title": "#mlfy_main_text > h1",
"content": "#content@js:r=r.replace(/<script>\\s*document\\.writeln\\(qsbs\\.bb\\('([^']+)'\\)\\);\\s*<\\/script>/g,function(a,b){return b});@java:base64.decode()",
"paragraphTagClosed": true,
"filterTxt": "\\((继续下一页|本章完)\\)|最⊥新⊥小⊥说⊥在⊥六⊥9⊥⊥书⊥⊥吧⊥⊥首⊥发!",
"filterTag": "",
"nextPage": "#readbg > div.mlfy_page > a:nth-child(4)",
"nextPageInJs": "//*[@id=\"readbg\"]/script[4]@js:r=r.match(/nextpage = \"(.*?)\"/)[1];"
}
},
{
"url": "http://www.dongtanxs.com/",
"name": "东滩小说",
"comment": "",
"search": {
"url": "http://www.dongtanxs.com/s.php?ie=utf-8&q=%s",
"method": "get",
"result": ".bookinfo",
"bookName": "h4 > a",
"author": "div.author",
"category": "div.cat",
"latestChapter": "div.update > a"
},
"book": {},
"toc": {
"item": "dl > dt:nth-of-type(2) ~ dd > a"
},
"chapter": {
"title": ".content > h1",
"content": "#content",
"paragraphTagClosed": false,
"paragraphTag": "<br>+",
"filterTxt": "http://www\\.dongtanxs\\.com/dongtan\\d+/\\d+\\.html\\s*|请记住本书首发域名:www\\.dongtanxs\\.com。东滩小说手机版阅读网址:m\\.dongtanxs\\.com"
}
},
{
"url": "http://127.0.0.1:8000/",
"name": "和图书",
"comment": "本地新增:Cloudflare 托管挑战。规则把所有 URL 改写成本地 cf-bypass 服务(http://127.0.0.1:8000/html?url=…),因此官方二进制也能用;需先启动 cf-bypass",
"search": {
"url": "http://127.0.0.1:8000/html?url=%s@js:r='http://127.0.0.1:8000/html?url='+encodeURIComponent('https://www.hetushu.com/search/?keyword='+r);",
"method": "get",
"baseUri": "https://www.hetushu.com/",
"timeout": 120,
"result": "dl#body > dd@js:r=r.replace(/href=\"(\\/book\\/\\d+\\/index\\.html)\"/g,function(m,h){return 'href=\"http://127.0.0.1:8000/html?url='+encodeURIComponent('https://www.hetushu.com'+h)+'\"';});",
"bookName": "h4 > a",
"author": "h4 > span@js:r=r.replace(/[\\/\\s]/g,'')",
"intro": ".intro p"
},
"book": {
"baseUri": "https://www.hetushu.com/",
"timeout": 120,
"bookName": ".book_info > h2",
"author": ".book_info > div:nth-child(3) > a",
"intro": ".book_info .intro",
"category": ".book_info > div:nth-of-type(2)@js:r=r.replace(/[^:]*:/,'')",
"coverUrl": ".book_info > img@src"
},
"toc": {
"baseUri": "https://www.hetushu.com/",
"timeout": 120,
"list": "html@js:r=r.replace(/href=\"(\\/book\\/\\d+\\/\\d+\\.html)\"/g,function(m,h){return 'href=\"http://127.0.0.1:8000/html?url='+encodeURIComponent('https://www.hetushu.com'+h)+'\"';});",
"item": "dl#dir > dd > a"
},
"chapter": {
"baseUri": "https://www.hetushu.com/",
"timeout": 120,
"title": "h2.h2",
"content": "#content",
"paragraphTagClosed": true,
"filterTxt": "和图书|hetushu\\.com|\\(本章完\\)",
"filterTag": ""
},
"crawl": {
"concurrency": 2,
"minInterval": 200,
"maxInterval": 600,
"maxAttempts": 3,
"retryMinInterval": 1500,
"retryMaxInterval": 3000
}
},
{
"url": "https://www.linovelib.com/",
"name": "哔哩轻小说",
"comment": "本地新增:Cloudflare 站点(403 页标题为 Attention Required! | Cloudflare,程序自带 cf-bypass 检测能命中);搜索为 POST /S6/(searchkey),详情用 og:novel meta,目录 /novel/{id}/catalog,正文 #mlfy_main_text,章节单页",
"search": {
"url": "https://www.linovelib.com/S6/",
"method": "post",
"data": "{searchkey: %s}",
"timeout": 60,
"result": "div.search-result-list",
"bookName": "h2.tit > a",
"author": ".bookinfo a"
},
"book": {
"url": "https://www.linovelib.com/novel/(\\d+)\\.html",
"timeout": 60
},
"toc": {
"url": "https://www.linovelib.com/novel/%s/catalog",
"timeout": 90,
"item": "ul.chapter-list > li > a"
},
"chapter": {
"timeout": 90,
"title": "h1",
"content": "#mlfy_main_text",
"paragraphTagClosed": true,
"filterTxt": "请勿开启浏览器阅读模式|\\(本章完\\)|哔哩轻小说|和图书",
"filterTag": "script"
},
"crawl": {
"concurrency": 2,
"minInterval": 400,
"maxInterval": 1000,
"maxAttempts": 3,
"retryMinInterval": 1500,
"retryMaxInterval": 3000
}
}
]