趣书吧手机版
https://wap.39shuwu.com/
laizhiyu (6509)2天前
该用户很懒,什么介绍也没有写!
{
"bookSourceGroup": "AI",
"bookSourceName": "趣书吧手机版",
"bookSourceType": 0,
"bookSourceUrl": "https:\/\/wap.39shuwu.com\/",
"bookUrlPattern": "https?:\/\/wap\\.39shuwu\\.com\/shu\\d+\/?",
"concurrentRate": "1\/1500",
"customButton": false,
"customOrder": 0,
"enabled": true,
"enabledCookieJar": true,
"enabledExplore": true,
"eventListener": false,
"exploreUrl": "分类::\/xuanhuanxiaoshuo\/&&修真::\/xiuzhenxiaoshuo\/&&都市::\/dushixiaoshuo\/&&穿越::\/chuanyuexiaoshuo\/&&网游::\/wangyouxiaoshuo\/&&科幻::\/kehuanxiaoshuo\/&&周点击榜::\/paihangbang\/weekvisit\/&&月点击榜::\/paihangbang\/monthvisit\/&&总点击榜::\/paihangbang\/allvisit\/&&日推荐榜::\/paihangbang\/dayvote\/&&周推荐榜::\/paihangbang\/weekvote\/&&月推荐榜::\/paihangbang\/monthvote\/&&总推荐榜::\/paihangbang\/allvote\/&&总收藏榜::\/paihangbang\/goodnum\/&&总字数榜::\/paihangbang\/size\/&&最新入库::\/paihangbang\/postdate\/&&全本周点击::\/full-1\/weekvisit\/&&全本总点击::\/full-1\/allvisit\/&&全本最新入库::\/full-1\/postdate\/",
"header": "{\"User-Agent\":\"Mozilla\/5.0 (Linux; Android 13; Pixel 7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.0.0 Mobile Safari\/537.36\",\"Referer\":\"https:\/\/wap.39shuwu.com\/\",\"Accept\":\"text\/html,application\/xhtml+xml,application\/xml;q=0.9,*\/*;q=0.8\",\"Accept-Language\":\"zh-CN,zh;q=0.9\",\"X-Requested-With\":\"XMLHttpRequest\"}",
"jsLib": "function FQ_checkLoginState(jv) {\n var msg = '';\n try {\n var s = '';\n try {\n s = String(jv.ajax('https:\/\/wap.39shuwu.com\/user\/userinfo.html') || '');\n } catch (e1) {\n try {\n s = String(jv.get('https:\/\/wap.39shuwu.com\/user\/userinfo.html', {}) || '');\n } catch (e2) {\n s = '';\n }\n }\n if (!s) {\n msg = '检查失败: 无响应';\n } else if (s.indexOf('退出登录') >= 0 || s.indexOf('修改密码') >= 0) {\n msg = '已登录';\n } else if (s.indexOf('趣书吧会员登录') >= 0 || s.indexOf('请登录') >= 0) {\n msg = '未登录';\n } else {\n msg = '状态未知(未登录或页面结构变更)';\n }\n } catch (e) {\n msg = '检查失败:' + e;\n }\n try { jv.put('fqLoginMsg', msg); } catch (e3) {}\n try { jv.upLoginData({ '登录状态': msg }); } catch (e4) {}\n try { jv.toast(msg); } catch (e5) {}\n try { jv.longToast(msg); } catch (e6) {}\n try { jv.reLoginView(false); } catch (e7) {}\n}\nfunction FQ_openLoginPage(jv) {\n try {\n jv.showBrowser('https:\/\/wap.39shuwu.com\/user\/login.html');\n } catch (e) {\n try { jv.toast('打开登录页失败:' + e); } catch (e2) {}\n }\n}",
"lastUpdateTime": "1792522314942",
"loginUi": "[{\"type\":\"text\",\"name\":\"用户名\"},{\"type\":\"password\",\"name\":\"密码\"},{\"type\":\"button\",\"name\":\"①检查登录状态\",\"action\":\"FQ_checkLoginState(java)\"},{\"type\":\"button\",\"name\":\"②打开登录页\",\"action\":\"FQ_openLoginPage(java)\"},{\"type\":\"text\",\"name\":\"登录状态\"}]",
"loginUrl": "function login() {\n var u = '';\n var p = '';\n try { u = String(result['用户名'] || ''); } catch (e1) {}\n try { p = String(result['密码'] || ''); } catch (e2) {}\n u = u.replace(\/^\\s+|\\s+$\/g, '');\n p = p.replace(\/^\\s+|\\s+$\/g, '');\n if (!u) { try { java.longToast('请填写用户名'); } catch (e) {} return; }\n if (!p) { try { java.longToast('请填写密码'); } catch (e) {} return; }\n var resp = null;\n var txt = '';\n try {\n resp = java.post('https:\/\/wap.39shuwu.com\/api\/login',\n 'username=' + encodeURIComponent(u) + '&password=' + encodeURIComponent(p),\n {\n 'User-Agent': 'Mozilla\/5.0 (Linux; Android 13; Pixel 7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.0.0 Mobile Safari\/537.36',\n 'Referer': 'https:\/\/wap.39shuwu.com\/user\/login.html',\n 'Origin': 'https:\/\/wap.39shuwu.com',\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-Type': 'application\/x-www-form-urlencoded'\n });\n txt = String(resp.body());\n } catch (e3) {\n try { java.longToast('登录请求失败: ' + e3); } catch (e) {}\n return;\n }\n var ok = false;\n var msg = '';\n try {\n var jo = JSON.parse(txt);\n ok = (String(jo.code) === '0');\n msg = String(jo.msg || '');\n } catch (e4) {\n ok = (txt.indexOf('\\\"code\\\":0') >= 0);\n msg = ok ? '' : txt.substring(0, 120);\n }\n if (ok) {\n var saved = false;\n try {\n if (resp !== null) {\n var sc = resp.header('Set-Cookie');\n if (sc) {\n var sid = '';\n var arr = String(sc).split(\/,\\s*(?=[A-Za-z0-9_]+=)\/);\n for (var i = 0; i < arr.length; i++) {\n var one = arr[i];\n var mm = one.match(\/(^|;\\s*)SID=([^;]+)\/);\n if (mm) { sid = mm[2]; break; }\n }\n if (sid) {\n cookie.setCookie('https:\/\/wap.39shuwu.com\/', 'SID=' + sid);\n saved = true;\n }\n }\n }\n } catch (e5) {}\n try { java.put('fqLoginMsg', '登录成功'); } catch (e) {}\n try { java.upLoginData({ '登录状态': '✅ 登录成功' + (saved ? '' : '(cookie待确认)') }); } catch (e) {}\n try { java.longToast('✅ 登录成功'); } catch (e) {}\n try { java.toast('登录成功'); } catch (e) {}\n try { java.reLoginView(false); } catch (e) {}\n } else {\n var em = msg ? msg : '登录失败';\n try { java.put('fqLoginMsg', em); } catch (e) {}\n try { java.upLoginData({ '登录状态': '❌ ' + em }); } catch (e) {}\n try { java.longToast('❌ ' + em); } catch (e) {}\n try { java.toast(em); } catch (e) {}\n }\n}",
"respondTime": 180000,
"ruleBookInfo": {
"author": "article .info p:eq(1)@text##作者:##",
"canReName": "true",
"coverUrl": "article .image img@src",
"intro": "article .introbar@text##简介:##",
"kind": "article .info p:eq(2) a@text",
"lastChapter": "article .info p:eq(5) em@text",
"name": "article .info h2.title@text",
"tocUrl": "@js:baseUrl + 'mulu.html'"
},
"ruleContent": {
"content": "#text p@text",
"sourceRegex": "https?:\/\/wap\\.39shuwu\\.com\/shu\\d+\/\\d+\\.html",
"title": "header h1.title@text"
},
"ruleExplore": {
"author": "p:eq(1)@text##作者:##",
"bookList": "#list article",
"bookUrl": "a@href",
"coverUrl": ".image img@src",
"intro": "p.intro@text##简介:##",
"name": "h2.title@text"
},
"ruleSearch": {
"author": "$.author",
"bookList": "$.data.search",
"bookUrl": "$.book_detail_url",
"coverUrl": "$.cover",
"intro": "$.intro",
"kind": "$.cate_name",
"lastChapter": "$.latest_chapter_name",
"name": "$.book_name"
},
"ruleToc": {
"chapterList": "ul.chapter li a",
"chapterName": "text",
"chapterUrl": "href"
},
"searchUrl": "https:\/\/wap.39shuwu.com\/user\/search.html?q={{java.encodeURI(key)}},{\"bodyJs\":\"var _ua='Mozilla\/5.0 (Linux; Android 13; Pixel 7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.0.0 Mobile Safari\/537.36';var _page=String(result||'');var _q=java.encodeURI(String(key));var _re=\/var\\\\s+([A-Za-z_$][\\\\w$]*)\\\\s*=\\\\s*\\\"([^\\\"]*)\\\"\/g;var _m,_tk={};while((_m=_re.exec(_page))!==null){_tk[_m[1]]=_m[2];}if(!_tk['sign']){if(_page.indexOf('趣书吧会员登录')>=0){throw new Error('未登录,请点击菜单「登录」');}throw new Error('搜索令牌(sign)未获取到,站点结构可能已变更');}var _body='q='+_q;for(var _k in _tk){if(_k!=='sign'){_body=_body+'&'+_k+'='+encodeURIComponent(_tk[_k]);}}_body=_body+'&sign='+_tk['sign'];var _resp=java.post('https:\/\/wap.39shuwu.com\/api\/search',_body,{'User-Agent':_ua,'Referer':'https:\/\/wap.39shuwu.com\/user\/search.html?q='+_q,'Origin':'https:\/\/wap.39shuwu.com','X-Requested-With':'XMLHttpRequest','Content-Type':'application\/x-www-form-urlencoded'});var _txt=String(_resp.body());if(!_txt){throw new Error('搜索接口无响应');}if(_txt.indexOf('搜索太频繁')>=0){throw new Error('⏳站点搜索限频(约3秒\/次),请稍候再试');}if(_txt.indexOf('\\\"code\\\":0')<0&&_txt.indexOf('\\\"code\\\" : 0')<0){throw new Error('搜索失败: '+_txt.substring(0,120));}_txt\"}",
"weight": 0
}