添加-目录网址

添加-目录网址

wang_fuchen (14509)23小时前

V0.23

1、添加网址:把书籍的目录网址(或 结尾递增 的正文网址)输入阅读APP书架上的添加网址。

2、设置章数:获取目录,出现没图片的 验证码 输入时:
(1)网址为 结尾递增 的正文网址,则输入 总章数(大于9)。8的倍数,WebView。
(2)不输入内容,正则匹配获取目录。
(3)输入6,获取所有a链接。7,webView。8,webView且获取所有a。

3、如果一直加载目录或章节不存在,可以试试:
(1)在订阅里新建 单URL 的订阅源,源URL为之前添加的地址。
(2)从订阅源进入网址,把网址上需要 确认 的点一下。

#、懂正则的可以自己修改正则来适配。
#、替换净化推荐:开头[\s\S]{1,300}结尾
#、替换的 特定范围 保留最后的网站名+书源,可以只在这个网站生效,比如:苦读书;添加-目录网址
二维码导入
{
    "bookSourceComment": "V0.23\n\n1、添加网址:把书籍的目录网址(或 结尾递增 的正文网址)输入阅读APP书架上的添加网址。\n\n2、设置章数:获取目录,出现没图片的 验证码 输入时:\n(1)网址为 结尾递增 的正文网址,则输入 总章数(大于9)。8的倍数,WebView。\n(2)不输入内容,正则匹配获取目录。\n(3)输入6,获取所有a链接。7,webView。8,webView且获取所有a。\n\n3、如果一直加载目录或章节不存在,可以试试:\n(1)在订阅里新建 单URL 的订阅源,源URL为之前添加的地址。\n(2)从订阅源进入网址,把网址上需要 确认 的点一下。\n\n#、懂正则的可以自己修改正则来适配。\n#、替换净化推荐:开头[\\s\\S]{1,300}结尾\n#、替换的 特定范围 保留最后的网站名+书源,可以只在这个网站生效,比如:苦读书;添加-目录网址",
    "bookSourceName": "添加-目录网址",
    "bookSourceType": 0,
    "bookSourceUrl": "添加-目录网址",
    "bookUrlPattern": "https?:\/\/.+",
    "customButton": false,
    "customOrder": 0,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": false,
    "eventListener": false,
    "lastUpdateTime": "1792189053497",
    "respondTime": 180000,
    "ruleBookInfo": {
        "name": "title@text"
    },
    "ruleContent": {
        "content": "html<js>\nfunction ajaxWeb(u){return java.webView(null,u,`(function(){var t=Date.now(),s;while(Date.now()-t<4000){s=document.documentElement.outerHTML;if(s.replace(\/[^一-龟]\/g,'').length>800)return s}return s})()`);\n}\nfunction so(u1,u2){\nvar ur=\/^https?:\\\/\\\/([^\/:]+)\/,\nj1=u1.match(ur),j2=u2.match(ur);\nreturn!\/^javascript:\/.test(u2)&&(!j2||j1[1]==j2[1]);\n}\nconst hs=[],nm=Number(java.get(\"目录类\"))||-1,un=baseUrl.replace(\/^https?:\\\/\\\/([^\/]+)\\\/|(_\\d*)?[^\\d]*$\/g,''),rl=result.replaceAll(\/[^一-龟]\/g,'').length,ht=org.jsoup.Jsoup.parse(nm==7||nm%8==0||rl<800?ajaxWeb(baseUrl):result);\nfor(var aa of ht.select(\"a\")){var hf=aa.attr('href');\nif(hf&&hf!=baseUrl&&so(baseUrl,hf)){var tx=aa.text();\nif(tx&&\/下[—一]?页|^\\s*Next\/.test(tx)){java.put(\"下一页3\",hf);\n}else if(hf.includes(un)&&\/\\d_\\d\/.test(hf)&&!\/[?&]url=http\/.test(hf)){hs.push(hf);}}}\njava.put(\"下一页2\",hs);ht.select(\"br,p\").before(\"\\n\");\nfor(var el of ht.select(\":not(div,p)\")){if(!el.select(\"div,p\").isEmpty())continue;el.remove();}\nconst bt=ht.body().wholeText();\njava.put(\"文本\",bt);\nbt;\n<\/js>",
        "nextContentUrl": "a:contains(下一页)@href<js>\nvar nx=java.get(\"下一页3\")||result;\nif(!nx||!nx.length()||nx==baseUrl){\nvar ns=java.get(\"下一页2\").split(\",\"),nm=baseUrl.match(\/(\\d_)(\\d+)\/);\nif(nm){nm=nm[1]+(Number(nm[2])+1);\nfor(var tg of ns){if(tg.indexOf(nm)!=-1){nx=tg;break;}}\n}else if(ns[0].length()){nx=ns[0];}\nnx=nx&&nx.length()&&nx!=baseUrl?nx:null;\nif(!nx){var pg=java.get(\"文本\").match(\/第[^\\n\\d]{0,5}(\\d+)\\\/(\\d+)[^\\n\\d]{0,5}页\/);\nif(pg){var np=Number(pg[1])+1,mp=Number(pg[2]);\nif(np<=mp){nx=baseUrl.replace(\/(_\\d+)?(\\.html|\\\/)?$\/,\"_\"+np+\"$2\");}}}\n}\nnx;\n<\/js>",
        "replaceRegex": "<js>\nconst FILTER_RULES = [\n  \/[^一-龟\\n]+function\\(\\)\\{[^一-龟]+\/g,\n]\nfor(let reg of FILTER_RULES){\n\tresult = result.replace(reg, \"\");\n}\nresult;\n<\/js>"
    },
    "ruleExplore": {},
    "ruleSearch": {},
    "ruleToc": {
        "chapterList": "a<js>function aWeb(u){return java.webView(null,u,`(function(){var t=Date.now();while(Date.now()-t<4000){}return document.documentElement.outerHTML})()`)}\nfunction sm(a,b){var r=\/^https?:\\\/\\\/([^\/:]+)\/,x=a.match(r),y=b.match(r);return!\/^javascript:\/.test(b)&&(!y||x[1]==y[1])}\nvar nm=Number(java.get(\"目录类\"))||-1,as=[],bs=[],cs=[],rg=\/([^\\d])(\\d+)(\\.html|\\\/)?$\/,mt=baseUrl.match(rg);if(nm==-1){try{nm=Number(java.getVerificationCode(''))}catch{nm=1}java.put(\"目录类\",nm)}\nif(nm>9&&mt){var ua=baseUrl.replace(rg,\"$1\"),ub=Number(mt[2]),uc=mt[3]||\"\";for(var i=0;i<nm;i++)bs.push({href:ua+(ub+i)+uc,text:\"第\"+(i+1)+\"章\"})\n}else{var al=nm>6&&nm<9?org.jsoup.Jsoup.parse(aWeb(baseUrl)).select('a'):result,rz=\/(^|[((])[\\d一二三四五六七八九十零百千万]+([))\\s]|$)|前言|后记|番外|[序终\\d一二三四五六七八九十零百千万][章节回]|【|】\/;\nfor(var el of al){var hf=el.attr('href');if(hf&&hf!=baseUrl&&sm(baseUrl,hf)){cs.push(el);var tx=el.text();if(tx){rz.test(tx)&&as.push(el);\/下[—一]?页|^\\s*Next\/.test(tx)&&java.put(\"下一页\",hf)}}}\n}bs.length?bs:(as.length&&nm!=6&&nm!=8?as:cs);\n<\/js>",
        "chapterName": "text",
        "chapterUrl": "href",
        "nextTocUrl": "a:contains(下一页)@href\n<js>\njava.get(\"下一页\") || result;\n<\/js>"
    },
    "weight": 0
}
广告