From 99f3eecac966940714fab87b3364e504d01d4e66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=87=E6=B4=92?= <78096245+PizazzGY@users.noreply.github.com> Date: Sun, 9 Jul 2023 21:49:51 +0800 Subject: [PATCH] Add files via upload --- JS/drpy.min.js | 7 +------ JS/豆瓣.js | 37 +------------------------------------ 2 files changed, 2 insertions(+), 42 deletions(-) diff --git a/JS/drpy.min.js b/JS/drpy.min.js index 8ee33f6..40ad11d 100644 --- a/JS/drpy.min.js +++ b/JS/drpy.min.js @@ -1,6 +1 @@ -import cheerio from"./cheerio.min.js"; -import"./crypto-js.js"; -import"./drT.js"; -import 模板 from"./模板.js"; -import{gbkTool}from"./gbk.js"; -function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}function pre(){if(typeof rule.预处理==="string"&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code);if(code.startsWith("js:")){code=code.replace("js:","")}try{eval(code)}catch(e){console.log("预处理执行失败:"+e.message)}}}let rule={};const VERSION="drpy1 3.9.43beta1 20230607";const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|下载|剧情|热播";const OCR_RETRY=3;const OCR_API="http://drpy.nokia.press:8028/ocr/drpy/text";if(typeof MY_URL==="undefined"){var MY_URL}var HOST;var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url)$/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;if(typeof Object.assign!="function"){Object.assign=function(){var target=arguments[0];for(var i=1;ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];globalThis.encodeUrl=urlencode;globalThis.urlencode=urlencode;function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd(html,parse,uri){let ret=this.pdfh(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)){if(/http/.test(ret)){ret=ret.substr(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)){if(/http/.test(ret)){ret=ret.substr(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse,base_url){if(!parse||!parse.trim()){return""}let eleFind=typeof html==="object";let option=undefined;if(eleFind&&parse.startsWith("body&&")){parse=parse.substr(6);if(parse.indexOf("&&")<0){option=parse.trim();parse="*=*"}}if(parse.indexOf("&&")>-1){let sp=parse.split("&&");option=sp[sp.length-1];sp.splice(sp.length-1);if(sp.length>1){for(let i in sp){if(sp.hasOwnProperty(i)){if(!SELECT_REGEX.test(sp[i])){sp[i]=sp[i]+":eq(0)"}}}}else{if(!SELECT_REGEX.test(sp[0])){sp[0]=sp[0]+":eq(0)"}}parse=sp.join(" ")}let result="";const $=eleFind?html.rr:cheerio.load(html);let ret=eleFind?parse==="*=*"||$(html.ele).is(parse)?html.ele:$(html.ele).find(parse):$(parse);if(option){if(option==="Text"){result=$(ret).text()}else if(option==="Html"){result=$(ret).html()}else{result=$(ret).attr(option);if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}}if(result&&base_url&&DOM_CHECK_ATTR.test(option)){if(/http/.test(result)){result=result.substr(result.indexOf("http"))}else{result=urljoin(base_url,result)}}}else{result=$(ret).toString()}return result},pdfa(html,parse){if(!parse||!parse.trim()){print("!parse");return[]}let eleFind=typeof html==="object";if(parse.indexOf("&&")>-1){let sp=parse.split("&&");for(let i in sp){if(sp.hasOwnProperty(i)){if(!SELECT_REGEX_A.test(sp[i])&&iit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie,"User-Agent":MOBILE_UA},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function require(url){eval(request(url))}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj.method="POST";return request(url,obj)}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){log("历史无cookie,新增过验证后的cookie");obj.headers["Cookie"]=cookie}else if(obj.headers&&obj.headers.cookie&&obj.headers.cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有小写过期的cookie,更新过验证后的cookie")}else if(obj.headers&&obj.headers.Cookie&&obj.headers.Cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有大写过期的cookie,更新过验证后的cookie")}else if(!obj.headers){obj.headers={Cookie:cookie};log("历史无headers,更新过验证后的含cookie的headers")}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i=3){try{let html=getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p[0]);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表处理发生错误:"+e.message)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print("合并不同分类对应的默认筛选出错:"+e.message)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl});if(/object Object/.test(new_url)){new_url=drT.renderText(url,fl)}url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}let pagecount=0;if(rule.pagecount&&typeof rule.pagecount==="object"&&rule.pagecount.hasOwnProperty(MY_CATE)){print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`);pagecount=parseInt(rule.pagecount[MY_CATE])}let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1};let vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");let url=searchObj.searchUrl.replaceAll("**",searchObj.wd).replaceAll("fypage",searchObj.pg);MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print("搜索发生错误:"+e.message);return"{}"}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(detailObj.二级访问前){try{print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`);eval(detailObj.二级访问前.trim().replace("js:",""))}catch(e){print(`二级访问前执行代码出现错误:${e.message}`)}}if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _impJQP=false;let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}if(_ps===parseTags.jq){_impJQP=true}if(_impJQP){let ttt1=(new Date).getTime();let c$=cheerio.load(html);html={rr:c$,ele:c$("html")[0]};print(`二级${MY_URL}仅cheerio.load源码耗时:${(new Date).getTime()-ttt1}毫秒`)}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""));if(_impJQP){let c$=cheerio.load(html);html={rr:c$,ele:c$("html")[0]}}}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);if(html&&_impJQP&&typeof html!=="string"){try{html=html.rr(html.ele).toString()}catch(e){}}var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{if(html&&_impJQP&&typeof html!=="string"){try{html=html.rr(html.ele).toString()}catch(e){}}var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print("格式化LISTS发生错误:"+e.message)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print("js执行lists: 发生错误:"+e.message)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}let new_vod_list=[];let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let tt1=(new Date).getTime();if(vodList.length>0){for(let i=0;ix.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${vodList.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id||vod_id.includes("$")&&vod.vod_id!==vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);return JSON.stringify({list:[vod]})}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function init(ext){console.log("init");try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")){let js=request(ext,{method:"GET"});if(js){eval(js.replace("var rule","rule"))}}else{eval(ext.replace("var rule","rule"))}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.host=(rule.host||"").rstrip("/");HOST=rule.host;if(rule.hostJs){console.log(`检测到hostJs,准备执行...`);try{eval(rule.hostJs);rule.host=HOST.rstrip("/")}catch(e){console.log(`执行${rule.hostJs}获取host发生错误:`+e.message)}}rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;rule.二级访问前=rule.二级访问前||"";if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl;rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.search_encoding=rule.搜索编码||rule.search_encoding||"";rule.图片来源=rule.图片来源||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{};if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}}}catch(e){console.log("处理headers发生错误:"+e.message)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}let homeHtmlCache=undefined;function home(filter){console.log("home");let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,"二级访问前":rule.二级访问前,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick){if(rule.search_encoding){if(rule.search_encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.search_encoding)}}else if(rule.encoding&&rule.encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.encoding)}let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:1,quick:quick};return searchParse(searchObj)}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,DRPY:DRPY}; \ No newline at end of file +import cheerio from"./cheerio.min.js";import"./crypto-js.js";import"./drT.js";import 模板 from"./模板.js";import{gbkTool}from"./gbk.js";function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}function pre(){if(typeof rule.预处理==="string"&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code);if(code.startsWith("js:")){code=code.replace("js:","")}try{eval(code)}catch(e){console.log("预处理执行失败:"+e.message)}}}let rule={};const VERSION="drpy1 3.9.46beta12 20230709";const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|下载|剧情|热播";const OCR_RETRY=3;const OCR_API="http://drpy.nokia.press:8028/ocr/drpy/text";if(typeof MY_URL==="undefined"){var MY_URL}var HOST;var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url)$/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;if(typeof Object.assign!="function"){Object.assign=function(){var target=arguments[0];for(var i=1;ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];globalThis.encodeUrl=urlencode;globalThis.urlencode=urlencode;function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd(html,parse,uri){let ret=this.pdfh(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)){if(/http/.test(ret)){ret=ret.substr(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)){if(/http/.test(ret)){ret=ret.substr(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse,base_url){if(!parse||!parse.trim()){return""}let eleFind=typeof html==="object";let option=undefined;if(eleFind&&parse.startsWith("body&&")){parse=parse.substr(6);if(parse.indexOf("&&")<0){option=parse.trim();parse="*=*"}}if(parse.indexOf("&&")>-1){let sp=parse.split("&&");option=sp[sp.length-1];sp.splice(sp.length-1);if(sp.length>1){for(let i in sp){if(sp.hasOwnProperty(i)){if(!SELECT_REGEX.test(sp[i])){sp[i]=sp[i]+":eq(0)"}}}}else{if(!SELECT_REGEX.test(sp[0])){sp[0]=sp[0]+":eq(0)"}}parse=sp.join(" ")}let result="";const $=eleFind?html.rr:cheerio.load(html);let ret=eleFind?parse==="*=*"||$(html.ele).is(parse)?html.ele:$(html.ele).find(parse):$(parse);if(option){if(option==="Text"){result=$(ret).text()}else if(option==="Html"){result=$(ret).html()}else{result=$(ret).attr(option);if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}}if(result&&base_url&&DOM_CHECK_ATTR.test(option)){if(/http/.test(result)){result=result.substr(result.indexOf("http"))}else{result=urljoin(base_url,result)}}}else{result=$(ret).toString()}return result},pdfa(html,parse){if(!parse||!parse.trim()){print("!parse");return[]}let eleFind=typeof html==="object";if(parse.indexOf("&&")>-1){let sp=parse.split("&&");for(let i in sp){if(sp.hasOwnProperty(i)){if(!SELECT_REGEX_A.test(sp[i])&&iit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie,"User-Agent":MOBILE_UA},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function require(url){eval(request(url))}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj.method="POST";return request(url,obj)}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){log("历史无cookie,新增过验证后的cookie");obj.headers["Cookie"]=cookie}else if(obj.headers&&obj.headers.cookie&&obj.headers.cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有小写过期的cookie,更新过验证后的cookie")}else if(obj.headers&&obj.headers.Cookie&&obj.headers.Cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有大写过期的cookie,更新过验证后的cookie")}else if(!obj.headers){obj.headers={Cookie:cookie};log("历史无headers,更新过验证后的含cookie的headers")}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i=3){try{let html=getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p[0]);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表处理发生错误:"+e.message)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print("合并不同分类对应的默认筛选出错:"+e.message)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl});if(/object Object/.test(new_url)){new_url=drT.renderText(url,fl)}url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}let pagecount=0;if(rule.pagecount&&typeof rule.pagecount==="object"&&rule.pagecount.hasOwnProperty(MY_CATE)){print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`);pagecount=parseInt(rule.pagecount[MY_CATE])}let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1};let vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");let url=searchObj.searchUrl.replaceAll("**",searchObj.wd).replaceAll("fypage",searchObj.pg);MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print("搜索发生错误:"+e.message);return"{}"}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(detailObj.二级访问前){try{print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`);eval(detailObj.二级访问前.trim().replace("js:",""))}catch(e){print(`二级访问前执行代码出现错误:${e.message}`)}}if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _impJQP=false;let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}if(_ps===parseTags.jq){_impJQP=true}if(_impJQP){let ttt1=(new Date).getTime();let c$=cheerio.load(html);html={rr:c$,ele:c$("html")[0]};print(`二级${MY_URL}仅cheerio.load源码耗时:${(new Date).getTime()-ttt1}毫秒`)}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""));if(_impJQP){let c$=cheerio.load(html);html={rr:c$,ele:c$("html")[0]}}}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);if(html&&_impJQP&&typeof html!=="string"){try{html=html.rr(html.ele).toString()}catch(e){}}var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{if(html&&_impJQP&&typeof html!=="string"){try{html=html.rr(html.ele).toString()}catch(e){}}var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print("格式化LISTS发生错误:"+e.message)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print("js执行lists: 发生错误:"+e.message)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}let new_vod_list=[];let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let tt1=(new Date).getTime();if(vodList.length>0){for(let i=0;ix.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${vodList.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id||vod_id.includes("$")&&vod.vod_id!==vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);return JSON.stringify({list:[vod]})}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function proxyParse(proxyObj){var input=proxyObj.params;if(proxyObj.proxy_rule){try{eval(proxyObj.proxy_rule);if(input&&input!==proxyObj.params&&Array.isArray(input)&&input.length===3){return input}else{return[404,"text/plain","Not Found"]}}catch(e){return[500,"text/plain","代理规则错误:"+e.message]}}else{return[404,"text/plain","Not Found"]}}function init(ext){console.log("init");try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")){let js=request(ext,{method:"GET"});if(js){eval(js.replace("var rule","rule"))}}else{eval(ext.replace("var rule","rule"))}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.host=(rule.host||"").rstrip("/");HOST=rule.host;if(rule.hostJs){console.log(`检测到hostJs,准备执行...`);try{eval(rule.hostJs);rule.host=HOST.rstrip("/")}catch(e){console.log(`执行${rule.hostJs}获取host发生错误:`+e.message)}}rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;rule.二级访问前=rule.二级访问前||"";if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl;rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.search_encoding=rule.搜索编码||rule.search_encoding||"";rule.图片来源=rule.图片来源||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{};rule.proxy_rule=rule.hasOwnProperty("proxy_rule")?rule.proxy_rule:"";if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}}}catch(e){console.log("处理headers发生错误:"+e.message)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}let homeHtmlCache=undefined;function home(filter){console.log("home");let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,"二级访问前":rule.二级访问前,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick){if(rule.search_encoding){if(rule.search_encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.search_encoding)}}else if(rule.encoding&&rule.encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.encoding)}let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:1,quick:quick};return searchParse(searchObj)}function proxy(params){if(rule.proxy_rule&&rule.proxy_rule.trim()){rule.proxy_rule=rule.proxy_rule.trim()}if(rule.proxy_rule.startsWith(":js")){rule.proxy_rule=rule.proxy_rule.replace(":js","")}let proxyObj={params:params,proxy_rule:rule.proxy_rule};return proxyParse(proxyObj)}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,DRPY:DRPY}; \ No newline at end of file diff --git a/JS/豆瓣.js b/JS/豆瓣.js index 454445d..9e1e12f 100644 --- a/JS/豆瓣.js +++ b/JS/豆瓣.js @@ -1,36 +1 @@ -var rule = { - title:'drpy', - host:'https://frodo.douban.com', - apidoc:'https://www.doubanapi.com', - homeUrl:'', - searchUrl:'', - searchable:1, - quickSearch:1, - filterable:1, - // 分类链接fypage参数支持1个()表达式 - url:'/?pg=fypage&class=fyclass&douban=$douban', - filter_url:'fl={{fl}}', - headers:{ - "Host": "frodo.douban.com", - // "Host": "api.douban.com", - "Connection": "Keep-Alive", - "Referer": "https://servicewechat.com/wx2f9b06c1de1ccfca/84/page-frame.html", - // "content-type": "application/json", - "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat" - }, - timeout:5000, - class_name:'热门电影&热播剧集&热播综艺&电影筛选&电视筛选&电影榜单&电视榜单', - class_url:'hot_gaia&tv_hot&show_hot&movie&tv&rank_list_movie&rank_list_tv', - filter:{'interests': [{'key': 'status', 'name': '状态', 'value': [{'n': '想看', 'v': 'mark'}, {'n': '在看', 'v': 'doing'}, {'n': '看过', 'v': 'done'}]}, {'key': 'subtype_tag', 'name': '形式', 'value': [{'n': '全部', 'v': ''}, {'n': '电影', 'v': 'movie'}, {'n': '电视', 'v': 'tv'}]}, {'key': 'year_tag', 'name': '年代', 'value': [{'n': '全部', 'v': '全部'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2010年代', 'v': '2010年代'}, {'n': '2000年代', 'v': '2000年代'}, {'n': '90年代', 'v': '90年代'}, {'n': '80年代', 'v': '80年代'}, {'n': '70年代', 'v': '70年代'}, {'n': '60年代', 'v': '60年代'}, {'n': '更早', 'v': '更早'}]}], 'hot_gaia': [{'key': 'sort', 'name': '排序', 'value': [{'n': '热度', 'v': 'recommend'}, {'n': '最新', 'v': 'time'}, {'n': '评分', 'v': 'rank'}]}, {'key': 'area', 'name': '地区', 'value': [{'n': '全部', 'v': '全部'}, {'n': '华语', 'v': '华语'}, {'n': '欧美', 'v': '欧美'}, {'n': '韩国', 'v': '韩国'}, {'n': '日本', 'v': '日本'}]}], 'tv_hot': [{'key': 'type', 'name': '分类', 'value': [{'n': '综合', 'v': 'tv_hot'}, {'n': '国产剧', 'v': 'tv_domestic'}, {'n': '欧美剧', 'v': 'tv_american'}, {'n': '日剧', 'v': 'tv_japanese'}, {'n': '韩剧', 'v': 'tv_korean'}, {'n': '动画', 'v': 'tv_animation'}]}], 'show_hot': [{'key': 'type', 'name': '分类', 'value': [{'n': '综合', 'v': 'show_hot'}, {'n': '国内', 'v': 'show_domestic'}, {'n': '国外', 'v': 'show_foreign'}]}], 'movie': [{'key': '类型', 'name': '类型', 'value': [{'n': '全部类型', 'v': ''}, {'n': '喜剧', 'v': '喜剧'}, {'n': '爱情', 'v': '爱情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '动画', 'v': '动画'}, {'n': '悬疑', 'v': '悬疑'}, {'n': '犯罪', 'v': '犯罪'}, {'n': '惊悚', 'v': '惊悚'}, {'n': '冒险', 'v': '冒险'}, {'n': '音乐', 'v': '音乐'}, {'n': '历史', 'v': '历史'}, {'n': '奇幻', 'v': '奇幻'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '战争', 'v': '战争'}, {'n': '传记', 'v': '传记'}, {'n': '歌舞', 'v': '歌舞'}, {'n': '武侠', 'v': '武侠'}, {'n': '情色', 'v': '情色'}, {'n': '灾难', 'v': '灾难'}, {'n': '西部', 'v': '西部'}, {'n': '纪录片', 'v': '纪录片'}, {'n': '短片', 'v': '短片'}]}, {'key': '地区', 'name': '地区', 'value': [{'n': '全部地区', 'v': ''}, {'n': '华语', 'v': '华语'}, {'n': '欧美', 'v': '欧美'}, {'n': '韩国', 'v': '韩国'}, {'n': '日本', 'v': '日本'}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '英国', 'v': '英国'}, {'n': '法国', 'v': '法国'}, {'n': '德国', 'v': '德国'}, {'n': '意大利', 'v': '意大利'}, {'n': '西班牙', 'v': '西班牙'}, {'n': '印度', 'v': '印度'}, {'n': '泰国', 'v': '泰国'}, {'n': '俄罗斯', 'v': '俄罗斯'}, {'n': '加拿大', 'v': '加拿大'}, {'n': '澳大利亚', 'v': '澳大利亚'}, {'n': '爱尔兰', 'v': '爱尔兰'}, {'n': '瑞典', 'v': '瑞典'}, {'n': '巴西', 'v': '巴西'}, {'n': '丹麦', 'v': '丹麦'}]}, {'key': 'sort', 'name': '排序', 'value': [{'n': '近期热度', 'v': 'T'}, {'n': '首映时间', 'v': 'R'}, {'n': '高分优先', 'v': 'S'}]}, {'key': '年代', 'name': '年代', 'value': [{'n': '全部年代', 'v': ''}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2010年代', 'v': '2010年代'}, {'n': '2000年代', 'v': '2000年代'}, {'n': '90年代', 'v': '90年代'}, {'n': '80年代', 'v': '80年代'}, {'n': '70年代', 'v': '70年代'}, {'n': '60年代', 'v': '60年代'}, {'n': '更早', 'v': '更早'}]}], 'tv': [{'key': '类型', 'name': '类型', 'value': [{'n': '不限', 'v': ''}, {'n': '电视剧', 'v': '电视剧'}, {'n': '综艺', 'v': '综艺'}]}, {'key': '电视剧形式', 'name': '电视剧形式', 'value': [{'n': '不限', 'v': ''}, {'n': '喜剧', 'v': '喜剧'}, {'n': '爱情', 'v': '爱情'}, {'n': '悬疑', 'v': '悬疑'}, {'n': '动画', 'v': '动画'}, {'n': '武侠', 'v': '武侠'}, {'n': '古装', 'v': '古装'}, {'n': '家庭', 'v': '家庭'}, {'n': '犯罪', 'v': '犯罪'}, {'n': '科幻', 'v': '科幻'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '历史', 'v': '历史'}, {'n': '战争', 'v': '战争'}, {'n': '动作', 'v': '动作'}, {'n': '冒险', 'v': '冒险'}, {'n': '传记', 'v': '传记'}, {'n': '剧情', 'v': '剧情'}, {'n': '奇幻', 'v': '奇幻'}, {'n': '惊悚', 'v': '惊悚'}, {'n': '灾难', 'v': '灾难'}, {'n': '歌舞', 'v': '歌舞'}, {'n': '音乐', 'v': '音乐'}]}, {'key': '综艺形式', 'name': '综艺形式', 'value': [{'n': '不限', 'v': ''}, {'n': '真人秀', 'v': '真人秀'}, {'n': '脱口秀', 'v': '脱口秀'}, {'n': '音乐', 'v': '音乐'}, {'n': '歌舞', 'v': '歌舞'}]}, {'key': '地区', 'name': '地区', 'value': [{'n': '全部地区', 'v': ''}, {'n': '华语', 'v': '华语'}, {'n': '欧美', 'v': '欧美'}, {'n': '国外', 'v': '国外'}, {'n': '韩国', 'v': '韩国'}, {'n': '日本', 'v': '日本'}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '美国', 'v': '美国'}, {'n': '英国', 'v': '英国'}, {'n': '泰国', 'v': '泰国'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '意大利', 'v': '意大利'}, {'n': '法国', 'v': '法国'}, {'n': '德国', 'v': '德国'}, {'n': '西班牙', 'v': '西班牙'}, {'n': '俄罗斯', 'v': '俄罗斯'}, {'n': '瑞典', 'v': '瑞典'}, {'n': '巴西', 'v': '巴西'}, {'n': '丹麦', 'v': '丹麦'}, {'n': '印度', 'v': '印度'}, {'n': '加拿大', 'v': '加拿大'}, {'n': '爱尔兰', 'v': '爱尔兰'}, {'n': '澳大利亚', 'v': '澳大利亚'}]}, {'key': 'sort', 'name': '排序', 'value': [{'n': '近期热度', 'v': 'T'}, {'n': '首播时间', 'v': 'R'}, {'n': '高分优先', 'v': 'S'}]}, {'key': '年代', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2010年代', 'v': '2010年代'}, {'n': '2000年代', 'v': '2000年代'}, {'n': '90年代', 'v': '90年代'}, {'n': '80年代', 'v': '80年代'}, {'n': '70年代', 'v': '70年代'}, {'n': '60年代', 'v': '60年代'}, {'n': '更早', 'v': '更早'}]}, {'key': '平台', 'name': '平台', 'value': [{'n': '全部', 'v': ''}, {'n': '腾讯视频', 'v': '腾讯视频'}, {'n': '爱奇艺', 'v': '爱奇艺'}, {'n': '优酷', 'v': '优酷'}, {'n': '湖南卫视', 'v': '湖南卫视'}, {'n': 'Netflix', 'v': 'Netflix'}, {'n': 'HBO', 'v': 'HBO'}, {'n': 'BBC', 'v': 'BBC'}, {'n': 'NHK', 'v': 'NHK'}, {'n': 'CBS', 'v': 'CBS'}, {'n': 'NBC', 'v': 'NBC'}, {'n': 'tvN', 'v': 'tvN'}]}], 'rank_list_movie': [{'key': '榜单', 'name': '榜单', 'value': [{'n': '实时热门电影', 'v': 'movie_real_time_hotest'}, {'n': '一周口碑电影榜', 'v': 'movie_weekly_best'}, {'n': '豆瓣电影Top250', 'v': 'movie_top250'}]}], 'rank_list_tv': [{'key': '榜单', 'name': '榜单', 'value': [{'n': '实时热门电视', 'v': 'tv_real_time_hotest'}, {'n': '华语口碑剧集榜', 'v': 'tv_chinese_best_weekly'}, {'n': '全球口碑剧集榜', 'v': 'tv_global_best_weekly'}, {'n': '国内口碑综艺榜', 'v': 'show_chinese_best_weekly'}, {'n': '国外口碑综艺榜', 'v': 'show_global_best_weekly'}]}]}, - limit:20, - play_parse:false, - 推荐:'', - 推荐:'js:let d=[];let douban_api_host="http://api.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function subject_real_time_hotest(){try{let res=miniapp_request("/subject_collection/subject_real_time_hotest/items",{});let lists=[];let arr=res.subject_collection_items||[];arr.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"暂无评分";let honnor=(item.honor_infos||[]).map(function(it){return it.title}).join("|");lists.append({vod_id:"msearch:"+TYPE,vod_name:item.title||"",vod_pic:item.pic.normal,vod_remarks:rating+" "+honnor})}});return lists}catch(e){print("发生了错误:"+e.message);return[]}}VODS=subject_real_time_hotest();print(VODS);', - // 手动调用解析请求json的url,此lazy不方便 - lazy:'', - // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', - 一级:'', - 一级:'js:let d=[];let douban=input.split("douban=")[1].split("&")[0];let douban_api_host="http://api.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);if(/request_error/.test(html)){print(html)}return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function cate_filter(d,douban){douban=douban||"";try{let res={};if(MY_CATE==="interests"){if(douban){let status=MY_FL.status||"mark";let subtype_tag=MY_FL.subtype_tag||"";let year_tag=MY_FL.year_tag||"全部";let path="/user/"+douban+"/interests";res=miniapp_request(path,{type:"movie",status:status,subtype_tag:subtype_tag,year_tag:year_tag,start:(MY_PAGE-1)*count,count:count})}else{return{}}}else if(MY_CATE==="hot_gaia"){let sort=MY_FL.sort||"recommend";let area=MY_FL.area||"全部";let path="/movie/"+MY_CATE;res=miniapp_request(path,{area:area,sort:sort,start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE==="tv_hot"||MY_CATE==="show_hot"){let stype=MY_FL.type||MY_CATE;let path="/subject_collection/"+stype+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE.startsWith("rank_list")){let id=MY_CATE==="rank_list_movie"?"movie_real_time_hotest":"tv_real_time_hotest";id=MY_FL.榜单||id;let path="/subject_collection/"+id+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else{let path="/"+MY_CATE+"/recommend";let selected_categories;let tags;let sort;if(Object.keys(MY_FL).length>0){sort=MY_FL.sort||"T";tags=Object.values(MY_FL).join(",");if(MY_CATE==="movie"){selected_categories={"类型":MY_FL.类型||"","地区":MY_FL.地区||""}}else{selected_categories={"类型":MY_FL.类型||"","形式":MY_FL.类型?MY_FL.类型+"地区":"","地区":MY_FL.地区||""}}}else{sort="T";tags="";if(MY_CATE==="movie"){selected_categories={"类型":"","地区":""}}else{selected_categories={"类型":"","形式":"","地区":""}}}let params={tags:tags,sort:sort,refresh:0,selected_categories:stringify(selected_categories),start:(MY_PAGE-1)*count,count:count};res=miniapp_request(path,params)}let result={page:MY_PAGE,pagecount:Math.ceil(res.total/count),limit:count,total:res.total};let items=[];if(/^rank_list|tv_hot|show_hot/.test(MY_CATE)){items=res["subject_collection_items"]}else if(MY_CATE==="interests"){res["interests"].forEach(function(it){items.push(it.subject)})}else{items=res.items}let lists=[];items.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"";let rat_str=rating||"暂无评分";let title=item.title;let honor=item.honor_infos||[];let honor_str=honor.map(function(it){return it.title}).join("|");let vod_obj={vod_name:title!=="未知电影"?title:"暂不支持展示",vod_pic:item.pic.normal,vod_remarks:rat_str+" "+honor_str};let vod_obj_d={url:item.type+"$"+item.id,title:title!=="未知电影"?title:"暂不支持展示",pic_url:item.pic.normal,desc:rat_str+" "+honor_str};lists.push(vod_obj);d.push(vod_obj_d)}});result.list=lists;return result}catch(e){print(e.message)}return{}}let res=cate_filter(d,douban);setResult2(res);', - 二级:'', - 搜索:'', -} \ No newline at end of file +const _0x418ebc=_0x3308;(function(_0x1f944c,_0x379a15){const _0x5819f2=_0x3308,_0x4cfdc0=_0x1f944c();while(!![]){try{const _0x299e0a=-parseInt(_0x5819f2(0x25b))/0x1+-parseInt(_0x5819f2(0x191))/0x2*(-parseInt(_0x5819f2(0x211))/0x3)+parseInt(_0x5819f2(0x26d))/0x4*(-parseInt(_0x5819f2(0x2b9))/0x5)+parseInt(_0x5819f2(0x20c))/0x6+-parseInt(_0x5819f2(0x227))/0x7*(-parseInt(_0x5819f2(0x1f7))/0x8)+parseInt(_0x5819f2(0x20b))/0x9+-parseInt(_0x5819f2(0x11a))/0xa*(parseInt(_0x5819f2(0x1ff))/0xb);if(_0x299e0a===_0x379a15)break;else _0x4cfdc0['push'](_0x4cfdc0['shift']());}catch(_0x7e2b42){_0x4cfdc0['push'](_0x4cfdc0['shift']());}}}(_0x3ac0,0xeb16f));import _0x4c5fd3 from'\x61\x73\x73\x65\x74\x73\x3a\x2f\x2f\x6a\x73\x2f\x6c\x69\x62\x2f\x63\x68\x65\x65\x72\x69\x6f\x2e\x6d\x69\x6e\x2e\x6a\x73';import'\x61\x73\x73\x65\x74\x73\x3a\x2f\x2f\x6a\x73\x2f\x6c\x69\x62\x2f\x63\x72\x79\x70\x74\x6f\x2d\x6a\x73\x2e\x6a\x73';const _0x196867={'\x70\x67\x46\x61\x69\x6c':[],'\x68\x65\x61\x64\x65\x72\x73':{'\x75\x73\x65\x72\x2d\x61\x67\x65\x6e\x74':_0x418ebc(0x29a)+'\x69\x6c\x6c'+'\x61\x2f\x35'+_0x418ebc(0x26a)+'\x28\x57\x69'+_0x418ebc(0x121)+'\x77\x73\x20'+'\x4e\x54\x20'+_0x418ebc(0x241)+'\x30\x3b\x20'+'\x57\x69\x6e'+'\x36\x34\x3b'+_0x418ebc(0x14c)+_0x418ebc(0x117)+'\x41\x70\x70'+'\x6c\x65\x57'+_0x418ebc(0x1c5)+_0x418ebc(0x217)+_0x418ebc(0x2bf)+_0x418ebc(0x205)+'\x20\x28\x4b'+_0x418ebc(0x253)+'\x4c\x2c\x20'+_0x418ebc(0x1ad)+'\x65\x20\x47'+'\x65\x63\x6b'+'\x6f\x29\x20'+_0x418ebc(0x189)+_0x418ebc(0x1b3)+_0x418ebc(0x1b6)+'\x33\x2e\x30'+_0x418ebc(0x278)+_0x418ebc(0x18f)+_0x418ebc(0x277)+_0x418ebc(0x16f)+_0x418ebc(0x2bf)+_0x418ebc(0x205),'\x72\x65\x66\x65\x72\x65\x72':_0x418ebc(0x155)+'\x70\x73\x3a'+_0x418ebc(0x242)+_0x418ebc(0x2cc)+_0x418ebc(0x225)+'\x6e\x2e\x63'+_0x418ebc(0x2a7)},'\x70\x69\x63\x5f\x68\x65\x61\x64\x65\x72\x73':[_0x418ebc(0x114)+_0x418ebc(0x14e)+_0x418ebc(0x1cb)+'\x68\x74\x74'+'\x70\x73\x3a'+'\x2f\x2f\x6d'+_0x418ebc(0x2cc)+_0x418ebc(0x225)+_0x418ebc(0x1bc)+_0x418ebc(0x2a7),_0x418ebc(0x1d7)+'\x65\x72\x2d'+_0x418ebc(0x1b0)+_0x418ebc(0x215)+_0x418ebc(0x29a)+_0x418ebc(0x2c0)+'\x61\x2f\x35'+'\x2e\x30\x20'+_0x418ebc(0x179)+_0x418ebc(0x121)+_0x418ebc(0x138)+_0x418ebc(0x168)+_0x418ebc(0x241)+_0x418ebc(0x2b3)+_0x418ebc(0x1bf)+_0x418ebc(0x1b1)+_0x418ebc(0x14c)+'\x34\x29\x20'+'\x41\x70\x70'+_0x418ebc(0x266)+_0x418ebc(0x1c5)+_0x418ebc(0x217)+_0x418ebc(0x2bf)+_0x418ebc(0x205)+_0x418ebc(0x220)+_0x418ebc(0x253)+'\x4c\x2c\x20'+_0x418ebc(0x1ad)+_0x418ebc(0x18a)+_0x418ebc(0x163)+_0x418ebc(0x111)+_0x418ebc(0x189)+_0x418ebc(0x1b3)+_0x418ebc(0x1b6)+'\x33\x2e\x30'+_0x418ebc(0x278)+_0x418ebc(0x18f)+_0x418ebc(0x277)+'\x72\x69\x2f'+_0x418ebc(0x2bf)+'\x2e\x33\x36'],'\x70\x6c\x61\x79\x65\x72':{},'\x66\x69\x6c\x74\x65\x72':{'\x68\x6f\x74\x6d\x6f\x76\x69\x65':[{'\x6b\x65\x79':0x1,'\x6e\x61\x6d\x65':'\u7c7b\u578b','\x76\x61\x6c\x75\x65':[]}],'\x68\x6f\x74\x74\x76':[{'\x6b\x65\x79':0x1,'\x6e\x61\x6d\x65':'\u7c7b\u578b','\x76\x61\x6c\x75\x65':[]}],'\x68\x6f\x74\x7a\x79':[{'\x6b\x65\x79':0x1,'\x6e\x61\x6d\x65':'\u7c7b\u578b','\x76\x61\x6c\x75\x65':[{'\x6e':'\u5168\u90e8','\x76':_0x418ebc(0x1d8)+_0x418ebc(0x166)},{'\x6e':'\u56fd\u5185','\x76':'\x7a\x79\x5f'+'\x63\x6e'},{'\x6e':'\u56fd\u5916','\x76':_0x418ebc(0x1d8)+_0x418ebc(0x292)+'\x65\x72'}]}],'\x6d\x6f\x76\x69\x65\x6c\x69\x73\x74':[{'\x6b\x65\x79':0x1,'\x6e\x61\x6d\x65':'\u7c7b\u578b','\x76\x61\x6c\x75\x65':[{'\x6e':_0x418ebc(0x11c)+_0x418ebc(0x119),'\x76':_0x418ebc(0x29b)+_0x418ebc(0x12c)+_0x418ebc(0x1e6)+_0x418ebc(0x116)+_0x418ebc(0x2c3)+'\x5f\x68\x6f'+_0x418ebc(0x22b)+'\x74'},{'\x6e':_0x418ebc(0x212)+'\u7891\u7535\u5f71'+'\u699c','\x76':_0x418ebc(0x29b)+_0x418ebc(0x12c)+'\x77\x65\x65'+_0x418ebc(0x2c2)+'\x5f\x62\x65'+'\x73\x74'},{'\x6e':_0x418ebc(0x126)+_0x418ebc(0x275)+_0x418ebc(0x198)+'\x30','\x76':'\x74\x6f\x70'+_0x418ebc(0x16c)}]}],'\x74\x76\x6c\x69\x73\x74':[{'\x6b\x65\x79':0x1,'\x6e\x61\x6d\x65':'\u7c7b\u578b','\x76\x61\x6c\x75\x65':[{'\x6e':_0x418ebc(0x11c)+_0x418ebc(0x2b4),'\x76':_0x418ebc(0x153)+'\x72\x65\x61'+'\x6c\x5f\x74'+'\x69\x6d\x65'+'\x5f\x68\x6f'+_0x418ebc(0x22b)+'\x74'},{'\x6e':'\u534e\u8bed\u53e3'+_0x418ebc(0x141)+'\u699c','\x76':'\x74\x76\x5f'+'\x63\x68\x69'+_0x418ebc(0x271)+'\x65\x5f\x62'+'\x65\x73\x74'+_0x418ebc(0x1be)+_0x418ebc(0x28d)+'\x79'},{'\x6e':_0x418ebc(0x2bb)+_0x418ebc(0x141)+'\u699c','\x76':_0x418ebc(0x153)+'\x67\x6c\x6f'+_0x418ebc(0x24f)+_0x418ebc(0x1df)+_0x418ebc(0x147)+_0x418ebc(0x1fc)+_0x418ebc(0x2c2)},{'\x6e':'\u56fd\u5185\u53e3'+'\u7891\u7efc\u827a'+'\u699c','\x76':_0x418ebc(0x24c)+_0x418ebc(0x143)+'\x68\x69\x6e'+'\x65\x73\x65'+'\x5f\x62\x65'+_0x418ebc(0x147)+_0x418ebc(0x1fc)+'\x6b\x6c\x79'},{'\x6e':_0x418ebc(0x1a2)+_0x418ebc(0x29e)+'\u699c','\x76':_0x418ebc(0x24c)+'\x77\x5f\x67'+_0x418ebc(0x17e)+'\x61\x6c\x5f'+_0x418ebc(0x139)+_0x418ebc(0x27b)+_0x418ebc(0x1dd)+'\x6c\x79'}]}],'\x6d\x6f\x76\x69\x65\x66\x69\x6c\x74\x65\x72':[{'\x6b\x65\x79':0x1,'\x6e\x61\x6d\x65':'\u7c7b\u578b','\x76\x61\x6c\x75\x65':[{'\x6e':_0x418ebc(0x2a4)+'\u578b','\x76':''}]},{'\x6b\x65\x79':0x2,'\x6e\x61\x6d\x65':'\u5730\u533a','\x76\x61\x6c\x75\x65':[{'\x6e':_0x418ebc(0x112)+'\u533a','\x76':''}]},{'\x6b\x65\x79':0x3,'\x6e\x61\x6d\x65':'\u5e74\u4ee3','\x76\x61\x6c\x75\x65':[{'\x6e':_0x418ebc(0x17a)+'\u4ee3','\x76':''}]},{'\x6b\x65\x79':0x4,'\x6e\x61\x6d\x65':'\u6807\u7b7e','\x76\x61\x6c\x75\x65':[{'\x6e':_0x418ebc(0x1cc)+'\u7b7e','\x76':''}]},{'\x6b\x65\x79':0x5,'\x6e\x61\x6d\x65':'\u6392\u5e8f','\x76\x61\x6c\x75\x65':[]}],'\x74\x76\x66\x69\x6c\x74\x65\x72':[{'\x6b\x65\x79':0x1,'\x6e\x61\x6d\x65':'\u7c7b\u578b','\x76\x61\x6c\x75\x65':[{'\x6e':_0x418ebc(0x2a4)+'\u578b','\x76':''}]},{'\x6b\x65\x79':0x2,'\x6e\x61\x6d\x65':'\u7535\u89c6\u5267','\x76\x61\x6c\x75\x65':[{'\x6e':_0x418ebc(0x25c)+'\u96c6','\x76':''}]},{'\x6b\x65\x79':0x3,'\x6e\x61\x6d\x65':'\u7efc\u827a','\x76\x61\x6c\x75\x65':[{'\x6e':'\u5168\u90e8\u7efc'+'\u827a','\x76':''}]},{'\x6b\x65\x79':0x4,'\x6e\x61\x6d\x65':'\u5730\u533a','\x76\x61\x6c\x75\x65':[{'\x6e':_0x418ebc(0x112)+'\u533a','\x76':''}]},{'\x6b\x65\x79':0x5,'\x6e\x61\x6d\x65':'\u5e74\u4ee3','\x76\x61\x6c\x75\x65':[{'\x6e':_0x418ebc(0x17a)+'\u4ee3','\x76':''}]},{'\x6b\x65\x79':0x6,'\x6e\x61\x6d\x65':'\u5e73\u53f0','\x76\x61\x6c\x75\x65':[{'\x6e':_0x418ebc(0x171)+'\u53f0','\x76':''}]},{'\x6b\x65\x79':0x7,'\x6e\x61\x6d\x65':'\u6807\u7b7e','\x76\x61\x6c\x75\x65':[{'\x6e':_0x418ebc(0x1cc)+'\u7b7e','\x76':''}]},{'\x6b\x65\x79':0x8,'\x6e\x61\x6d\x65':'\u6392\u5e8f','\x76\x61\x6c\x75\x65':[]}]},'\x63\x61\x63\x68\x65\x53\x75\x62\x44\x42':[],'\x73\x65\x61\x72\x63\x68\x5f\x70\x65\x6e\x64\x69\x6e\x67':_0x418ebc(0x2d0),'\x73\x65\x61\x72\x63\x68\x5f\x66\x75\x6c\x66\x69\x6c\x6c\x65\x64':'\ud83d\udfe2\x20','\x73\x5f\x72\x65\x6d\x61\x72\x6b\x73':_0x418ebc(0x2be)+_0x418ebc(0x2b6)+_0x418ebc(0x184)+'\u8bf7\u5728\x32'+'\x34\u5c0f\u65f6'+_0x418ebc(0x149)+_0x418ebc(0x218)+_0x418ebc(0x207),'\x73\x5f\x74\x79\x70\x65':'\u641c\u7d22','\x73\x5f\x63\x6f\x75\x6e\x74\x72\x79':'\u4e2d\u56fd','\x73\x5f\x61\x75\x74\x68\x6f\x72':'\x4c\x75\x46'+'\x65\x69','\x73\x5f\x64\x65\x73\x63':''};function _0x4cdc36(_0x1adbda){const _0x52bd73=_0x418ebc;console[_0x52bd73(0x2ba)](_0x52bd73(0x29d)+_0x52bd73(0x1d5)+_0x52bd73(0x268)+'\uff01'),_0x573911('\x68\x74\x74'+_0x52bd73(0x20f)+_0x52bd73(0x242)+'\x6f\x76\x69'+_0x52bd73(0x199)+_0x52bd73(0x2a1)+_0x52bd73(0x129)+'\x63\x6f\x6d'+'\x2f\x6a\x2f'+_0x52bd73(0x201)+_0x52bd73(0x15c)+_0x52bd73(0x12b)+_0x52bd73(0x127)+'\x74\x79\x70'+_0x52bd73(0x287)+_0x52bd73(0x209)+_0x52bd73(0x19e)+'\x6f\x75\x72'+'\x63\x65\x3d'+_0x52bd73(0x21a)+'\x65\x78',_0x52bd73(0x2b8)+_0x52bd73(0x29b)+'\x69\x65'),_0x573911('\x68\x74\x74'+_0x52bd73(0x20f)+'\x2f\x2f\x6d'+'\x6f\x76\x69'+'\x65\x2e\x64'+_0x52bd73(0x2a1)+'\x61\x6e\x2e'+'\x63\x6f\x6d'+_0x52bd73(0x1e7)+_0x52bd73(0x201)+_0x52bd73(0x15c)+_0x52bd73(0x12b)+'\x67\x73\x3f'+'\x74\x79\x70'+'\x65\x3d\x74'+_0x52bd73(0x15d)+_0x52bd73(0x2a5)+_0x52bd73(0x25a)+_0x52bd73(0x21a)+'\x65\x78','\x68\x6f\x74'+'\x74\x76'),_0x360ed0(),_0x54c849();}function _0x523813(_0x384218){const _0x23a574=_0x418ebc;let _0x4ce14c=[],_0x210d3f={};_0x384218&&(_0x210d3f[_0x23a574(0x290)+_0x23a574(0x2a0)+'\x73']=_0x196867['\x66\x69\x6c'+_0x23a574(0x2a0)]);let _0x3716dc={'\u70ed\u95e8\u7535\u5f71':_0x23a574(0x2b8)+_0x23a574(0x29b)+'\x69\x65','\u70ed\u95e8\u5267\u96c6':'\x68\x6f\x74'+'\x74\x76','\u70ed\u95e8\u7efc\u827a':_0x23a574(0x2b8)+'\x7a\x79','\u7535\u5f71\u699c\u5355':_0x23a574(0x29b)+'\x69\x65\x6c'+'\x69\x73\x74','\u7535\u89c6\u699c\u5355':_0x23a574(0x29c)+_0x23a574(0x2bc),'\u7535\u5f71\u7b5b\u9009':_0x23a574(0x29b)+'\x69\x65\x66'+_0x23a574(0x1ce)+'\x65\x72','\u7535\u89c6\u7b5b\u9009':'\x74\x76\x66'+_0x23a574(0x1ce)+'\x65\x72'};for(let _0x2ae04d in _0x3716dc){_0x4ce14c[_0x23a574(0x20e)+'\x68']({'\x74\x79\x70\x65\x5f\x69\x64':_0x3716dc[_0x2ae04d],'\x74\x79\x70\x65\x5f\x6e\x61\x6d\x65':_0x2ae04d});}return _0x210d3f[_0x23a574(0x274)+'\x73\x73']=_0x4ce14c,JSON[_0x23a574(0x1a5)+'\x69\x6e\x67'+'\x69\x66\x79'](_0x210d3f);}function _0x4f9cd5(){const _0x143a69=_0x418ebc;let _0xeb6923={},_0x46c517=[];return _0x33d5a0('\x68\x74\x74'+_0x143a69(0x20f)+'\x2f\x2f\x6d'+_0x143a69(0x2cc)+_0x143a69(0x225)+_0x143a69(0x1bc)+_0x143a69(0x2a7)+_0x143a69(0x27c)+'\x78\x61\x72'+_0x143a69(0x233)+_0x143a69(0x19f)+_0x143a69(0x28c)+'\x75\x62\x6a'+_0x143a69(0x23c)+_0x143a69(0x182)+_0x143a69(0x27e)+_0x143a69(0x1a4)+_0x143a69(0x255)+_0x143a69(0x180)+'\x6a\x65\x63'+_0x143a69(0x26c)+_0x143a69(0x1fa)+_0x143a69(0x1d3)+_0x143a69(0x22c)+_0x143a69(0x2b8)+'\x65\x73\x74'+_0x143a69(0x1c6)+_0x143a69(0x14a)+'\x3f\x73\x74'+_0x143a69(0x240)+'\x3d\x30\x26'+_0x143a69(0x283)+_0x143a69(0x215)+'\x35\x30\x26'+_0x143a69(0x298)+_0x143a69(0x160)+_0x143a69(0x249)+'\x74\x3d\x26'+_0x143a69(0x157)+_0x143a69(0x1ab)+_0x143a69(0x1cd)+'\x79\x3d\x31'+'\x26\x66\x6f'+_0x143a69(0x1ae)+_0x143a69(0x175)+_0x143a69(0x19a)+'\x31',_0x46c517),_0xeb6923={'\x6c\x69\x73\x74':_0x46c517},JSON['\x73\x74\x72'+_0x143a69(0x130)+_0x143a69(0x196)](_0xeb6923);}function _0x46a58d(_0x2dc717,_0x333dba,_0x3037c4,_0x1cead5){const _0x5834f4=_0x418ebc;let _0x56c864={},_0x20315a=[],_0x4ddd59='',_0x2fefe4='',_0x48543d='',_0x3be03b='',_0x5e1ef6='',_0x1d7c38='',_0x11789e='',_0x544eaf='',_0x16780a='',_0x4e4307='',_0x1dd826='',_0x26704e='',_0x3feaff='',_0x396066='',_0x240c36='',_0x3f9053=0x3e7,_0x4adcfa='';_0x333dba=parseInt(_0x333dba);switch(_0x2dc717){case _0x5834f4(0x2b8)+_0x5834f4(0x29b)+'\x69\x65':_0x2fefe4=_0x936c08(_0x1cead5,0x1,'\u70ed\u95e8'),_0x2fefe4=encodeURI(_0x2fefe4),_0x4ddd59='\x68\x74\x74'+_0x5834f4(0x20f)+_0x5834f4(0x242)+'\x6f\x76\x69'+_0x5834f4(0x199)+_0x5834f4(0x2a1)+'\x61\x6e\x2e'+_0x5834f4(0x2ce)+'\x2f\x6a\x2f'+_0x5834f4(0x201)+_0x5834f4(0x15c)+_0x5834f4(0x204)+_0x5834f4(0x1ba)+_0x5834f4(0x1de)+_0x5834f4(0x1ee)+_0x5834f4(0x13a)+_0x5834f4(0x29b)+_0x5834f4(0x13f)+_0x5834f4(0x128)+'\x3d'+_0x2fefe4+(_0x5834f4(0x17c)+_0x5834f4(0x113)+_0x5834f4(0x110)+_0x5834f4(0x151)+_0x5834f4(0x1a1)+'\x70\x61\x67'+_0x5834f4(0x2c4)+_0x5834f4(0x2b2)+'\x74\x3d')+(_0x333dba-0x1)*0x32;if(_0xb06eb2(_0x333dba,0x3e7,_0x4ddd59))return;console[_0x5834f4(0x2ba)](_0x4ddd59),_0x151346(_0x4ddd59,_0x20315a);break;case _0x5834f4(0x2b8)+'\x74\x76':_0x2fefe4=_0x936c08(_0x1cead5,0x1,'\u70ed\u95e8'),_0x2fefe4=encodeURI(_0x2fefe4),_0x4ddd59=_0x5834f4(0x155)+_0x5834f4(0x20f)+_0x5834f4(0x242)+_0x5834f4(0x209)+_0x5834f4(0x199)+_0x5834f4(0x2a1)+'\x61\x6e\x2e'+_0x5834f4(0x2ce)+_0x5834f4(0x1e7)+'\x73\x65\x61'+_0x5834f4(0x15c)+_0x5834f4(0x204)+_0x5834f4(0x1ba)+'\x63\x74\x73'+_0x5834f4(0x1ee)+_0x5834f4(0x13a)+_0x5834f4(0x21f)+_0x5834f4(0x128)+'\x3d'+_0x2fefe4+('\x26\x70\x61'+_0x5834f4(0x113)+_0x5834f4(0x110)+'\x69\x74\x3d'+_0x5834f4(0x1a1)+_0x5834f4(0x2a2)+_0x5834f4(0x2c4)+_0x5834f4(0x2b2)+'\x74\x3d')+(_0x333dba-0x1)*0x32;if(_0xb06eb2(_0x333dba,0x3e7,_0x4ddd59))return;_0x151346(_0x4ddd59,_0x20315a);break;case _0x5834f4(0x2b8)+'\x7a\x79':if(_0xb06eb2(_0x333dba,0x1))return;_0x3f9053=0x1,_0x2fefe4=_0x936c08(_0x1cead5,0x1,_0x5834f4(0x1d8)+'\x61\x6c\x6c'),_0x4ddd59=_0x5834f4(0x155)+_0x5834f4(0x20f)+_0x5834f4(0x242)+_0x5834f4(0x2cc)+_0x5834f4(0x225)+_0x5834f4(0x1bc)+_0x5834f4(0x2a7)+_0x5834f4(0x27c)+_0x5834f4(0x237)+_0x5834f4(0x233)+'\x69\x2f\x76'+_0x5834f4(0x28c)+'\x75\x62\x6a'+_0x5834f4(0x23c)+'\x5f\x63\x6f'+_0x5834f4(0x27e)+_0x5834f4(0x1a4)+'\x6f\x6e\x2f'+_0x5834f4(0x24c)+'\x77\x5f\x68'+_0x5834f4(0x265)+_0x5834f4(0x157)+'\x6d\x73\x3f'+_0x5834f4(0x2b1)+_0x5834f4(0x1e8)+_0x5834f4(0x1b5)+_0x5834f4(0x259)+_0x5834f4(0x2c1)+'\x30\x26\x75'+_0x5834f4(0x248)+_0x5834f4(0x16e)+_0x5834f4(0x185)+_0x5834f4(0x173)+_0x5834f4(0x22a)+_0x5834f4(0x13e)+_0x5834f4(0x2b7)+_0x5834f4(0x285)+_0x5834f4(0x181)+_0x5834f4(0x25e)+_0x5834f4(0x238)+_0x5834f4(0x27f),_0x4adcfa=req(_0x4ddd59,{'\x68\x65\x61\x64\x65\x72\x73':_0x196867['\x68\x65\x61'+_0x5834f4(0x2ae)+'\x73']})[_0x5834f4(0x13b)+'\x74\x65\x6e'+'\x74'],_0x4adcfa=JSON[_0x5834f4(0x276)+'\x73\x65'](_0x4adcfa);let _0x3bca51=_0x4adcfa[_0x5834f4(0x180)+_0x5834f4(0x1d4)+'\x74\x5f\x63'+_0x5834f4(0x284)+'\x65\x63\x74'+_0x5834f4(0x1ed)+_0x5834f4(0x133)+_0x5834f4(0x14a)];for(let _0x518425=0x0;_0x518425<_0x3bca51[_0x5834f4(0x23f)+_0x5834f4(0x254)];_0x518425++){let _0x36694a=_0x3bca51[_0x518425][_0x5834f4(0x232)+_0x5834f4(0x158)+_0x5834f4(0x135)+_0x5834f4(0x2bd)+'\x65'],_0x191ade=_0x3bca51[_0x518425][_0x5834f4(0x213)+_0x5834f4(0x130)]?_0x3bca51[_0x518425][_0x5834f4(0x213)+_0x5834f4(0x130)][_0x5834f4(0x256)+'\x75\x65']:'\x30';_0x191ade=_0x191ade=='\x30'?'\u6682\u65e0\u8bc4'+'\u5206':_0x191ade;let _0x37da6b=_0x3bca51[_0x518425][_0x5834f4(0x194)+'\x6f\x72\x5f'+_0x5834f4(0x269)+'\x6f\x73'][_0x5834f4(0x23f)+_0x5834f4(0x254)]!=0x0?_0x3bca51[_0x518425]['\x68\x6f\x6e'+_0x5834f4(0x208)+_0x5834f4(0x269)+'\x6f\x73'][0x0][_0x5834f4(0x164)+'\x6c\x65']:'';if(_0x2fefe4=='\x7a\x79\x5f'+'\x63\x6e')_0x36694a[_0x5834f4(0x21a)+_0x5834f4(0x177)+'\x66']('\u4e2d\u56fd')!=-0x1&&_0x20315a[_0x5834f4(0x20e)+'\x68']({'\x76\x6f\x64\x5f\x69\x64':_0x3bca51[_0x518425]['\x69\x64'],'\x76\x6f\x64\x5f\x6e\x61\x6d\x65':_0x3bca51[_0x518425][_0x5834f4(0x164)+'\x6c\x65'],'\x76\x6f\x64\x5f\x70\x69\x63':_0x4815b8(_0x3bca51[_0x518425][_0x5834f4(0x11b)][_0x5834f4(0x19d)+'\x6d\x61\x6c']),'\x76\x6f\x64\x5f\x72\x65\x6d\x61\x72\x6b\x73':_0x191ade+'\x20'+_0x37da6b});else _0x2fefe4=='\x7a\x79\x5f'+'\x6f\x74\x68'+'\x65\x72'?_0x36694a[_0x5834f4(0x21a)+'\x65\x78\x4f'+'\x66']('\u4e2d\u56fd')==-0x1&&_0x20315a[_0x5834f4(0x20e)+'\x68']({'\x76\x6f\x64\x5f\x69\x64':_0x3bca51[_0x518425]['\x69\x64'],'\x76\x6f\x64\x5f\x6e\x61\x6d\x65':_0x3bca51[_0x518425][_0x5834f4(0x164)+'\x6c\x65'],'\x76\x6f\x64\x5f\x70\x69\x63':_0x4815b8(_0x3bca51[_0x518425][_0x5834f4(0x11b)][_0x5834f4(0x19d)+_0x5834f4(0x243)]),'\x76\x6f\x64\x5f\x72\x65\x6d\x61\x72\x6b\x73':_0x191ade+'\x20'+_0x37da6b}):_0x20315a['\x70\x75\x73'+'\x68']({'\x76\x6f\x64\x5f\x69\x64':_0x3bca51[_0x518425]['\x69\x64'],'\x76\x6f\x64\x5f\x6e\x61\x6d\x65':_0x3bca51[_0x518425][_0x5834f4(0x164)+'\x6c\x65'],'\x76\x6f\x64\x5f\x70\x69\x63':_0x4815b8(_0x3bca51[_0x518425]['\x70\x69\x63'][_0x5834f4(0x19d)+_0x5834f4(0x243)]),'\x76\x6f\x64\x5f\x72\x65\x6d\x61\x72\x6b\x73':_0x191ade+'\x20'+_0x37da6b});}break;case _0x5834f4(0x29b)+_0x5834f4(0x18e)+_0x5834f4(0x2bc):_0x2fefe4=_0x936c08(_0x1cead5,0x1,'\x6d\x6f\x76'+_0x5834f4(0x12c)+_0x5834f4(0x1e6)+_0x5834f4(0x116)+'\x69\x6d\x65'+_0x5834f4(0x172)+_0x5834f4(0x22b)+'\x74'),_0x4ddd59=_0x5834f4(0x155)+_0x5834f4(0x20f)+_0x5834f4(0x242)+_0x5834f4(0x2cc)+_0x5834f4(0x225)+_0x5834f4(0x1bc)+_0x5834f4(0x2a7)+_0x5834f4(0x27c)+_0x5834f4(0x237)+_0x5834f4(0x233)+_0x5834f4(0x19f)+_0x5834f4(0x28c)+'\x75\x62\x6a'+_0x5834f4(0x23c)+_0x5834f4(0x182)+_0x5834f4(0x27e)+'\x63\x74\x69'+'\x6f\x6e\x2f'+_0x2fefe4+(_0x5834f4(0x1c6)+_0x5834f4(0x14a)+_0x5834f4(0x1e9)+_0x5834f4(0x1e4)+'\x65\x64\x5f'+_0x5834f4(0x1c3)+_0x5834f4(0x152)+_0x5834f4(0x14a)+_0x5834f4(0x1e1)+_0x5834f4(0x24e)+'\x31\x26\x66'+'\x6f\x72\x5f'+_0x5834f4(0x1fe)+_0x5834f4(0x16a)+'\x3d\x31');if(_0x2fefe4=='\x74\x6f\x70'+'\x32\x35\x30'){_0x4ddd59=_0x5834f4(0x155)+_0x5834f4(0x20f)+_0x5834f4(0x242)+_0x5834f4(0x209)+_0x5834f4(0x199)+_0x5834f4(0x2a1)+_0x5834f4(0x129)+'\x63\x6f\x6d'+'\x2f'+_0x2fefe4+(_0x5834f4(0x161)+_0x5834f4(0x240)+'\x3d')+(_0x333dba-0x1)*0x19;if(_0xb06eb2(_0x333dba,0xa))return;_0x4adcfa=req(_0x4ddd59,{'\x68\x65\x61\x64\x65\x72\x73':_0x196867['\x68\x65\x61'+_0x5834f4(0x2ae)+'\x73']})[_0x5834f4(0x13b)+'\x74\x65\x6e'+'\x74'];let _0x3834ab=_0x4c5fd3[_0x5834f4(0x294)+'\x64'](_0x4adcfa),_0x3abb15=_0x3834ab('\x2e\x61\x72'+_0x5834f4(0x236)+_0x5834f4(0x1f6)+_0x5834f4(0x23a)+_0x5834f4(0x187)+_0x5834f4(0x18c)+'\x77\x20\x6c'+'\x69');_0x3abb15[_0x5834f4(0x1f8)+'\x68'](function(){const _0x5936d8=_0x5834f4;_0x20315a[_0x5936d8(0x20e)+'\x68']({'\x76\x6f\x64\x5f\x69\x64':_0x3834ab(_0x5936d8(0x17b)+'\x20\x61',this)['\x61\x74\x74'+'\x72'](_0x5936d8(0x118)+'\x66')['\x72\x65\x70'+'\x6c\x61\x63'+'\x65'](/.*?\/(\d+)\/$/,'\x24\x31'),'\x76\x6f\x64\x5f\x6e\x61\x6d\x65':_0x3834ab(_0x5936d8(0x267)+_0x5936d8(0x247)+_0x5936d8(0x2bd)+'\x65',this)[_0x5936d8(0x1c2)+'\x74'](),'\x76\x6f\x64\x5f\x70\x69\x63':_0x4815b8(_0x3834ab(_0x5936d8(0x15e)+_0x5936d8(0x24d)+'\x20\x69\x6d'+'\x67',this)[_0x5936d8(0x17f)+'\x72'](_0x5936d8(0x1af))),'\x76\x6f\x64\x5f\x72\x65\x6d\x61\x72\x6b\x73':_0x3834ab(_0x5936d8(0x267)+_0x5936d8(0x27d)+_0x5936d8(0x1d9)+'\x6e\x67\x5f'+'\x6e\x75\x6d',this)[_0x5936d8(0x1c2)+'\x74']()});});}else{if(_0xb06eb2(_0x333dba,0x1))return;_0x3f9053=0x1,_0x33d5a0(_0x4ddd59,_0x20315a);}break;case _0x5834f4(0x29c)+_0x5834f4(0x2bc):if(_0xb06eb2(_0x333dba,0x1))return;_0x3f9053=0x1,_0x2fefe4=_0x936c08(_0x1cead5,0x1,_0x5834f4(0x153)+_0x5834f4(0x1e6)+_0x5834f4(0x116)+_0x5834f4(0x2c3)+_0x5834f4(0x172)+_0x5834f4(0x22b)+'\x74'),_0x4ddd59=_0x5834f4(0x155)+_0x5834f4(0x20f)+_0x5834f4(0x242)+_0x5834f4(0x2cc)+_0x5834f4(0x225)+_0x5834f4(0x1bc)+_0x5834f4(0x2a7)+_0x5834f4(0x27c)+_0x5834f4(0x237)+_0x5834f4(0x233)+_0x5834f4(0x19f)+'\x32\x2f\x73'+'\x75\x62\x6a'+'\x65\x63\x74'+'\x5f\x63\x6f'+'\x6c\x6c\x65'+'\x63\x74\x69'+'\x6f\x6e\x2f'+_0x2fefe4+(_0x5834f4(0x1c6)+'\x65\x6d\x73'+_0x5834f4(0x1e9)+'\x64\x61\x74'+_0x5834f4(0x257)+_0x5834f4(0x1c3)+_0x5834f4(0x152)+_0x5834f4(0x14a)+_0x5834f4(0x1e1)+'\x6c\x79\x3d'+_0x5834f4(0x2cb)+'\x6f\x72\x5f'+_0x5834f4(0x1fe)+_0x5834f4(0x16a)+'\x3d\x31'),_0x33d5a0(_0x4ddd59,_0x20315a);break;case _0x5834f4(0x29b)+_0x5834f4(0x2c9)+'\x69\x6c\x74'+'\x65\x72':_0x48543d=_0x936c08(_0x1cead5,0x1,''),_0x4e4307=_0x936c08(_0x1cead5,0x2,''),_0x1dd826=_0x936c08(_0x1cead5,0x3,''),_0x26704e=_0x936c08(_0x1cead5,0x4,''),_0x3feaff=_0x936c08(_0x1cead5,0x5,'\x55'),_0x396066=encodeURI(_0x5834f4(0x280)+'\u578b\x22\x3a'+'\x22'+_0x48543d+(_0x5834f4(0x154)+_0x5834f4(0x193)+'\x3a\x22')+_0x4e4307+'\x22\x7d'),_0x240c36=_0x242958(_0x48543d,_0x4e4307,_0x1dd826,_0x26704e),_0x4ddd59=_0x5834f4(0x155)+_0x5834f4(0x20f)+_0x5834f4(0x242)+'\x2e\x64\x6f'+_0x5834f4(0x225)+_0x5834f4(0x1bc)+_0x5834f4(0x2a7)+'\x72\x65\x78'+_0x5834f4(0x237)+'\x2f\x61\x70'+_0x5834f4(0x19f)+_0x5834f4(0x282)+_0x5834f4(0x209)+_0x5834f4(0x132)+_0x5834f4(0x1b7)+_0x5834f4(0x148)+_0x5834f4(0x1ef)+'\x72\x65\x66'+'\x72\x65\x73'+_0x5834f4(0x122)+_0x5834f4(0x178)+_0x5834f4(0x240)+'\x3d'+(_0x333dba-0x1)*0x14+('\x26\x63\x6f'+_0x5834f4(0x1f0)+_0x5834f4(0x186)+_0x5834f4(0x167)+'\x6c\x65\x63'+_0x5834f4(0x16e)+'\x5f\x63\x61'+_0x5834f4(0x11d)+_0x5834f4(0x15b)+_0x5834f4(0x22f))+_0x396066+(_0x5834f4(0x214)+'\x63\x6f\x6c'+_0x5834f4(0x245)+_0x5834f4(0x24a)+_0x5834f4(0x2c8)+'\x65\x26\x73'+_0x5834f4(0x14f)+'\x3d')+_0x3feaff+(_0x5834f4(0x264)+_0x5834f4(0x1ec))+_0x240c36;if(_0xb06eb2(_0x333dba,0x3e7,_0x4ddd59))return;_0x23b354(_0x4ddd59,_0x20315a,_0x5834f4(0x29b)+'\x69\x65');break;case _0x5834f4(0x165)+_0x5834f4(0x1ce)+'\x65\x72':_0x48543d=_0x936c08(_0x1cead5,0x1,''),_0x3be03b=_0x936c08(_0x1cead5,0x2,''),_0x5e1ef6=_0x936c08(_0x1cead5,0x3,''),_0x4e4307=_0x936c08(_0x1cead5,0x4,''),_0x1dd826=_0x936c08(_0x1cead5,0x5,''),_0x16780a=_0x936c08(_0x1cead5,0x6,''),_0x26704e=_0x936c08(_0x1cead5,0x7,''),_0x3feaff=_0x936c08(_0x1cead5,0x8,'\x55'),_0x1d7c38='',_0x11789e='';if(_0x48543d=='')_0x1d7c38='',_0x11789e='',_0x544eaf='';else _0x48543d==_0x5834f4(0x134)?(_0x1d7c38=_0x3be03b,_0x11789e=_0x48543d,_0x544eaf=_0x1d7c38==''?_0x11789e:_0x1d7c38):(_0x1d7c38=_0x5e1ef6,_0x11789e=_0x48543d,_0x544eaf=_0x1d7c38==''?_0x11789e:_0x1d7c38);_0x396066=encodeURI(_0x5834f4(0x280)+'\u578b\x22\x3a'+'\x22'+_0x1d7c38+(_0x5834f4(0x154)+_0x5834f4(0x2ab)+'\x3a\x22')+_0x11789e+(_0x5834f4(0x154)+_0x5834f4(0x193)+'\x3a\x22')+_0x4e4307+'\x22\x7d'),_0x240c36=_0x242958(_0x544eaf,_0x4e4307,_0x1dd826,_0x16780a,_0x26704e),_0x4ddd59='\x68\x74\x74'+'\x70\x73\x3a'+_0x5834f4(0x242)+_0x5834f4(0x2cc)+'\x75\x62\x61'+_0x5834f4(0x1bc)+_0x5834f4(0x2a7)+_0x5834f4(0x27c)+_0x5834f4(0x237)+_0x5834f4(0x233)+'\x69\x2f\x76'+_0x5834f4(0x1c4)+_0x5834f4(0x1c0)+_0x5834f4(0x1b7)+_0x5834f4(0x148)+'\x6e\x64\x3f'+_0x5834f4(0x26f)+'\x72\x65\x73'+_0x5834f4(0x122)+_0x5834f4(0x178)+_0x5834f4(0x240)+'\x3d'+(_0x333dba-0x1)*0x14+(_0x5834f4(0x222)+_0x5834f4(0x1f0)+'\x3d\x32\x30'+_0x5834f4(0x167)+_0x5834f4(0x245)+'\x74\x65\x64'+_0x5834f4(0x22d)+_0x5834f4(0x11d)+_0x5834f4(0x15b)+_0x5834f4(0x22f))+_0x396066+(_0x5834f4(0x214)+_0x5834f4(0x28f)+_0x5834f4(0x245)+_0x5834f4(0x24a)+_0x5834f4(0x2c8)+'\x65\x26\x73'+_0x5834f4(0x14f)+'\x3d')+_0x3feaff+(_0x5834f4(0x264)+_0x5834f4(0x1ec))+_0x240c36;if(_0xb06eb2(_0x333dba,0x3e7,_0x4ddd59))return;_0x23b354(_0x4ddd59,_0x20315a,'\x74\x76');break;default:console[_0x5834f4(0x2ba)]('\x73\x77\x69'+_0x5834f4(0x2d1)+_0x5834f4(0x1e3)+_0x5834f4(0x2c6)+'\u91cc');}return _0x56c864={'\x6c\x69\x73\x74':_0x20315a,'\x70\x61\x67\x65':_0x333dba,'\x70\x61\x67\x65\x63\x6f\x75\x6e\x74':_0x3f9053,'\x6c\x69\x6d\x69\x74':0x64,'\x74\x6f\x74\x61\x6c':0x3e7},JSON[_0x5834f4(0x1a5)+_0x5834f4(0x130)+_0x5834f4(0x196)](_0x56c864);}function _0x3e530c(_0x2ef079,_0x10ade2){const _0x3ca9ae=_0x418ebc;let _0x4b8e0b={};return JSON[_0x3ca9ae(0x1a5)+_0x3ca9ae(0x130)+_0x3ca9ae(0x196)](_0x4b8e0b);}function _0x125c42(_0x46b481){const _0xadd42a=_0x418ebc;let _0x142a33={};return JSON[_0xadd42a(0x1a5)+'\x69\x6e\x67'+_0xadd42a(0x196)](_0x142a33);}function _0x363cc4(_0x237283,_0x233d48,_0xf16708){const _0x39669e=_0x418ebc;let _0x3c4abd={};return _0x3c4abd={'\x70\x61\x72\x73\x65':'\x30','\x6a\x78':'\x30','\x68\x65\x61\x64\x65\x72\x73':'','\x70\x6c\x61\x79\x55\x72\x6c':'','\x75\x72\x6c':_0x233d48},JSON['\x73\x74\x72'+_0x39669e(0x130)+_0x39669e(0x196)](_0x3c4abd);}function _0xb06eb2(_0x4811b6,_0x2e98ad,_0x500c34){const _0x17f17d=_0x418ebc;if(_0x4811b6>_0x2e98ad)return console[_0x17f17d(0x2ba)](0x1),!![];if(_0x500c34&&_0x196867[_0x17f17d(0x144)+'\x61\x69\x6c'][_0x17f17d(0x21a)+'\x65\x78\x4f'+'\x66'](_0x500c34)!=-0x1)return console[_0x17f17d(0x2ba)](_0x500c34),console[_0x17f17d(0x2ba)](_0x196867[_0x17f17d(0x144)+_0x17f17d(0x1fd)]),console[_0x17f17d(0x2ba)](0x2),!![];return![];}function _0x4815b8(_0x537157){const _0x456315=_0x418ebc;if(!_0x537157)return'';let _0xafc73a=/https:\/\/img\d*?\.doubanio\.com/gm,_0x1e3414=_0x537157[_0x456315(0x1ca)+'\x63\x68'](_0xafc73a),_0xf4df01=[_0x456315(0x155)+_0x456315(0x20f)+_0x456315(0x20a)+_0x456315(0x2af)+_0x456315(0x2cc)+'\x75\x62\x61'+_0x456315(0x216)+_0x456315(0x1d6)+'\x6d',_0x456315(0x155)+'\x70\x73\x3a'+_0x456315(0x20a)+_0x456315(0x1a9)+'\x2e\x64\x6f'+_0x456315(0x225)+_0x456315(0x216)+_0x456315(0x1d6)+'\x6d',_0x456315(0x155)+_0x456315(0x20f)+_0x456315(0x20a)+_0x456315(0x197)+_0x456315(0x2cc)+_0x456315(0x225)+_0x456315(0x216)+_0x456315(0x1d6)+'\x6d',_0x456315(0x155)+_0x456315(0x20f)+'\x2f\x2f\x69'+_0x456315(0x230)+_0x456315(0x2cc)+_0x456315(0x225)+_0x456315(0x216)+_0x456315(0x1d6)+'\x6d'],_0x11d7c2=_0xf4df01[Math[_0x456315(0x219)+'\x6e\x64'](Math['\x72\x61\x6e'+_0x456315(0x2cf)]()*(0x3-0x0)+0x0)];return _0x1e3414&&(!_0x537157[_0x456315(0x1ca)+'\x63\x68'](/img2/gm)&&(_0x537157=_0x537157['\x72\x65\x70'+_0x456315(0x23d)+'\x65'](_0xafc73a,_0x11d7c2)),_0x537157=_0x537157+_0x196867[_0x456315(0x11b)+'\x5f\x68\x65'+_0x456315(0x19b)+'\x72\x73'][0x0]+_0x196867[_0x456315(0x11b)+_0x456315(0x159)+_0x456315(0x19b)+'\x72\x73'][0x1]),_0x537157;}function _0xf3c5e3(_0x14ccfc){const _0x1ab2a3=_0x418ebc;let _0x112793=[],_0x41c128=[];for(let _0x968f2c=0x0;_0x968f2c<_0x14ccfc[_0x1ab2a3(0x23f)+_0x1ab2a3(0x254)];_0x968f2c++){_0x14ccfc[_0x968f2c][_0x1ab2a3(0x1ca)+'\x63\x68'](/^\d+$/m)?_0x112793['\x70\x75\x73'+'\x68'](_0x14ccfc[_0x968f2c]):_0x41c128[_0x1ab2a3(0x20e)+'\x68'](_0x14ccfc[_0x968f2c]);}return _0x14ccfc=_0x112793['\x63\x6f\x6e'+'\x63\x61\x74'](_0x41c128),_0x14ccfc;}function _0x242958(){const _0x39f6df=_0x418ebc;let _0x191bb9=[];for(let _0x15d5e5=0x0;_0x15d5e5