{
"bookSourceComment": "\/*\n\t登录里面点击注册会自动注册账号\t,同时可以在源变量里面看到账号和密码\n*\/\n\n感谢用户@xiang-shiwang提供的书源,\nwww站与m站通用,自写了发现和站图,本人的喜好。。。",
"bookSourceGroup": "",
"bookSourceName": "📝铅笔小说[自写]",
"bookSourceType": 0,
"bookSourceUrl": "https:\/\/www.23qb.com\/#📝",
"bookUrlPattern": "",
"customOrder": 5339,
"enabled": true,
"enabledCookieJar": true,
"enabledExplore": true,
"exploreUrl": "更新时间::\/book\/lastupdate_0_0_0_0_0_0_0_{{page}}_0.html\n新书连载::\/book\/lastupdate_0_0_0_0_0_0_1_{{page}}_0.html\n已经完本::\/book\/lastupdate_0_0_0_0_0_0_5_{{page}}_0.html\n入库时间::\/book\/postdate_0_0_0_0_0_0_0_{{page}}_0.html\n 新书榜 ::\/book\/newhot_0_0_0_0_0_0_0_{{page}}_0.html\n 收藏数 ::\/book\/goodnum_0_0_0_0_0_0_0_{{page}}_0.html\n言情小说::\/book\/lastupdate_0_1_0_0_0_0_0_{{page}}_0.html\n都市小说::\/book\/lastupdate_0_2_0_0_0_0_0_{{page}}_0.html\n唯美百合::\/book\/lastupdate_0_3_0_0_0_0_0_{{page}}_0.html\n穿越重生::\/book\/lastupdate_0_4_0_0_0_0_0_{{page}}_0.html\n青春校园::\/book\/lastupdate_0_5_0_0_0_0_0_{{page}}_0.html\n玄幻魔法::\/book\/lastupdate_0_6_0_0_0_0_0_{{page}}_0.html\n修真武侠::\/book\/lastupdate_0_7_0_0_0_0_0_{{page}}_0.html\n历史军事::\/book\/lastupdate_0_8_0_0_0_0_0_{{page}}_0.html\n游戏竞技::\/book\/lastupdate_0_9_0_0_0_0_0_{{page}}_0.html\n科幻空间::\/book\/lastupdate_0_10_0_0_0_0_0_{{page}}_0.html\n悬疑惊悚::\/book\/lastupdate_0_11_0_0_0_0_0_{{page}}_0.html\n同人小说::\/book\/lastupdate_0_12_0_0_0_0_0_{{page}}_0.html\n官场职场::\/book\/lastupdate_0_13_0_0_0_0_0_{{page}}_0.html",
"header": "{\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 9; MIX 2 Build\/PKQ1.190118.001; wv) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/80.0.3987.99 Mobile Safari\/537.36\"}",
"jsLib": "function registerFn(cookie) {\nvar {java,source} = this\t\nvar su=source.getKey()\n\nbody={\n 'username':`qaz${parseInt(Math.random()*1000000000000)}`,\n 'password': '123456789',\n 'repassword':'123456789',\n 'email': `${parseInt(Math.random()*1000000000000)}@qq.com`,\n 'checkcode':java.getVerificationCode(`${su}\/checkcode.php?rand=${Math.random()}`),\n 'act': \"newuser\",\r\n 'accounttype': \"useremail\",\n 'submit': \"\"\n}\n\nbodyString = Object.keys(body).reduce((pre,key)=>{\n pre += (pre!=''?'&':'') + `${key}=${body[key]}`\n return pre\n},'')\n\n\noption={\n 'method': 'POST',\n 'body': bodyString,\n 'headers':{\n 'Referer':su+'\/register.php',\n \"Origin\":su,\n \t}\n}\n\n url=su+'\/register.php?do=submit,'+JSON.stringify(option);\n\nrs=java.ajax(url);\n if(\/出现错误\/.test(rs)){\n java.toast(`注册失败,重新注册!`)\n return false\n }\n\n \n\/\/ token=cookie.getKey(url,\"SESSION_ID\");\n\njava.log(cookie.getCookie(url))\n\n Cookie={\n \"Cookie\":cookie.getCookie(url),\n \"User-Agent\": \"Mozilla\/5.0 (Linux; Android 9; MIX 2 Build\/PKQ1.190118.001; wv) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/80.0.3987.99 Mobile Safari\/537.36\"\n }\n header = JSON.stringify(Cookie);\n source.putLoginHeader(header);\n source.setVariable(`账号:${body.username},密码:${body.password}`)\n java.toast(`注册成功----${body.username}`)\n}\n\nfunction sleep(value){\nvar date = Date.now();\r\nvar currentDate = null;\r\ndo {\r\n currentDate = Date.now();\r\n} while (currentDate - date < value);\n}",
"lastUpdateTime": "1722513519283",
"loginCheckJs": "",
"loginUi": "[\n {\n \"name\": \"注册\",\n \"type\": \"button\",\n \"action\": \"register()\"\n }\n]",
"loginUrl": "function register() {\n\tregisterFn(cookie)\n}",
"respondTime": 27984,
"ruleBookInfo": {
"author": "@get:{a}",
"canReName": "",
"coverUrl": "@get:{c}",
"init": "@put:{n:\"[property$=book_name]@content\",\na:\"[property$=author]@content\",\nk:\"[property~=category|status|update_time]@content\",\nl:\"[property$=latest_chapter_name]@content\",\ni:\"#bookintro p.0@text\",\nc:\"[property$=image]@content\"}",
"intro": "@get:{i}",
"kind": "@get:{k}",
"lastChapter": "@get:{l}",
"name": "@get:{n}",
"tocUrl": "@js:\nresult = baseUrl+\"catalog\"\nresult"
},
"ruleContent": {
"content": ".article-content@html",
"nextContentUrl": "@js:\nvar next=src.match(\/nextpage=.*?;\/);\nvar url=next?eval(next[0]):\"\";\nw=\",{'webView': true}\";\n\/_\/.test(url)&&url+w;",
"replaceRegex": "##铅笔小说.*com"
},
"ruleExplore": {
"author": ".module-item-text@text",
"bookList": ".module-item",
"bookUrl": ".module-item-title@href",
"coverUrl": "a.0@href##.+\\D((\\d+)\\d{3})\\D##http:\/\/www.23qb.com\/files\/article\/image\/$2\/$1\/$1s.jpg",
"intro": "",
"kind": "",
"name": ".module-item-title@text"
},
"ruleReview": {},
"ruleSearch": {
"author": "",
"bookList": ".module-search-item",
"bookUrl": "h3@a@href",
"checkKeyWord": "",
"coverUrl": "a.0@href##.+\\D((\\d+)\\d{3})\\D##http:\/\/www.23qb.com\/files\/article\/image\/$2\/$1\/$1s.jpg",
"intro": ".novel-info-item@text",
"kind": ".novel-serial@text",
"lastChapter": "",
"name": "h3@a@text",
"wordCount": ""
},
"ruleToc": {
"chapterList": ".module-row-info@a",
"chapterName": "title",
"chapterUrl": "href##$##,{'webView': true}"
},
"searchUrl": "@js:\nvar su=source.getKey()\nvar htmlUrl=java.get(su,{}).headers('Location')\njava.log(`重定向:${htmlUrl[0]}`)\nvar posturl=htmlUrl[0]?htmlUrl[0]:(su.includes(\"#\")?su.match(\/([^\\#]+)\\#\/)[1]:su)\nposturl = posturl.slice(-1)=='\/'?posturl.slice(0,-1):posturl\ncookie.removeCookie(posturl)\njava.log(`请求:${posturl}`)\n\r\nposturl+\"\/search.html?searchkey={{key}},\"+JSON.stringify({\r \n\t\"body\": \"searchkey={{key}}\",\r \n\t \"method\": \"GET\"\r\n})",
"variableComment": "数字1开启登录检查",
"weight": 0
}