function JY360(){ try{ MY_URL = MY_URL.replace('#immersiveTheme##autoCache#','').split('##')[1]; let html = request(MY_URL, { headers: { 'User-Agent': PC_UA } }); let json = JSON.parse(html).data; let list = []; let sitename = json.playlink_sites[0]; if(json.allepidetail){ list = json.allepidetail[sitename]; setResult('更新至:' + list[list.length-1].playlink_num); }else if(json.defaultepisode){ list = json.defaultepisode; setResult('更新至:' + list[0].period); }else{ setResult(''); } }catch(e){ log('获取最新失败>'+e.message); setResult(''); } } function sougou() { try{ var html = request(MY_URL.split('##')[1], { headers: { 'User-Agent': PC_UA }, timeout:3000 }); var json = JSON.parse(html.match(/INITIAL_STATE.*?({.*});/)[1]).detail.itemData; var plays = json.play.item_list; var shows = json.play_from_open_index; var list = plays[0].info; }catch(e){ log('获取最新失败>'+e.message); var list = []; setResult(''); } if(list&&list.length > 0){ setResult('更新至:' + list[list.length-1].index); }else if (shows&&plays.length>0) { var arr = []; var zy = shows.item_list[0]; for (var ii in zy.date) { date = zy.date[ii]; day = zy.date[ii].day; for (j in day) { dayy = day[j][0] >= 10 ? day[j][0] : "0" + day[j][0]; Tdate = date.year + date.month + dayy; arr.push(Tdate); if (getMyVar('shsort') == '1') { arr.sort(function(a, b) { return a - b }) } else { arr.sort(function(a, b) { return b - a }) } } } setResult('更新至:' + arr[arr.length-1]); }else{ setResult(''); } } function xunmi(type,ua,data) { if (/v1|app|v2|iptv|cms/.test(type)) { try{ var gethtml = request(MY_URL.split('##')[1], { headers: { 'User-Agent': ua }, timeout:3000 }); if(/cms/.test(type)&&/<\?xml/.test(gethtml)){ var html = gethtml; var isxml = 1; }else{ var html = JSON.parse(gethtml); var isxml = 0; } } catch (e) { var html = ""; } } else if (/xpath|biubiu||custom/.test(type)) { try{ var html = request(MY_URL.split('##')[1], { headers: { 'User-Agent': ua }, timeout:3000 }); } catch (e) { var html = ""; } } try{ if(/cms/.test(type)&&isxml==1){ html = html.replace(/<!\[CDATA\[|\]\]>|/g,''); var conts = xpathArray(html,`//video/dl/dd/text()`); }else if (/v1|app|v2|cms/.test(type)) { if (/cms/.test(type)) { try{ var json = html.list[0]; }catch(e){ var json = html.data.list[0]; } if(json.vod_play_from&&json.vod_play_url){ var conts = json.vod_play_url.split('$$$'); }else if(html.from&&html.play){ var conts = []; for (let i = 0; i < html.play.length; i++) { let cont = []; let plays = html.play[i]; for (let j = 0; j < plays.length; j++) { cont.push(plays[j][0]+"$"+plays[j][1]) } conts.push(cont.join("#")) } }else{ var conts = []; } }else{ if($.type(html.data)=="array"){ var json = html.data[0]; }else{ var json = html.data; } if(json&&json.vod_info){ json = json.vod_info; } var conts = json.vod_play_list || json.vod_url_with_player; } }else if (/iptv/.test(type)) { var conts = html.videolist; }else if (/xpath/.test(type)) { var jsondata = data; try{ var arts = xpathArray(html, jsondata.dtFromNode+(jsondata.dtFromName.indexOf('concat(')>-1?'/text()':jsondata.dtFromName)); }catch(e){ var arts = []; } try{ var conts = []; for (let i = 1; i < arts.length+1; i++) { if(arts[i-1].indexOf("在线视频")>-1){arts[i-1] = '播放源'+i;} let contname = xpathArray(html, jsondata.dtUrlNode+'['+i+']'+jsondata.dtUrlSubNode+jsondata.dtUrlName); let conturl = xpathArray(html, jsondata.dtUrlNode+'['+i+']'+jsondata.dtUrlSubNode+(jsondata.dtUrlId=="@href"?'/'+jsondata.dtUrlId:jsondata.dtUrlId)); let cont = []; for (let j = 0; j < contname.length; j++) { let urlid = jsondata.dtUrlIdR; if(urlid){ let urlidl = urlid.split('(\\S+)')[0]; let urlidr = urlid.split('(\\S+)')[1]; var playUrl = conturl[j].replace(urlidl,'').replace(urlidr,''); }else{ var playUrl = conturl[j]; } cont.push(contname[j]+"$"+jsondata.playUrl.replace('{playUrl}',playUrl)) } conts.push(cont.join("#")) } }catch(e){ var conts = []; } }else if (/biubiu/.test(type)) { try{ var jsondata = data; let bflist = html.split(jsondata.bfjiequshuzuqian.replace(/\\/g,"")); bflist.splice(0,1); var conts = []; for (let i = 0; i < bflist.length; i++) { bflist[i] = bflist[i].split(jsondata.bfjiequshuzuhou.replace(/\\/g,""))[0]; let bfline = pdfa(bflist[i],"body&&a"); let cont = []; for (let j = 0; j < bfline.length; j++) { let contname = pdfh(bfline[j],"a&&Text"); let conturl = pd(bfline[j],"a&&href"); cont.push(contname+"$"+conturl) } conts.push(cont.join("#")) } }catch(e){ var conts = conts||[]; } }else{ //自定义接口/web自动匹配 require(config.依赖.match(/http(s)?:\/\/.*\//)[0] + 'SrcAutoTmpl.js'); let data = autoerji(MY_URL.split('##')[1].split('#')[0],html); var conts = data.conts||[]; } if(/xpath|biubiu/.test(type)&&conts.length==0){ require(config.依赖.match(/http(s)?:\/\/.*\//)[0] + 'SrcAutoTmpl.js'); let data = autoerji(MY_URL.split('##')[1].split('#')[0],html); conts = data.conts; } var lists = []; for (var i in conts) { if (/v1|app|v2/.test(type)) { if(conts[i].url){ let single = conts[i].url||""; if(single){lists.push(single.split('#'))}; }else{ let single = conts[i].urls||[]; if(single.length>0){ var si = []; for (let j = 0; j < single.length; j++) { si.push(single[j].name+"$"+single[j].url); } lists.push(si); }; } }else if (/iptv/.test(type)) { let single = conts[i]||[]; if(single.length>0){ var si = []; for (let j = 0; j < single.length; j++) { si.push(single[j].title+"$"+single[j].url); } lists.push(si); }; }else if (/cms|xpath|biubiu|custom/.test(type)) { let single = conts[i]||""; if(single){ let lines = single.split('#'); if(type=='cms'){ for(let i in lines){ if(lines[i].indexOf('$')==-1){ let ii = parseInt(i)+1; lines[i] = ii+'$'+lines[i]; }else{ break; } } } lists.push(lines) }; } } }catch(e){ var lists = []; } if(lists.length>0){ //取线路选集最多的索引 var indexOfMax = 0; var tempMax = lists[0].length; for(let i = 0; i < lists.length; i ++){ if(lists[i].length > tempMax){ tempMax = lists[i].length; indexOfMax = i; } } var list = lists[indexOfMax]; if (/v1|app|v2|iptv|cms|xpath|biubiu|custom/.test(type)) { try{ let list1 = list[0].split('$')[0]; let list2 = list[list.length-1].split('$')[0]; if(parseInt(list1.match(/(\d+)/)[0])>parseInt(list2.match(/(\d+)/)[0])){ list.reverse(); } }catch(e){ } } setResult('更新至:' + list[list.length-1].split('$')[0]); } }