parent
db59498272
commit
7f242a2d95
@ -1,258 +0,0 @@ |
|||||||
//本代码仅用于个人学习,请勿用于其他作用,下载后请24小时内删除,代码虽然是公开学习的,但请尊重作者,应留下说明
|
|
||||||
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\[|\]\]>|<!\[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]); |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue