{
"bookSourceComment": "",
"bookSourceGroup": "电脑版🖥",
"bookSourceName": "千千小说",
"bookSourceType": 0,
"bookSourceUrl": "https:\/\/www.xqianqian.com",
"bookUrlPattern": "",
"customOrder": 1869,
"enabled": true,
"enabledExplore": false,
"exploreUrl": "",
"header": "<js>\n(()=>{\n\tvar ua = \"navigator.userAgent.toLowerCase(); \t\t\treturn { \t\t\t\t'mobile': !!(ua.match(\/applewebkit.*mobile.*\/) || ua.match(\/iemobile\/) || ua.match(\/windows phone\/) || ua.match(\/android\/) || ua.match(\/iphone\/) || ua.match(\/ipad\/)), \t\t\t\t'weixin': ua.indexOf('micromessenger') > -1 \t\t\t};\";\n\tvar heders = {\"User-Agent\": ua};\n\treturn JSON.stringify(heders);\n})()\n<\/js>",
"lastUpdateTime": 1633786495020,
"loginUrl": "",
"respondTime": 180000,
"ruleBookInfo": {
"author": "author",
"coverUrl": "cover",
"init": "<js> \nvar J = org.jsoup.Jsoup.parse(result);\nvar o = selector => String(J.select(selector).text()) ;\nvar og = selector => String(J.select('[property=\"og:' + selector + '\"]').attr('content'));\nvar book = {\n\tname: og('novel:book_name').replace(\/(全文|小说|免费阅读|最新章节).*|[((].*[))]\/g, ''),\n\tauthor: og('novel:author'),\n\tkind: og('novel:category') + ',' + og('novel:status').replace(\/中|已\/, ''),\n\tlatest: og('novel:update_time').replace(\/(T|\\s).*\/, ' ').replace(\/\\\/\/g, '-'),\n\tintro: ' 最近更新:' + og('novel:update_time').replace(\/(T|\\s).*\/, ' ').replace(\/\\\/\/g, '-') + '\\n' + og('description').replace(\/.*(观看小说|简介)[::]|各位书友.*\/g, '').replace(\/\\s+\/g, '\\n'),\n\tcover: og('image'),\n\turl: J.select('.novel-header-r a').attr('href'),\n};\nbook;\n<\/js>",
"intro": "intro",
"kind": "kind",
"lastChapter": "latest",
"name": "name",
"tocUrl": "url",
"wordCount": ""
},
"ruleContent": {
"content": "id.booktxt@textNodes",
"imageStyle": "",
"nextContentUrl": "text.下一页@href",
"replaceRegex": "",
"sourceRegex": "",
"webJs": ""
},
"ruleExplore": {
"author": "",
"bookList": "",
"bookUrl": "",
"coverUrl": "",
"intro": "",
"kind": "",
"lastChapter": "",
"name": "",
"wordCount": ""
},
"ruleSearch": {
"author": "author",
"bookList": ".item\n<js>\nresult.toArray().slice(0, 3).map(el => {\n\tvar url = String(el.select('a:eq(0)').attr('href')).replace(\/^\\\/\/, baseUrl.match(\/(.+?\\\/\\\/[^\\\/]+\\\/)\/)[1]);\n\tvar J = org.jsoup.Jsoup.parse(java.ajax(url));\n\tvar o = selector => String(J.select(selector).text());\n\tvar og = selector => String(J.select('[property=\"og:' + selector + '\"]').attr('content'));\n\treturn {\n\t\tname: og('novel:book_name').replace(\/(全文|小说|免费阅读|最新章节).*|[((].*[))]\/g, ''),\n\t\tauthor: og('novel:author'),\n\t\tkind: og('novel:category') + ',' + og('novel:status').replace(\/中|已\/, ''),\n\t\tlatest: og('novel:update_time').replace(\/(T|\\s).*\/, ' ').replace(\/\\\/\/g, '-'),\n\t\tintro: og('description').replace(\/.*(观看小说|简介)[::]|各位书友.*\/g, '').replace(\/\\s+\/g, ''),\n\t\tcover: og('image'),\n\t\turl: url,\n\t};\n}); \n<\/js>",
"bookUrl": "url",
"coverUrl": "cover",
"intro": "intro",
"kind": "kind",
"lastChapter": "latest",
"name": "name",
"wordCount": ""
},
"ruleToc": {
"chapterList": "#list a:gt(20)",
"chapterName": "text##^(正文|VIP章节|最新章节)?(\\s+|_)|[\\((【].*[求更谢乐发推].*",
"chapterUrl": "href",
"nextTocUrl": "option@value",
"updateTime": ""
},
"searchUrl": "https:\/\/www.xqianqian.com\/s?searchkey={{key}}",
"weight": 0
}