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