全本小说网
http://www.iqb8.cc/
jianghubailei (2226)2023/09/04
套用通用搜索模板
{
"bookSourceComment": "by~江湖",
"bookSourceName": "全本小说网",
"bookSourceType": 0,
"bookSourceUrl": "http:\/\/www.iqb8.cc\/",
"customOrder": 0,
"enabled": true,
"enabledCookieJar": false,
"enabledExplore": true,
"exploreUrl": "玄幻::\/class\/xuanhuan\/{{page}}\/\n修真::\/class\/xiuzhen\/{{page}}\/\n都市::\/class\/dushi\/{{page}}\/\n穿越::\/class\/chuanyue\/{{page}}\/\n网游::\/class\/wangyou\/{{page}}\/\n科幻::\/class\/kehuan\/{{page}}\/\n其他::\/class\/qita\/{{page}}\/\n全本::\/quanben\/class\/{{page}}\/",
"lastUpdateTime": 1693754791709,
"respondTime": 180000,
"ruleBookInfo": {
"author": "[property=\"og:novel:author\"]@content",
"coverUrl": "[property=\"og:image\"]@content",
"intro": "[property=\"og:description\"]@content",
"kind": "[property=\"og:novel:category\"]@content&&\n[property=\"og:novel:status\"]@content&&\n[property=\"og:novel:update_time\"]@content",
"lastChapter": "[property=\"og:novel:lastest_chapter_name\"]@content",
"name": "[property=\"og:novel:book_name\"]@content"
},
"ruleContent": {
"content": "#article > p@text",
"nextContentUrl": "\/\/*[@class=\"read_nav\"]\/a[contains(text(),\"下一页\")]\/@href"
},
"ruleExplore": {
"author": ".dispc@text##\\s.*",
"bookList": ".list-out",
"bookUrl": "\/\/*[@class=\"flex w80\"]\/em[2]\/a\/@href",
"coverUrl": "\/\/*[@class=\"flex w80\"]\/em[2]\/a\/@href@js:\n(() => {\n let id = result.match(\/\\\/(\\d+)_(\\d+)\\\/\/)\n return `http:\/\/img.iqb8.cc\/${id[1]}\/${id[2]}\/${id[2]}s.jpg`\n})();",
"kind": "",
"lastChapter": "\/\/*[@class=\"flex w80\"]\/em[3]\/a\/text()",
"name": "\/\/*[@class=\"flex w80\"]\/em[2]\/a\/text()"
},
"ruleReview": {},
"ruleSearch": {
"author": ".commend-title span@text",
"bookList": ".category-div",
"bookUrl": ".commend-title a@href",
"coverUrl": "img@data-original",
"intro": ".intro@text",
"name": "h3@text"
},
"ruleToc": {
"chapterList": ".mb20 > .info-chapters > a",
"chapterName": "text",
"chapterUrl": "href"
},
"searchUrl": "@js:\n\/\/注意:一般网站默认首页(即baseUrl)有搜索框,否则请填入搜索页面地址\nlet url = baseUrl;\nlet html = java.ajax(url);\nlet doc = org.jsoup.Jsoup.parse(html);\nlet form = doc.select('form[action]:not([name~=login]):not([class~=login]):not([id~=login])')[0];\nlet method = form.attr('method');\nlet action = form.attr('action');\nlet charset = doc.select('meta[charset]').attr('charset');\nif (charset == ''){\n charset = String(doc.select('meta[content~=charset=]').attr('content')).replace(\/^.*charset=([a-z0-9\\-]+).*$\/i, \n '$1');\n}\nurl = baseUrl.replace(\/([^\\\/])$\/i, '$1\/') + String(action).replace(\/^\\\/\/, '');\nlet body = '';\nlet option = {};\nlet sk = form.select('input[name][type=\"text\"],input[name][class=\"text\"]').attr('name');\nlet es = form.select('input[name]:not([type=\"submit\"])');\nfor (let it in es){\n let e = es[it];\n let k = e.attr('name');\n let v = e.attr('value');\n if (k == sk) {\n body += sk + '={{key}}&';\n }\n else {\n body += k + '=' + v + '&';\n }\n}\nes = form.select('select[name]');\nfor (it in es){\n let e = es[it];\n let k = e.attr('name');\n let v = e.select('option')[0].attr('value');\n body += k + '=' + v + '&';\n}\nbody = String(body).replace(\/&$\/, '');\nif (method.match(\/post\/i)){\n option = \n {\n \"charset\" : String(charset), \n \"method\" : String(method), \n \"body\" : String(body)\n };\n url += ',' + JSON.stringify(option);\n}\nelse {\n \/\/get\n option = \n {\n \"charset\" : String(charset)\n };\n url += '?' + body + ',' + JSON.stringify(option);\n}\njava.log(url);",
"weight": 0
}