更新 'SrcAutoTmpl.js'

pull/1/head
src48597962 2 years ago
parent 46c906296f
commit 0a4bdc83a0
  1. 163
      SrcAutoTmpl.js

@ -40,84 +40,103 @@ function autoerji(url){
erjiTmpl.unshift(tmpl[0]); erjiTmpl.unshift(tmpl[0]);
} }
let detail = {}; let detail = {};
//线程
let task = function(obj) {
//log('【'+obj.id+'】');
let tabs = pdfa(html, obj.tabs);
var arts = [];
tabs.forEach(item => {
let name = pdfh(item, obj.tab_text?obj.tab_text:'h3||a||span||body&&Text');
if(name&&!/更多精品/.test(name)){
arts.push(name);
}
});
let lists = pdfa(html,'body&&'+obj.lists.split(';')[0]);//全线路影片列表
var conts = [];
let key = obj.lists.split(';')[1];
lists.forEach(item=>{
let list = pdfa(item, key);//单线路影片列表
let cont = [];
for (let j = 0; j < list.length; j++) {
let contname = pdfh(list[j],"a&&Text");
let conturl = pd(list[j],obj.tab_id?obj.tab_id:'a&&href');
cont.push(contname+"$"+conturl)
}
conts.push(cont.join("#"))
})
try{
var details = obj.desc.split(';');
var details1 = pdfh(html, details[0]);
var details2 = "";
for(let j=1;j<details.length;j++){
details2 = details2.concat(pdfh(html, details[j]));
}
if(details1&&!detail.details1){detail.details1 = details1;}
if(details2&&!detail.details2){detail.details2 = details2;}
}catch(e){
var details1 = "";
var details2 = "";
}
try{
var pic = pdfh(html, obj.img).replace(/http.*\/tu\.php\?tu=|\/img\.php\?url=| |\/tu\.php\?tu=/g,'');
if(!/^http/.test(pic)){
pic = urldomian + pic;
}
if(pic&&!detail.pic){detail.pic = pic;}
}catch(e){
var pic = "";
}
try{
var desc = obj.content?pdfh(html,obj.content):"";
if(desc&&!detail.desc){detail.desc = desc;}
}catch(e){
var desc = "";
}
return {details1:details1,details2:details2,pic:pic,desc:desc,arts:arts,conts:conts};
};
let setid = 0;
for(let i in erjiTmpl){ for(let i in erjiTmpl){
/*var beresults = [];//用于存储多线程返回对象 if(setid > 0){
var beids = [];//用于存储多线程返回id break;
var beerrors = [];//用于存储多线程是否有错误 }
let p = i+multiline; let p = i+5;
if(p>parselist.length){p=parselist.length} if(p>erjiTmpl.length){p=erjiTmpl.length}
let JxList = []; let TmplList = [];
for(let s=i;s<p;s++){ for(let s=i;s<p;s++){
JxList.push(parselist[s]); TmplList.push(erjiTmpl[s]);
i=s; i=s;
}*/ }
//log('【'+erjiTmpl[ej].id+'】'); let Tmpls = TmplList.map((item)=>{
let t = erjiTmpl[i]; return {
try { func: task,
let tabs = pdfa(html,t.tabs); param: item,
var arts = []; id: item.id
tabs.forEach(item => {
let name = pdfh(item, t.tab_text?t.tab_text:'h3||a||span||body&&Text');
if(name&&!/更多精品/.test(name)){
arts.push(name);
}
});
let lists = pdfa(html,'body&&'+t.lists.split(';')[0]);//全线路影片列表
var conts = [];
let key = t.lists.split(';')[1];
lists.forEach(item=>{
let list = pdfa(item, key);//单线路影片列表
let cont = [];
for (let j = 0; j < list.length; j++) {
let contname = pdfh(list[j],"a&&Text");
let conturl = pd(list[j],t.tab_id?t.tab_id:'a&&href');
cont.push(contname+"$"+conturl)
}
conts.push(cont.join("#"))
})
try{
var details = t.desc.split(';');
var details1 = pdfh(html, details[0]);
var details2 = "";
for(let j=1;j<details.length;j++){
details2 = details2.concat(pdfh(html, details[j]));
}
if(details1&&!detail.details1){detail.details1 = details1;}
if(details2&&!detail.details2){detail.details2 = details2;}
}catch(e){
var details1 = "";
var details2 = "";
}
try{
var pic = pdfh(html,t.img).replace(/http.*\/tu\.php\?tu=|\/img\.php\?url=| |\/tu\.php\?tu=/g,'');
if(!/^http/.test(pic)){
pic = urldomian + pic;
}
if(pic&&!detail.pic){detail.pic = pic;}
}catch(e){
var pic = "";
}
try{
var desc = t.content?pdfh(html,t.content):"";
if(desc&&!detail.desc){detail.desc = desc;}
}catch(e){
var desc = "";
} }
if(arts.length>0&&conts.length>0&&conts[0]){ });
data = {details1:details1,details2:details2,pic:pic,desc:desc,arts:arts,conts:conts}; let t = {};
putMyVar('Tmpl-'+urldomian,JSON.stringify(t)); be(Tmpls, {
let sortidex = sortlist.findIndex(it=>it.id===t.id); func: function(obj, id, error, taskResult) {
if(sortidex>-1) { if (taskResult.arts.length>0&&taskResult.conts.length>0&&taskResult.conts[0]) {
sortlist[sortidex].sort++; setid = id;
}else{ data = taskResult;
sortlist.push({id:t.id,sort:1}); o = obj;
return "break";
} }
writeFile(tmplSortfile, JSON.stringify({erji:sortlist})); },
break; param: {
o: t,
} }
}catch (e) { });
//log('二级模板【'+t.id+'】匹配失败:'+e.message); if(setid>0&&data.conts.length>0){
} putMyVar('Tmpl-'+urldomian,JSON.stringify(t));
let sortidex = sortlist.findIndex(it=>it.id===setid);
if(sortidex>-1) {
sortlist[sortidex].sort++;
}else{
sortlist.push({id:setid,sort:1});
}
data = {details1:data.details1||detail.details1,details2:data.details2||detail.details2,pic:data.pic||detail.pic,desc:data.desc||detail.desc,arts:arts,conts:conts};
}
} }
if(data.conts){ if(data.conts){
return data; return data;

Loading…
Cancel
Save