Sync all projects
This commit is contained in:
@@ -0,0 +1,126 @@
|
||||
var rule = {
|
||||
title: '人人电影网',
|
||||
host: 'https://www.rrdynb.com',
|
||||
homeUrl: '/',
|
||||
url: '/fyclass_fypage.html?',
|
||||
filter_url: '{{fl.class}}',
|
||||
filter: {},
|
||||
searchUrl: '/plus/search.php?q=**&pagesize=10&submit=',
|
||||
searchable: 2,
|
||||
quickSearch: 1,
|
||||
filterable: 0,
|
||||
headers: {
|
||||
'User-Agent': 'PC_UA',
|
||||
'Cookie': ''
|
||||
},
|
||||
timeout: 5000,
|
||||
class_name: '影视&电视剧&老电影&动漫',
|
||||
class_url: 'movie/list_2&dianshiju/list_6&zongyi/list_10&dongman/list_13',
|
||||
play_parse: true,
|
||||
play_json: [{
|
||||
re: '*',
|
||||
json: {
|
||||
parse: 0,
|
||||
jx: 0
|
||||
}
|
||||
}],
|
||||
lazy: "js:\n input = 'push://' + input;\n ",
|
||||
limit: 6,
|
||||
推荐: '',
|
||||
一级: 'li:has(img);img&&alt;img&&data-original;;a&&href',
|
||||
二级: {
|
||||
title: "h1&&Text",
|
||||
img: "img&&src",
|
||||
desc: ".info:eq(0)&&Text",
|
||||
content: ".content&&Text",
|
||||
tabs: `js:
|
||||
pdfh = jsp.pdfh;
|
||||
pdfa = jsp.pdfa;
|
||||
TABS = [];
|
||||
let d = pdfa(html, 'span a');
|
||||
let hasBaidu = false;
|
||||
let hasQuark = false;
|
||||
|
||||
d.forEach(function(it) {
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
if (burl.includes("pan.baidu.com/s/")) {
|
||||
hasBaidu = true;
|
||||
} else if (burl.includes("pan.quark.cn/s/")) {
|
||||
hasQuark = true;
|
||||
}
|
||||
});
|
||||
|
||||
// 确保线路顺序固定:百度网盘在前,夸克网盘在后
|
||||
if (hasBaidu) TABS.push("百度网盘");
|
||||
if (hasQuark) TABS.push("夸克网盘");
|
||||
|
||||
log('生成TABS: ' + JSON.stringify(TABS));`,
|
||||
lists: `js:
|
||||
pdfh = jsp.pdfh;
|
||||
pdfa = jsp.pdfa;
|
||||
LISTS = [];
|
||||
let d = pdfa(html, 'span a');
|
||||
|
||||
// 提取码识别函数
|
||||
function extractCode(title, patterns) {
|
||||
for (let pattern of patterns) {
|
||||
const match = title.match(pattern);
|
||||
if (match && match[1]) {
|
||||
return match[1];
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// 创建资源分类数组
|
||||
let baiduList = [];
|
||||
let quarkList = [];
|
||||
|
||||
d.forEach(function(it) {
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
let title = pdfh(it, 'a&&Text');
|
||||
|
||||
// 百度网盘处理
|
||||
if (burl.includes("pan.baidu.com/s/")) {
|
||||
const baiduPatterns = [
|
||||
/(?:提取码|密码|验证码|code|pwd|码)[::\s]*(\w{4})/i,
|
||||
/(?:\b|\s)(\w{4})(?=提取|百度|网盘|分享|$)/i,
|
||||
/[\s\[](\w{4})[\s\]]/,
|
||||
/\b(\w{4})\b/
|
||||
];
|
||||
const code = extractCode(title, baiduPatterns);
|
||||
if (code) {
|
||||
burl += '#' + code;
|
||||
log('百度网盘提取码识别成功: ' + code);
|
||||
} else {
|
||||
log('未识别到百度提取码,使用原始链接');
|
||||
}
|
||||
baiduList.push(title + '$' + burl);
|
||||
}
|
||||
// 夸克网盘处理
|
||||
else if (burl.includes("pan.quark.cn/s/")) {
|
||||
const quarkPatterns = [
|
||||
/(?:密码|pwd)[::\s]*(\w{4,8})/i,
|
||||
/(?:\b|\s)(\w{4,8})(?=提取|夸克|网盘|分享|$)/i,
|
||||
/[\s\[](\w{4,8})[\s\]]/,
|
||||
/\b(\w{4,8})\b/
|
||||
];
|
||||
const code = extractCode(title, quarkPatterns);
|
||||
if (code) {
|
||||
burl += '#' + code;
|
||||
log('夸克网盘密码识别成功: ' + code);
|
||||
}
|
||||
quarkList.push(title + '$' + burl);
|
||||
}
|
||||
});
|
||||
|
||||
// 按固定顺序添加资源列表,与TABS顺序一致
|
||||
if (baiduList.length > 0) {
|
||||
LISTS.push(baiduList);
|
||||
}
|
||||
if (quarkList.length > 0) {
|
||||
LISTS.push(quarkList);
|
||||
}`,
|
||||
},
|
||||
搜索: 'li:has(img);h2&&Text;img&&data-original;.tags&&Text;a&&href',
|
||||
};
|
||||
@@ -0,0 +1,99 @@
|
||||
globalThis.h_ost = 'https://s.fm.renbenai.com';
|
||||
var rule = {
|
||||
title: '凤凰FM',
|
||||
host: h_ost,
|
||||
url: '/fm/read/fmd/android/600/getProgramList.html&cid=fyclass&pagenum=fypage',
|
||||
homeUrl: '/fm/read/fmd/static/categoryTvGet_100.html',
|
||||
detailUrl: '/fm/read/fmd/android/getProgramAudioList_620.html&pid=fyid',
|
||||
searchUrl: '/fm/read/fmd/public/search_720.html&keyWord=**&searchType=1&pageNum=fypage',
|
||||
searchable: 2,
|
||||
quickSearch: 1,
|
||||
filterable: 0,
|
||||
headers: {
|
||||
'User-Agent': 'okhttp/3.12.11',
|
||||
'Cookie': 'KLBRSID=9b9dd35888924d7c870dd3474e89cab6|1753290568|1753290499'
|
||||
},
|
||||
play_parse: true,
|
||||
search_match: true,
|
||||
class_parse: $js.toString(() => {
|
||||
let html = request(input);
|
||||
let classes = [];
|
||||
let data = JSON.parse(html).data.list[0].channelContent;
|
||||
data.forEach((it) => {
|
||||
let typeName = it.nodeName;
|
||||
let typeId = it.id;
|
||||
classes.push({
|
||||
type_name: typeName,
|
||||
type_id: typeId,
|
||||
});
|
||||
});
|
||||
input = classes;
|
||||
}),
|
||||
一级: $js.toString(() => {
|
||||
let d = [];
|
||||
let html = request(input);
|
||||
let data = JSON.parse(html).data.hotList;
|
||||
data.forEach(item => {
|
||||
let title = item.programName;
|
||||
if (!/名称|排除/.test(title)) {
|
||||
d.push({
|
||||
title: title,
|
||||
desc: item.resourceTitle,
|
||||
img: item.img640_640,
|
||||
url: item.id,
|
||||
});
|
||||
}
|
||||
});
|
||||
setResult(d);
|
||||
}),
|
||||
二级: $js.toString(() => {
|
||||
let html = request(input);
|
||||
let list = JSON.parse(html).data.list;
|
||||
VOD = {
|
||||
vod_name: list[0]['title'] || '暂无名称',
|
||||
type_name: list[0]['vod_class'] || '暂无类型',
|
||||
vod_pic: list[0]['img370_370'] || '暂无图片',
|
||||
vod_remarks: list[0]['tags'] || '暂无备注',
|
||||
vod_content: list[0]['programDetails'] || '暂无剧情介绍'
|
||||
};
|
||||
let playlist = list[0]['audiolist'];
|
||||
let playForm = [];
|
||||
let playUrls = [];
|
||||
list.forEach(item => {
|
||||
const title = item.title;
|
||||
const firstUrl = item.audiolist && item.audiolist[0] ? item.audiolist[0].filePath : '';
|
||||
playUrls.push(`${title}$${firstUrl}`);
|
||||
});
|
||||
VOD.vod_play_from = '凤凰FM';
|
||||
VOD.vod_play_url = playUrls.join('#');
|
||||
}),
|
||||
搜索: $js.toString(() => {
|
||||
let d = [];
|
||||
let html = request(input);
|
||||
let data = JSON.parse(html).data.program;
|
||||
if (rule.search_match) {
|
||||
data = data.filter(it => {
|
||||
let title = it.programName;
|
||||
return title && new RegExp(KEY, "i").test(title);
|
||||
});
|
||||
}
|
||||
data.forEach(item => {
|
||||
let title = item.programName;
|
||||
if (!/名称|排除/.test(title)) {
|
||||
d.push({
|
||||
title: title,
|
||||
desc: item.programName,
|
||||
img: item.img640_640,
|
||||
url: item.id,
|
||||
});
|
||||
}
|
||||
});
|
||||
setResult(d);
|
||||
}),
|
||||
lazy: $js.toString(() => {
|
||||
input = {
|
||||
parse: 0,
|
||||
url: input
|
||||
};
|
||||
}),
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
var rule = {
|
||||
title: '奇珍异兽[官]',
|
||||
host: 'https://www.iqiyi.com',
|
||||
homeUrl: '',
|
||||
detailUrl: 'https://pcw-api.iqiyi.com/video/video/videoinfowithuser/fyid?agent_type=1&authcookie=&subkey=fyid&subscribe=1',
|
||||
searchUrl: 'https://search.video.iqiyi.com/o?if=html5&key=**&pageNum=fypage&pos=1&pageSize=24&site=iqiyi',
|
||||
searchable: 2,
|
||||
multi: 1,
|
||||
filterable: 1,
|
||||
filter: 'H4sIAAAAAAAAA+1Z7U7bSBR9F/9mJY+/zausqihqrRZtC6u0XQlVSEBICGFJAO2Gj6ShLB+hNIHQUkqchr6MZ+y8RSd4fO8syw9UUSmL8ieKzz25vj5zfeaO8kYhyvivb5TfvGllXHkx9cRTxpTJ9AuPX4Xdr3S1wErr1C9z9I/089feNXmSB2nuqJ89GsD8QpkZi9Ew22LrLXZYiwOEJAF60ItOFyDgJDirtIPLYuh/i3Fj5tEgElfz6lnG81KP06+8p1OZ6dTEE6m0sy6tL9+xKFqp0aXGjRuHhTOWzcWgBcziUdD7T+1svhlW1mJUc1zI0FijnW4MA8jmVtlsRWRQgVo8DXvHIoOLiQubgb8Uw7ZUQ/iXSEs01G8RbkY0x4AU9WOeReA6Zs4W2fw20BO4/3adbR4kbCiPnlxQvyXKs3XTklch4z2dmJpE6WmtTf/07yr9Sik6FZmhuP7hFrs8xTzXqrogQHhVotWeCMADNRvs/GMM6pBo5z0wUZGNA1ZrCqaKjfapDVxCiIkVtql/iGXAStLcBT3JxgFTFmTaS2ckOa6fm3bOg27vjqJoqmaJG/JvEmoCakqoAaghoTqguoRqgGoSSgAlEqoCqiJK3AQlroQ6gDoSagNqS6j1C/8Qtxxck9QAlJ6eqJyhqsBQ1QFDBYarXsu5JwjEddUU/3CB4NwkOAOCgwRWPWcb7yFsGTxs87C0ihMvU7+/zjx+ln7p3VzM6PNCdN65a4fnVgRZGQcdg6/bdG3zRtsH3U1garyUR2OK9vC9t7wf7Qmbxf6NjmbBfLH7+tkevZxPuKqFr7RkwDpaQuswuHon6PASyF5GLBNyyJsA0eH9ki1Ys12CW0G+yjZykAd+ELVXwHA1Fy107oJmy4nr3Oq3lglF8s2A7RYEbqDllPK0LEwOX1W51zV0SWn30fEppW1Csx0Hkyw1UHGuLeqVr7G3yeaGlZx8oN0viVoI/53H3cZQ72+byOc4X+QFqYPLFrdsWm6zzhUY963bBHelkUGPDPr+DVp/8AYd+D6rLIoZFO1MciIb3SVfDfxlgUL/RovH4cKFcCLd1aHdWemf/pZYZBu9b/+Kqy9QIr3N/b0dSIJzG/c5VpxN5jPCm/7eTId7Sx42IV3aQnhgv4IBY2QuI3P5CeZiPHhz4UVFu7PJVKRJs9tqPWyuYQC0Y3PL/GQOAUOaU9bBTHjAgp5j73ZptYW/uPV8PgiY9+YcYjDZb/S38iI/liMfP1HsZoM7nEBvPWL+e5oauczwusyw2Yj18G2ktsPHlLCRjAGadJJcOKPlPQwRbB62tQ2DhuZCr/Z3PgWd1WTSIHgSigr1qFOAAA444Yc6jCDcSGznJ517yMgBRg7wQ6cUc2gt4P/SxsO2pGR4l3Qo9NHtodVn1PI/uKTD+0/kEOgz8x1+Ib/uqh0AAA==',
|
||||
url: 'https://pcw-api.iqiyi.com/search/recommend/list?channel_id=fyclass&data_type=1&page_id=fypage&ret_num=24',
|
||||
filter_url: 'is_purchase={{fl.is_purchase}}&mode={{fl.mode}}&three_category_id={{fl.three_category_id}}&market_release_date_level={{fl.year}}®ion={{fl.region}}',
|
||||
headers: {
|
||||
'User-Agent': 'MOBILE_UA'
|
||||
},
|
||||
timeout: 5000,
|
||||
class_name: '电视剧&短剧&电影&综艺&少儿&动漫&漫剧&纪录片&知识',
|
||||
class_url: '2&35&1&6&15&4&37&3&31',
|
||||
limit: 20,
|
||||
play_parse: true,
|
||||
lazy: $js.toString(() => {
|
||||
try {
|
||||
let api = "" + input.split("?")[0];
|
||||
console.log(api);
|
||||
let response = fetch(api, {
|
||||
method: 'get',
|
||||
headers: {
|
||||
'User-Agent': 'okhttp/3.14.9',
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
});
|
||||
let bata = JSON.parse(response);
|
||||
if (bata.url.includes("qiyi")) {
|
||||
input = {
|
||||
parse: 0,
|
||||
url: bata.url,
|
||||
jx: 0,
|
||||
danmaku: "http://127.0.0.1:9978/proxy?do=danmu&site=js&url=" + input.split("?")[0]
|
||||
};
|
||||
} else {
|
||||
input = {
|
||||
parse: 0,
|
||||
url: input.split("?")[0],
|
||||
jx: 1,
|
||||
danmaku: "http://127.0.0.1:9978/proxy?do=danmu&site=js&url=" + input.split("?")[0]
|
||||
};
|
||||
}
|
||||
} catch {
|
||||
input = {
|
||||
parse: 0,
|
||||
url: input.split("?")[0],
|
||||
jx: 1,
|
||||
danmaku: "http://127.0.0.1:9978/proxy?do=danmu&site=js&url=" + input.split("?")[0]
|
||||
};
|
||||
}
|
||||
}),
|
||||
推荐: '',
|
||||
一级: 'js:let d=[];var rm=input.match(/®ion=([^&]+)/);if(rm&&rm[1]){input=input.replace(/three_category_id=[^&]*/,"three_category_id="+rm[1])}input=input.replace(/®ion=[^&]*/g,"");if(MY_CATE==="1"||MY_CATE==="4"){input=input.replace("search/recommend/list","search/video/videolists").replace("page_id=","pageNum=").replace("ret_num=24","pageSize=24")}let html=request(input);let json=JSON.parse(html);if(json.code==="A00003"){fetch_params.headers["user-agent"]=PC_UA;json=JSON.parse(fetch(input,fetch_params))}json.data.list.forEach(function(data){var vid=data.albumId||data.tvId;if(data.channelId===1){desc=data.score?data.score+"分\\t":"";if(data.duration)desc+=data.duration}else if(data.channelId===2||data.channelId===4||data.channelId===35||data.channelId===15||data.channelId===37){if(data.latestOrder===data.videoCount){desc=(data.score?data.score+"分\\t":"")+data.latestOrder+"集全"}else{if(data.videoCount){desc=(data.score?data.score+"分\\t":"")+data.latestOrder+"/"+data.videoCount+"集"}else if(data.latestOrder){desc="更新至 "+data.latestOrder+"集"}else{desc=data.focus||""}}}else if(data.channelId===6){desc=data.period+"期"}else{if(data.latestOrder){desc="更新至 第"+data.latestOrder+"期"}else if(data.period){desc=data.period}else{desc=data.focus||""}}url=MY_CATE+"$"+vid;d.push({url:url,title:data.name,desc:desc,pic_url:data.imageUrl.replace(".jpg","_390_520.jpg?caplist=jpg,webp")})});setResult(d);',
|
||||
二级: 'js:let d=[];let html=request(input);let json=JSON.parse(html).data;VOD={vod_id:"",vod_url:input,vod_name:"",type_name:"",vod_actor:"",vod_year:"",vod_director:"",vod_area:"",vod_content:"",vod_remarks:"",vod_pic:""};VOD.vod_name=json.name;try{if(json.latestOrder){VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+"\\n更新至:第"+json.latestOrder+"集(期)/共"+json.videoCount+"集(期)"}else{VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+json.period}}catch(e){VOD.vod_remarks=json.subtitle}VOD.vod_area=(json.focus||"")+"\\n资费:"+(json.payMark===1?"VIP":"免费")+"\\n地区:"+(json.areas||"");let vsize="579_772";try{vsize=json.imageSize[12]}catch(e){}VOD.vod_pic=json.imageUrl.replace(".jpg","_"+vsize+".jpg?caplist=jpg,webp");VOD.type_name=json.categories.map(function(it){return it.name}).join(",");if(json.people.main_charactor){let vod_actors=[];json.people.main_charactor.forEach(function(it){vod_actors.push(it.name)});VOD.vod_actor=vod_actors.join(",")}VOD.vod_content=json.description;let playlists=[];if(json.channelId===1){playlists=[{playUrl:json.playUrl,imageUrl:json.imageUrl,shortTitle:json.shortTitle,focus:json.focus,period:json.period}]}else{if(json.channelId===6){let qs=json.period.split("-")[0];let listUrl="https://pcw-api.iqiyi.com/album/source/svlistinfo?cid=6&sourceid="+json.albumId+"&timelist="+qs;let playData=JSON.parse(request(listUrl)).data[qs];playData.forEach(function(it){playlists.push({playUrl:it.playUrl,imageUrl:it.imageUrl,shortTitle:it.shortTitle,focus:it.focus,period:it.period})})}else{let listUrl="https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid="+json.albumId+"&size=200&page=1";let data=JSON.parse(request(listUrl)).data;let total=data.total;playlists=data.epsodelist;if(total>200){for(let i=2;i<total/200+1;i++){let listUrl="https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid="+json.albumId+"&size=200&page="+i;let data=JSON.parse(request(listUrl)).data;playlists=playlists.concat(data.epsodelist)}}}}playlists.forEach(function(it){d.push({title:it.shortTitle||"第"+it.order+"集",desc:it.subtitle||it.focus||it.period,img:it.imageUrl.replace(".jpg","_480_270.jpg?caplist=jpg,webp"),url:it.playUrl})});VOD.vod_play_from="qiyi";VOD.vod_play_url=d.map(function(it){return it.title+"$"+it.url}).join("#");',
|
||||
搜索: 'json:.data.docinfos;.albumDocInfo.albumTitle;.albumDocInfo.albumVImage;.albumDocInfo.channel;.albumDocInfo.albumId;.albumDocInfo.tvFocus',
|
||||
}
|
||||
@@ -0,0 +1,243 @@
|
||||
//小心儿悠悠//
|
||||
var rule = {
|
||||
title: '百忙无果[官]',
|
||||
host: 'https://pianku.api.mgtv.com',
|
||||
homeUrl: '',
|
||||
searchUrl: 'https://mobileso.bz.mgtv.com/msite/search/v2?q=**&pn=fypage&pc=10',
|
||||
detailUrl: 'https://pcweb.api.mgtv.com/episode/list?page=1&size=50&video_id=fyid',
|
||||
searchable: 2,
|
||||
quickSearch: 0,
|
||||
filterable: 1,
|
||||
multi: 1,
|
||||
url: '/rider/list/pcweb/v3?platform=pcweb&channelId=fyclass&pn=fypage&pc=80&hudong=1&_support=10000000&kind=a1&area=a1',
|
||||
filter_url: 'year={{fl.year or "all"}}&sort={{fl.sort or "all"}}&chargeInfo={{fl.chargeInfo or "all"}}',
|
||||
headers: {
|
||||
'User-Agent': 'PC_UA'
|
||||
},
|
||||
timeout: 5000,
|
||||
class_name: '电视剧&电影&综艺&动漫&纪录片&教育&少儿',
|
||||
class_url: '2&3&1&50&51&115&10',
|
||||
filter: {
|
||||
"1": getCommonFilter(),
|
||||
"2": getCommonFilter(),
|
||||
"3": getCommonFilter(),
|
||||
"50": getCommonFilter(),
|
||||
"51": getCommonFilter(),
|
||||
"115": getCommonFilter()
|
||||
},
|
||||
limit: 20,
|
||||
play_parse: true,
|
||||
lazy: $js.toString(() => {
|
||||
try {
|
||||
let api = input.split("?")[0];
|
||||
let response = fetch(api, {
|
||||
method: 'get',
|
||||
headers: {
|
||||
'User-Agent': 'okhttp/3.14.9',
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
});
|
||||
let bata = JSON.parse(response);
|
||||
input = {
|
||||
parse: 0,
|
||||
url: bata.url.includes("mgtv") ? bata.url : input.split("?")[0],
|
||||
jx: bata.url.includes("mgtv") ? 0 : 1,
|
||||
danmaku: "http://103.36.220.166:98/tvbox/zh.php?url=" + input.split("?")[0]
|
||||
};
|
||||
} catch {
|
||||
input = {
|
||||
parse: 0,
|
||||
url: input.split("?")[0],
|
||||
jx: 1,
|
||||
danmaku: "http://103.36.220.166:98/tvbox/zh.php?url=" + input.split("?")[0]
|
||||
};
|
||||
}
|
||||
}),
|
||||
一级: 'json:data.hitDocs;title;img;updateInfo||rightCorner.text;playPartId',
|
||||
二级: $js.toString(() => {
|
||||
fetch_params.headers.Referer = "https://www.mgtv.com";
|
||||
fetch_params.headers["User-Agent"] = MOBILE_UA;
|
||||
|
||||
let videoId = input.split('video_id=')[1].split('&')[0];
|
||||
let infoUrl = `https://pcweb.api.mgtv.com/video/info?allowedRC=1&vid=${videoId}&type=b&_support=10000000`;
|
||||
let infoData = JSON.parse(request(infoUrl));
|
||||
|
||||
if (infoData && infoData.data && infoData.data.info) {
|
||||
let detail = infoData.data.info.detail || {};
|
||||
VOD = {
|
||||
vod_name: infoData.data.info.title || "",
|
||||
type_name: detail.kind || "",
|
||||
vod_year: detail.releaseTime || "",
|
||||
vod_area: detail.area || "",
|
||||
vod_actor: detail.leader || "",
|
||||
vod_director: detail.director || "",
|
||||
vod_content: detail.story || "",
|
||||
vod_remarks: detail.updateInfo || ""
|
||||
};
|
||||
if (detail.img) VOD.vod_pic = detail.img;
|
||||
}
|
||||
|
||||
let d = [];
|
||||
let html = request(input);
|
||||
let json = JSON.parse(html);
|
||||
let host = "https://www.mgtv.com";
|
||||
let ourl = json.data.list.length > 0 ? json.data.list[0].url : json.data.series[0].url;
|
||||
if (!/^http/.test(ourl)) ourl = host + ourl;
|
||||
|
||||
fetch_params.headers["User-Agent"] = MOBILE_UA;
|
||||
html = request(ourl);
|
||||
if (html.includes("window.location =")) {
|
||||
ourl = pdfh(html, "meta[http-equiv=refresh]&&content").split("url=")[1];
|
||||
html = request(ourl);
|
||||
}
|
||||
|
||||
try {
|
||||
let details = pdfh(html, ".m-details&&Html").replace(/h1>/, "h6>").replace(/div/g, "br");
|
||||
let actor = "", director = "", time = "";
|
||||
if (/播出时间/.test(details)) {
|
||||
actor = pdfh(html, "p:eq(5)&&Text").substr(0, 25);
|
||||
director = pdfh(html, "p:eq(4)&&Text");
|
||||
time = pdfh(html, "p:eq(3)&&Text");
|
||||
} else {
|
||||
actor = pdfh(html, "p:eq(4)&&Text").substr(0, 25);
|
||||
director = pdfh(html, "p:eq(3)&&Text");
|
||||
time = "已完结";
|
||||
}
|
||||
let _img = pd(html, ".video-img&&img&&src");
|
||||
let JJ = pdfh(html, ".desc&&Text").split("牛马简介:")[1];
|
||||
VOD.vod_name = VOD.vod_name || pdfh(html, ".vt-txt&&Text");
|
||||
VOD.type_name = VOD.type_name || pdfh(html, "p:eq(0)&&Text").substr(0, 6);
|
||||
VOD.vod_area = VOD.vod_area || pdfh(html, "p:eq(1)&&Text");
|
||||
VOD.vod_actor = VOD.vod_actor || actor;
|
||||
VOD.vod_director = VOD.vod_director || director;
|
||||
VOD.vod_remarks = VOD.vod_remarks || time;
|
||||
VOD.vod_pic = VOD.vod_pic || _img;
|
||||
VOD.vod_content = VOD.vod_content || JJ;
|
||||
if (!VOD.vod_name) VOD.vod_name = VOD.type_name;
|
||||
} catch (e) {
|
||||
log("获取影片信息发生错误:" + e.message);
|
||||
}
|
||||
|
||||
function getRjpg(imgUrl, xs) {
|
||||
xs = xs || 3;
|
||||
let picSize = /jpg_/.test(imgUrl) ? imgUrl.split("jpg_")[1].split(".")[0] : false;
|
||||
let rjpg = false;
|
||||
if (picSize) {
|
||||
let a = parseInt(picSize.split("x")[0]) * xs;
|
||||
let b = parseInt(picSize.split("x")[1]) * xs;
|
||||
rjpg = a + "x" + b + ".jpg";
|
||||
}
|
||||
return /jpg_/.test(imgUrl) && rjpg ? imgUrl.replace(imgUrl.split("jpg_")[1], rjpg) : imgUrl;
|
||||
}
|
||||
|
||||
if (json.data.total === 1 && json.data.list.length === 1) {
|
||||
let data = json.data.list[0];
|
||||
d.push({
|
||||
title: data.t4,
|
||||
desc: data.t2,
|
||||
pic_url: getRjpg(data.img),
|
||||
url: "https://www.mgtv.com" + data.url
|
||||
});
|
||||
} else if (json.data.list.length > 1) {
|
||||
for (let i = 1; i <= json.data.total_page; i++) {
|
||||
if (i > 1) json = JSON.parse(fetch(input.replace("page=1", "page=" + i), {}));
|
||||
json.data.list.forEach(function(data) {
|
||||
if (data.isIntact == "1") {
|
||||
d.push({
|
||||
title: data.t4,
|
||||
desc: data.t2,
|
||||
pic_url: getRjpg(data.img),
|
||||
url: "https://www.mgtv.com" + data.url
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
print(input + "暂无片源");
|
||||
}
|
||||
VOD.vod_play_from = "芒果TV";
|
||||
VOD.vod_play_url = d.map(function(it) {
|
||||
return it.title + "$" + it.url;
|
||||
}).join("#");
|
||||
setResult(d);
|
||||
}),
|
||||
搜索: $js.toString(() => {
|
||||
fetch_params.headers.Referer = "https://www.mgtv.com";
|
||||
fetch_params.headers["User-Agent"] = MOBILE_UA;
|
||||
let d = [];
|
||||
let html = request(input);
|
||||
let json = JSON.parse(html);
|
||||
json.data.contents.forEach(function(data) {
|
||||
if (data.type && data.type == 'media') {
|
||||
let item = data.data[0];
|
||||
if (item.source === "imgo") {
|
||||
let fyclass = '';
|
||||
try {
|
||||
fyclass = item.rpt.match(/idx=(.*?)&/)[1] + '$';
|
||||
} catch (e) {
|
||||
log(e.message);
|
||||
}
|
||||
d.push({
|
||||
title: item.title.replace(/<B>|<\/B>/g, ''),
|
||||
img: item.img || '',
|
||||
content: '',
|
||||
desc: item.desc.join(','),
|
||||
url: fyclass + item.url.match(/.*\/(.*?)\.html/)[1]
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
setResult(d);
|
||||
})
|
||||
};
|
||||
|
||||
function getCommonFilter() {
|
||||
return [{
|
||||
"key": "chargeInfo",
|
||||
"name": "付费类型",
|
||||
"value": [
|
||||
{"n": "全部", "v": "all"},
|
||||
{"n": "免费", "v": "b1"},
|
||||
{"n": "vip", "v": "b2"},
|
||||
{"n": "VIP用券", "v": "b3"},
|
||||
{"n": "付费点播", "v": "b4"}
|
||||
]
|
||||
}, {
|
||||
"key": "sort",
|
||||
"name": "排序",
|
||||
"value": [
|
||||
{"n": "最新", "v": "c1"},
|
||||
{"n": "最热", "v": "c2"},
|
||||
{"n": "知乎高分", "v": "c4"}
|
||||
]
|
||||
}, {
|
||||
"key": "year",
|
||||
"name": "年代",
|
||||
"value": [
|
||||
{"n": "全部", "v": "all"},
|
||||
{"n": "2026", "v": "2026"},
|
||||
{"n": "2025", "v": "2025"},
|
||||
{"n": "2024", "v": "2024"},
|
||||
{"n": "2023", "v": "2023"},
|
||||
{"n": "2022", "v": "2022"},
|
||||
{"n": "2021", "v": "2021"},
|
||||
{"n": "2020", "v": "2020"},
|
||||
{"n": "2019", "v": "2019"},
|
||||
{"n": "2018", "v": "2018"},
|
||||
{"n": "2017", "v": "2017"},
|
||||
{"n": "2016", "v": "2016"},
|
||||
{"n": "2015", "v": "2015"},
|
||||
{"n": "2014", "v": "2014"},
|
||||
{"n": "2013", "v": "2013"},
|
||||
{"n": "2012", "v": "2012"},
|
||||
{"n": "2011", "v": "2011"},
|
||||
{"n": "2010", "v": "2010"},
|
||||
{"n": "2009", "v": "2009"},
|
||||
{"n": "2008", "v": "2008"},
|
||||
{"n": "2007", "v": "2007"},
|
||||
{"n": "2006", "v": "2006"},
|
||||
{"n": "2005", "v": "2005"},
|
||||
{"n": "2004", "v": "2004"}
|
||||
]
|
||||
}];
|
||||
}
|
||||
@@ -0,0 +1,416 @@
|
||||
var rule = {
|
||||
author: '书虫/250613/第1版',
|
||||
title: '泥视频',
|
||||
类型: '影视',
|
||||
//主页 网页的域名根
|
||||
host: 'https://www.nivod.vip/',
|
||||
hostJs: ``,
|
||||
headers: {
|
||||
'User-Agent': 'Mozilla/5.0'
|
||||
},
|
||||
//不填就默认utf-8,根据网页源码所显示的格式填,根据需要可填UTF-8,GBK,GB2312
|
||||
编码: 'utf-8',
|
||||
timeout: 5000,
|
||||
//首页链接,可以是完整路径或者相对路径,用于分类获取和推荐获取
|
||||
homeUrl: '/',
|
||||
//分类链接,分类参数用fyclasss,页码用fypage,带筛选的用fyfilter,第一页无页码的用[]括起,处理方式同xbpq方式,fyfilter代表filter_url里内容
|
||||
|
||||
// https://www.nivod.vip/k/6-大陆-------2---2021/
|
||||
url: 'https://www.nivod.vip/k/fyfilter/',
|
||||
filter_url: '{{fl.cateId}}-{{fl.area}}-------fypage---{{fl.year}}',
|
||||
detailUrl: 'https://www.nivod.vip/nivod/fyid/',
|
||||
//搜索链接 可以是完整路径或者相对路径,用于分类获取和推荐获取 **代表搜索词 fypage代表页数
|
||||
// searchUrl: 'https://www.shkangping.com/vodsearch/**----------fypage---.html',
|
||||
// 搜索页找参数 数组标题图片副标题链接
|
||||
// 搜索: '*',
|
||||
//rss搜索写法
|
||||
// searchUrl: '/rss/index.xml?wd=**&page=fypage',
|
||||
// ajax搜索写法
|
||||
searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&page=fypage&limit=30',
|
||||
|
||||
搜索: 'json:list;name;pic;en;id',
|
||||
|
||||
searchable: 1,
|
||||
quickSearch: 1,
|
||||
filterable: 1,
|
||||
limit: 10,
|
||||
double: false,
|
||||
class_name: '电影&电视剧&综艺&动漫',
|
||||
//静态分类值
|
||||
class_url: '1&2&3&4',
|
||||
|
||||
|
||||
filter_def: {
|
||||
1: {
|
||||
cateId: '1'
|
||||
},
|
||||
2: {
|
||||
cateId: '2'
|
||||
},
|
||||
3: {
|
||||
cateId: '3'
|
||||
},
|
||||
4: {
|
||||
cateId: '4'
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
//推荐列表可以单独写也是几个参数,和一级列表部分参数一样的可以用*代替,不一样写不一样的,全和一级一样,可以用一个*代替
|
||||
推荐: 'a:has(.lazyload);a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
|
||||
//推荐页的json模式
|
||||
//推荐: 'json:list;vod_name;vod_pic;vod_remarks;vod_id',
|
||||
//数组、标题、图片、副标题、链接,分类页找参数
|
||||
一级: 'a:has(.module-item-pic);a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
|
||||
|
||||
|
||||
//数组、标题、图片、副标题、链接,分类页找参数
|
||||
|
||||
//一级: `js:
|
||||
//let klist=pdfa(request(input),'.vertical-box');
|
||||
// let k=[];
|
||||
//klist.forEach(it=>{
|
||||
// k.push({
|
||||
//title: pdfh(it,'.title&&Text'),
|
||||
// pic_url: !pdfh(it,'.lazyload&&data-original').startsWith('http') ? HOST + pdfh(it,'.lazyload&&data-original') : pdfh(it,'.lazyload&&data-original'),
|
||||
|
||||
//desc: pdfh(it,''),
|
||||
// url: pdfh(it,'a&&href'),
|
||||
//content: ''
|
||||
// })
|
||||
//});
|
||||
//setResult(k)
|
||||
//`,
|
||||
|
||||
//普通搜索模板 搜索数组标题图片副标题链接
|
||||
//搜索: `js:
|
||||
|
||||
//let klist=pdfa(request(input),'.hzixunui-vodlist__thumb');
|
||||
// let k=[];
|
||||
//klist.forEach(it=>{
|
||||
//k.push({
|
||||
// title: pdfh(it,'a&&title'),
|
||||
// pic_url: !pdfh(it,'a&&data-original').startsWith('http') ? HOST + pdfh(it,'a&&data-original') : pdfh(it,'a&&data-original'),
|
||||
// desc: pdfh(it,'.text-right&&Text'),
|
||||
// url: pdfh(it,'a&&href'),
|
||||
// content: ''
|
||||
// })
|
||||
// });
|
||||
// setResult(k)
|
||||
// `,
|
||||
|
||||
//rss搜索模板
|
||||
// 搜索: `js:
|
||||
//let klist=pdfa(request(input),'rss&&item');
|
||||
// let k=[];
|
||||
// klist.forEach(it=>{
|
||||
// it=it.replace(/title|link|author|pubdate|description/g,'p');
|
||||
// k.push({
|
||||
// title: pdfh(it,'p:eq(0)&&Text'),
|
||||
// pic_url: '',
|
||||
// desc: pdfh(it,'p:eq(3)&&Text'),
|
||||
// url: pdfh(it,'p:eq(1)&&Text').replace('cc','la'),
|
||||
// content: pdfh(it,'p:eq(4)&&Text')
|
||||
// })
|
||||
// });
|
||||
// setResult(k)
|
||||
//" `,
|
||||
|
||||
//详情页找参数
|
||||
//第一部分分别是对应参数式中的标题、类型、图片、备注、年份、地区、导演、主演、简介
|
||||
//第二部分分别对应参数式中的线路数组和线路标题
|
||||
//第三部分分别对应参数式中的播放数组、播放列表、播放标题、播放链接
|
||||
|
||||
二级: `js:
|
||||
let html = request(input);
|
||||
VOD = {};
|
||||
VOD.vod_id = input;
|
||||
VOD.vod_name = '集多提示本线路仅供学习交流,贩卖必究!!!标题: '+pdfh(html, 'h1&&Text');
|
||||
VOD.type_name = pdfh(html, '.module-info-tag-link:eq(2)&&Text');
|
||||
VOD.vod_pic = pd(html, '.lazyload&&data-original', input);
|
||||
VOD.vod_remarks = pdfh(html, '.module-info-item:contains(集数)&&Text').replace('集数:','');
|
||||
VOD.vod_year = pdfh(html, '.module-info-tag-link:eq(0)&&Text');
|
||||
VOD.vod_area = pdfh(html, '.module-info-tag-link:eq(1)&&Text');
|
||||
VOD.vod_director = pdfh(html, '.module-info-item:contains(导演)&&Text').replace('导演:','');
|
||||
VOD.vod_actor = pdfh(html, '.module-info-item:contains(主演)&&Text').replace('主演:','');
|
||||
VOD.vod_content = '集多祝您观影愉快!现为您介绍剧情:' + pdfh(html, '.module-info-introduction-content&&Text');
|
||||
|
||||
let r_ktabs = pdfa(html,'#y-playList&&span');
|
||||
let ktabs = r_ktabs.map(it => pdfh(it, 'Text'));
|
||||
VOD.vod_play_from = ktabs.join('$$$');
|
||||
|
||||
|
||||
let klists = [];
|
||||
let r_plists = pdfa(html, '.module-play-list');
|
||||
r_plists.forEach((rp) => {
|
||||
let klist = pdfa(rp, 'body&&a:not([rel])').map((it) => {
|
||||
return pdfh(it, 'a&&Text') + '$' + pd(it, 'a&&href', input);
|
||||
});
|
||||
klist = klist.join('#');
|
||||
klists.push(klist);
|
||||
});
|
||||
VOD.vod_play_url = klists.join('$$$')
|
||||
|
||||
|
||||
`,
|
||||
//是否启用辅助嗅探: 1,0
|
||||
sniffer: 0,
|
||||
// 辅助嗅探规则
|
||||
isVideo: 'http((?!http).){26,}\\.(m3u8|mp4|flv|avi|mkv|wmv|mpg|mpeg|mov|ts|3gp|rm|rmvb|asf|m4a|mp3|wma)',
|
||||
|
||||
play_parse: true,
|
||||
//播放地址通用解析
|
||||
lazy: `js:
|
||||
let kcode = JSON.parse(request(input).match(/var player_.*?=(.*?)</)[1]);
|
||||
let kurl = kcode.url;
|
||||
if (kcode.encrypt == '1') {
|
||||
url = unescape(url)
|
||||
} else if (kcode.encrypt == '2') {
|
||||
url = unescape(base64Decode(url))
|
||||
};
|
||||
if (/\\.(m3u8|mp4)/.test(kurl)) {
|
||||
input = { jx: 0, parse: 0, url: kurl }
|
||||
} else {
|
||||
input = { jx: 0, parse: 1, url: input }
|
||||
}`,
|
||||
filter: {
|
||||
"1": [
|
||||
|
||||
{
|
||||
"key": "cateId",
|
||||
"name": "类型",
|
||||
"value":[
|
||||
{"n": "全部", "v": "1"},
|
||||
{"n": "动作片", "v": "6"},
|
||||
{"n": "喜剧片", "v": "7"},
|
||||
{"n": "爱情片", "v": "8"},
|
||||
{"n": "科幻片", "v": "9"},
|
||||
{"n": "奇幻片", "v": "10"},
|
||||
{"n": "恐怖片", "v": "11"},
|
||||
{"n": "剧情片", "v": "12"},
|
||||
{"n": "战争片", "v": "20"},
|
||||
{"n": "纪录片", "v": "21"},
|
||||
{"n": "动画片", "v": "26"},
|
||||
{"n": "悬疑片", "v": "22"},
|
||||
{"n": "冒险片", "v": "23"},
|
||||
{"n": "犯罪片", "v": "24"},
|
||||
{"n": "惊悚片", "v": "45"},
|
||||
{"n": "歌舞片", "v": "46"},
|
||||
{"n": "灾难片", "v": "47"},
|
||||
{"n": "网络片", "v": "48"}
|
||||
]
|
||||
|
||||
},
|
||||
{
|
||||
"key": "area",
|
||||
"name": "地区",
|
||||
"value": [
|
||||
{"n": "全部", "v": ""},
|
||||
{"n": "大陆", "v": "大陆"},
|
||||
{"n": "香港", "v": "香港"},
|
||||
{"n": "台湾", "v": "台湾"},
|
||||
{"n": "美国", "v": "美国"},
|
||||
{"n": "欧美", "v": "欧美"},
|
||||
{"n": "日本", "v": "日本"},
|
||||
{"n": "韩国", "v": "韩国"},
|
||||
{"n": "泰国", "v": "泰国"},
|
||||
{"n": "其他", "v": "其他"}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"key": "year",
|
||||
"name": "年份",
|
||||
"value": [
|
||||
{"n": "全部", "v": ""},
|
||||
{"n": "2026", "v": "2026"},
|
||||
{"n":" 2025", "v":" 2025"},
|
||||
{"n": "2024", "v": "2024"},
|
||||
{"n": "2023", "v": "2023"},
|
||||
{"n": "2022", "v": "2022"},
|
||||
{"n": "2021", "v": "2021"},
|
||||
{"n": "2020", "v": "2020"},
|
||||
{"n": "2019", "v": "2019"},
|
||||
{"n": "2018", "v": "2018"},
|
||||
{"n": "2017", "v": "2017"},
|
||||
{"n": "2016", "v": "2016"},
|
||||
{"n": "2015", "v": "2015"},
|
||||
{"n": "2014", "v": "2014"},
|
||||
{"n": "2013", "v": "2013"},
|
||||
{"n": "2012", "v": "2012"}
|
||||
]
|
||||
|
||||
}
|
||||
],
|
||||
"2": [{
|
||||
"key": "cateId",
|
||||
"name": "类型",
|
||||
"value":[
|
||||
{"n": "全部", "v": "2"},
|
||||
{"n": "国产剧", "v": "13"},
|
||||
{"n": "港台剧", "v": "14"},
|
||||
{"n": "日剧", "v": "15"},
|
||||
{"n": "韩剧", "v": "33"},
|
||||
{"n": "欧美剧", "v": "16"},
|
||||
{"n": "泰剧", "v": "34"},
|
||||
{"n": "新马剧", "v": "35"},
|
||||
{"n": "其他剧", "v": "25"}
|
||||
]
|
||||
|
||||
},
|
||||
{
|
||||
"key": "area",
|
||||
"name": "地区",
|
||||
"value": [
|
||||
{"n": "全部", "v": ""},
|
||||
{"n": "内地", "v": "内地"},
|
||||
{"n": "韩国", "v": "韩国"},
|
||||
{"n": "香港", "v": "香港"},
|
||||
{"n": "台湾", "v": "台湾"},
|
||||
{"n": "日本", "v": "日本"},
|
||||
{"n": "美国", "v": "美国"},
|
||||
{"n": "泰国", "v": "泰国"},
|
||||
{"n": "英国", "v": "英国"},
|
||||
{"n": "新加坡", "v": "新加坡"},
|
||||
{"n": "其他", "v": "其他"}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"key": "year",
|
||||
"name": "年份",
|
||||
"value": [
|
||||
{"n": "全部", "v": ""},
|
||||
{"n": "2026", "v": "2026"},
|
||||
{"n": "2025", "v": "2025"},
|
||||
{"n": "2024", "v": "2024"},
|
||||
{"n": "2023", "v": "2023"},
|
||||
{"n": "2022", "v": "2022"},
|
||||
{"n": "2021", "v": "2021"},
|
||||
{"n": "2020", "v": "2020"},
|
||||
{"n": "2019", "v": "2019"},
|
||||
{"n": "2018", "v": "2018"},
|
||||
{"n": "2017", "v": "2017"},
|
||||
{"n": "2016", "v": "2016"},
|
||||
{"n": "2015", "v": "2015"},
|
||||
{"n": "2014", "v": "2014"},
|
||||
{"n": "2013", "v": "2013"},
|
||||
{"n": "2012", "v": "2012"}
|
||||
]
|
||||
|
||||
}
|
||||
|
||||
],
|
||||
|
||||
|
||||
"3": [{
|
||||
"key": "cateId",
|
||||
"name": "类型",
|
||||
"value":[
|
||||
{"n": "全部", "v": "3"},
|
||||
{"n": "内地综艺", "v": "27"},
|
||||
{"n": "港台综艺", "v": "28"},
|
||||
{"n": "日本综艺", "v": "29"},
|
||||
{"n": "韩国综艺", "v": "36"},
|
||||
{"n": "欧美综艺", "v": "30"},
|
||||
{"n": "新马泰综艺", "v": "37"},
|
||||
{"n": "其他综艺", "v": "38"}
|
||||
]
|
||||
|
||||
},
|
||||
{
|
||||
"key": "area",
|
||||
"name": "地区",
|
||||
"value": [
|
||||
{"n": "全部", "v": ""},
|
||||
{"n": "内地", "v": "内地"},
|
||||
{"n": "港台", "v": "港台"},
|
||||
{"n": "日韩", "v": "日韩"},
|
||||
{"n": "欧美", "v": "欧美"}
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"key": "year",
|
||||
"name": "年份",
|
||||
"value": [
|
||||
{"n": "全部", "v": ""},
|
||||
{"n": "2026", "v": "2026"},
|
||||
{"n": "2025", "v": "2025"},
|
||||
{"n": "2024", "v": "2024"},
|
||||
{"n": "2023", "v": "2023"},
|
||||
{"n": "2022", "v": "2022"},
|
||||
{"n": "2021", "v": "2021"},
|
||||
{"n": "2020", "v": "2020"},
|
||||
{"n": "2019", "v": "2019"},
|
||||
{"n": "2018", "v": "2018"},
|
||||
{"n": "2017", "v": "2017"},
|
||||
{"n": "2016", "v": "2016"},
|
||||
{"n": "2015", "v": "2015"},
|
||||
{"n": "2014", "v": "2014"},
|
||||
{"n": "2013", "v": "2013"},
|
||||
{"n": "2012", "v": "2012"}
|
||||
]
|
||||
|
||||
}
|
||||
],
|
||||
"4": [{
|
||||
"key": "cateId",
|
||||
"name": "类型",
|
||||
"value": [
|
||||
{"n": "全部", "v": "4"},
|
||||
{"n": "国产动漫", "v": "31"},
|
||||
{"n": "日本动漫", "v": "32"},
|
||||
{"n": "韩国动漫", "v": "39"},
|
||||
{"n": "港台动漫", "v": "40"},
|
||||
{"n": "新马泰动漫", "v": "41"},
|
||||
{"n": "欧美动漫", "v": "42"},
|
||||
{"n": "其他动漫", "v": "43"}
|
||||
]
|
||||
|
||||
},
|
||||
{
|
||||
"key": "area",
|
||||
"name": "地区",
|
||||
"value": [
|
||||
{"n": "全部", "v": ""},
|
||||
{"n": "国产", "v": "国产"},
|
||||
{"n": "日本", "v": "日本"},
|
||||
{"n": "欧美", "v": "欧美"},
|
||||
{"n": "其他", "v": "其他"}
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"key": "year",
|
||||
"name": "年份",
|
||||
"value": [
|
||||
{"n": "全部", "v": ""},
|
||||
{"n": "2026", "v": "2026"},
|
||||
{"n": "2025", "v": "2025"},
|
||||
{"n": "2024", "v": "2024"},
|
||||
{"n": "2023", "v": "2023"},
|
||||
{"n": "2022", "v": "2022"},
|
||||
{"n": "2021", "v": "2021"},
|
||||
{"n": "2020", "v": "2020"},
|
||||
{"n": "2019", "v": "2019"},
|
||||
{"n": "2018", "v": "2018"},
|
||||
{"n": "2017", "v": "2017"},
|
||||
{"n": "2016", "v": "2016"},
|
||||
{"n": "2015", "v": "2015"},
|
||||
{"n": "2014", "v": "2014"},
|
||||
{"n": "2013", "v": "2013"},
|
||||
{"n": "2012", "v": "2012"}
|
||||
]
|
||||
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
var rule = {
|
||||
author: '小可乐/v5.12.2',
|
||||
title: '第一故事',
|
||||
类型: '影视',
|
||||
host: 'https://m.yigushi.com',
|
||||
hostJs: '',
|
||||
headers: {'User-Agent': MOBILE_UA},
|
||||
编码: 'utf-8',
|
||||
timeout: 5000,
|
||||
|
||||
homeUrl: '/',
|
||||
url: '/fyclass/index-htm-page-fypage.html',
|
||||
searchUrl: '/',
|
||||
detailUrl: '',
|
||||
|
||||
limit: 9,
|
||||
double: false,
|
||||
class_parse: $js.toString(() => {
|
||||
rule.classes = pdfa(fetch(`${HOST}/channel.php`), '.list-set&&a').slice(0,5).map(it => {
|
||||
let kName = pdfh(it, 'body&&Text').slice(0,2);
|
||||
let kId = pdfh(it, 'a&&href').match(/com\/(.*?)\//)?.[1] ?? 'Id';
|
||||
return {type_name: kName, type_id: kId};
|
||||
});
|
||||
input = rule.classes;
|
||||
}),
|
||||
|
||||
addPics: {
|
||||
"评书下载": "https://img3.jiemian.com/101/original/20180916/153710102319049900_a700x398.jpg",
|
||||
"戏曲下载": "https://img95.699pic.com/photo/50762/7523.jpg_wh860.jpg",
|
||||
"有声小说": "https://q2.itc.cn/q_70/images03/20251221/546f34ca117c43c6978cbe6a3dcdabd6.png",
|
||||
"儿童故事": "https://img.alicdn.com/bao/uploaded/i3/2617663089/O1CN01yy76Uf1Ygo9eSLT5c_!!0-item_pic.jpg",
|
||||
"相声小品": "https://gd-filems.dancf.com/gaoding/cms/mcm79j/mcm79j/59385/6a211035-3658-45ce-a476-79f6f5dc02b71172884.png?x-oss-process=image/resize,h_1308/interlace,1",
|
||||
"其它": "https://bpic.588ku.com/element_origin_min_pic/23/02/19/f13e41c70e75e82999f929072543ca7e.jpg"
|
||||
},
|
||||
|
||||
getVodList: function(url) {
|
||||
let khtml = fetch(url);
|
||||
let klists = pdfa(khtml, 'li:has(strong)');
|
||||
let kremarks = pdfh(khtml, '.head-bar-title&&Text') || '状态';
|
||||
let item = Object.keys(rule.addPics).find(key => kremarks.includes(key)) ?? '其它';
|
||||
let kpic = rule.addPics[item] || '图片';
|
||||
let kvods = [];
|
||||
klists.forEach(it => {
|
||||
let kname = pdfh(it, 'strong&&Text') || '名称';
|
||||
kvods.push({
|
||||
vod_name: kname,
|
||||
vod_pic: kpic,
|
||||
vod_remarks: kremarks,
|
||||
vod_id: `${pdfh(it, 'a&&href')}@${kname}@${kpic}@${kremarks}`
|
||||
});
|
||||
});
|
||||
return kvods;
|
||||
},
|
||||
|
||||
推荐: '*',
|
||||
一级: $js.toString(() => {
|
||||
VODS = rule.getVodList(input);
|
||||
}),
|
||||
搜索: $js.toString(() => {
|
||||
VODS = [];
|
||||
rule.classes.forEach(it => {
|
||||
input = `${HOST}/${it.type_id}/search.php?kw=${KEY}&page=${MY_PAGE}`;
|
||||
let fvods = rule.getVodList(input);
|
||||
if (fvods.length) {VODS.push(...fvods);}
|
||||
});
|
||||
}),
|
||||
二级: $js.toString(() => {
|
||||
let [kid, kname, kpic, kremarks] = input.split('@');
|
||||
let khtml = fetch(kid);
|
||||
let [eName, eUrl] = [pdfh(khtml, '.content&&a&&Text').match(/【(.*?)】/)?.[1] ?? '无标题', pdfh(khtml, '.content&&a&&href') || 'noUrl'];
|
||||
let kurls = `${eName}$${eUrl}`;
|
||||
VOD = {
|
||||
vod_id: kid,
|
||||
vod_name: kname,
|
||||
vod_pic: kpic,
|
||||
type_name: pdfh(khtml, '.head-bar-title&&Text') || '类型',
|
||||
vod_remarks: kremarks,
|
||||
vod_year: '2025',
|
||||
vod_area: '中国',
|
||||
vod_lang: '国语',
|
||||
vod_director: '导演',
|
||||
vod_actor: '主演',
|
||||
vod_content: pdfh(khtml, '.content--span--a&&Text') || '简介',
|
||||
vod_play_from: '网盘线路',
|
||||
vod_play_url: kurls
|
||||
};
|
||||
}),
|
||||
|
||||
play_parse: true,
|
||||
lazy: $js.toString(() => {
|
||||
let kurl = `push://${input}`;
|
||||
input = {parse: 0, url: kurl, header: rule.headers};
|
||||
}),
|
||||
|
||||
filter: {}
|
||||
}
|
||||
@@ -0,0 +1,275 @@
|
||||
var rule = {
|
||||
title: '小心儿悠悠',
|
||||
host: 'https://v.qq.com',
|
||||
homeUrl: '/x/bu/pagesheet/list?_all=1&append=1&channel=cartoon&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18',
|
||||
detailUrl: 'https://node.video.qq.com/x/api/float_vinfo2?cid=fyid',
|
||||
searchUrl: '**',
|
||||
searchable: 1,
|
||||
filterable: 1,
|
||||
multi: 1,
|
||||
url: '/x/bu/pagesheet/list?_all=1&append=1&channel=fyclass&listpage=1&offset=((fypage-1)*21)&pagesize=21&iarea=-1',
|
||||
filter_url: 'sort={{fl.sort or 75}}&iyear={{fl.iyear}}&year={{fl.year}}&itype={{fl.type}}&ifeature={{fl.feature}}&iarea={{fl.area}}&itrailer={{fl.itrailer}}&gender={{fl.sex}}',
|
||||
filter: 'H4sIAAAAAAAAA+1YW08TWxR+92fMMySdFlrwEY3RnOT4YnzQ8DDBOaERqamVHGJIWksvXFIoYvEcSuViDxVpKYpYprb+mdl7Zv6Fe9rurrXdqE2OlRd4mvnW7L3u31r0mTIxGQpO6MrV+8+Uh/qsclV5EgpHlAFlWnvEUIVm1oixwt5ntKmn7c+mXTgfteJlF2YvgWFlbqCL01y1g4/4ujgpNuyjeY6ryty4K2krDM7qWhg0krMTs74naSSJkhMvdW4YZDcMXGkLvB6vvwO3HrFgGARgI3sZAnwI4z7AfRj3Au7FuAq4inEP4B6Eq6NdnD0ifATwEYwHAA9gHBxW/RgHf9kji/H4gBKZ6UtuA6Pn59a1B+X2L12LPA3roNM6rpPCUg/ZbeNW+pjGE/xuULnyxt7jMGSEPj+0ctkODAl04g1Se96BId+kckoM7ie4SXJ5srDfgSG65udtUkxx70Fl+T+zuc0LGy5JbtINbiCEim7F7eoSdwdKw9l6S7INjiP3M1VSKXAcebS1Rl8VOQ4uWcsZMFIFn6z9LDmroxRx/F2BLkY5HkB659H3I/1t18tuhW59FJoJXigZR2Yf/49uXTyyGgdyoy0eky8bUrcKjaZ62B8q5HjZ3okimR+0CF3eOgfZEfnClX2vCZhIRcwRW6XRHJZ5kPkla104h0KcfmUaC1gfZFjgl9Y5qArmuGgnqlTWwd/YCXcKdNOSIVLMJMnKe3wnyOxozFpI4XNQDnbxC2QTwZUqabwUT7n9gYrlkgn6xwQzWjioR2b7wgVukC4Z/ffkcUILR0Kh6YvkdC2sayi9+SpZNnrmdJJMsBPSBkY3ijR/KG9gh/tWMyNxCUmcmnVOr0O/cODgPQVNAcz0UGAieSLrkmvOP28loxm30xwfWygDqwXrMCsHJLbEho+0HzrldTDlO4sXqlFxtgVwuEmtJi92dHuHbHZnDLo//9o0DLTA8e8zJWs1KS+O4uxAkayvkETtx/l0x+glm/wmNpkMTj3ozz90aHHBXPLNyH+i/430RfdJ+l3vVFL8QMq8z1ATr38C2Nsn5vLhVjqPucSS/klFO815WvnYsyWeQR95H5McHxr0AwyWBAZHAQa7VQ9DzXrRrC3KG3aiJFjVpqBWxTwITYT6UzAijwcjYS04peM4pQzyIkZzZz3HaWzsmhQkstlwF+l8FXgL/L45dpvHSUV2/nnzDzm/LYZzdrNO7IXE0rfu3OX3DPsQG2d2rZNd4QzTA+rvXb8BMPSPnWjalSM7dUDSpzJlk9W02cjTvEELvMf851fh8K8blMwYa/5Uih+b1c7e6+6CD/ibpvn5X6kE2UihuZRstDA8UP9tmsaSlAg2nGH0AT/aJ7ts2MiTieUAhjP+SaNxQHfSUibFXzTQYrKRoDBAW/09PvcVk1nUEv4UAAA=',
|
||||
headers: {
|
||||
'User-Agent': 'PC_UA'
|
||||
},
|
||||
timeout: 5000,
|
||||
cate_exclude: '会员|游戏|全部',
|
||||
class_name: '电影&电视剧&综艺&动漫&少儿&纪录片',
|
||||
class_url: 'movie&tv&variety&cartoon&child&doco',
|
||||
limit: 20,
|
||||
play_parse: true,
|
||||
lazy: $js.toString(() => {
|
||||
let d = [];
|
||||
let url1 = JSON.parse(request("" + input)).url;
|
||||
|
||||
function isEncrypted(url) {
|
||||
return url.includes('baidu.con/') && url.length > 16;
|
||||
}
|
||||
|
||||
let url;
|
||||
if (isEncrypted(url1)) {
|
||||
console.log("");
|
||||
var withoutDomain = url1.replace(/^https:\/\/baidu\.con\//, '');
|
||||
var first16Chars = withoutDomain.substring(0, 16);
|
||||
var remainingString = withoutDomain.substring(16);
|
||||
var key = CryptoJS.enc.Utf8.parse(first16Chars);
|
||||
var iv = key;
|
||||
|
||||
function AES_Decrypt(word) {
|
||||
var srcs = word;
|
||||
var decrypt = CryptoJS.AES.decrypt(srcs, key, {
|
||||
iv: iv,
|
||||
mode: CryptoJS.mode.CBC,
|
||||
padding: CryptoJS.pad.Pkcs7
|
||||
});
|
||||
return decrypt.toString(CryptoJS.enc.Utf8);
|
||||
};
|
||||
|
||||
url = AES_Decrypt(remainingString);
|
||||
} else {
|
||||
console.log("");
|
||||
url = url1;
|
||||
}
|
||||
|
||||
input = {
|
||||
url: url,
|
||||
parse: 0,
|
||||
header: rule.headers
|
||||
}
|
||||
setResult(d);
|
||||
}),
|
||||
|
||||
推荐: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
|
||||
一级: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
|
||||
二级: $js.toString(() => {
|
||||
VOD = {};
|
||||
let d = [];
|
||||
let video_list = [];
|
||||
let video_lists = [];
|
||||
let QZOutputJson;
|
||||
let html = fetch(input, fetch_params);
|
||||
let sourceId = /get_playsource/.test(input) ? input.match(/id=(\d*?)&/)[1] : input.split("cid=")[1];
|
||||
let cid = sourceId;
|
||||
let detailUrl = "https://v.qq.com/detail/m/" + cid + ".html";
|
||||
try {
|
||||
let json = JSON.parse(html);
|
||||
VOD = {
|
||||
vod_url: input,
|
||||
vod_name: json.c.title,
|
||||
type_name: json.typ.join(","),
|
||||
vod_actor: json.nam.join(","),
|
||||
vod_year: json.c.year,
|
||||
vod_content: json.c.description,
|
||||
vod_remarks: json.rec,
|
||||
vod_pic: urljoin2(input, json.c.pic)
|
||||
}
|
||||
} catch (e) {}
|
||||
if (/get_playsource/.test(input)) {
|
||||
eval(html);
|
||||
let indexList = QZOutputJson.PlaylistItem.indexList;
|
||||
indexList.forEach(function(it) {
|
||||
let dataUrl = "https://s.video.qq.com/get_playsource?id=" + sourceId + "&plat=2&type=4&data_type=3&range=" + it + "&video_type=10&plname=qq&otype=json";
|
||||
eval(fetch(dataUrl, fetch_params));
|
||||
let vdata = QZOutputJson.PlaylistItem.videoPlayList;
|
||||
vdata.forEach(function(item) {
|
||||
d.push({
|
||||
title: item.title,
|
||||
pic_url: item.pic,
|
||||
url: item.playUrl
|
||||
})
|
||||
});
|
||||
video_lists = video_lists.concat(vdata)
|
||||
})
|
||||
} else {
|
||||
let json = JSON.parse(html);
|
||||
video_lists = json.c.video_ids;
|
||||
let url = "https://v.qq.com/x/cover/" + sourceId + ".html";
|
||||
if (video_lists.length === 1) {
|
||||
let vid = video_lists[0];
|
||||
let o_url = "https://union.video.qq.com/fcgi-bin/data?otype=json&tid=1804&appid=20001238&appkey=6c03bbe9658448a4&union_platform=1&idlist=" + vid;
|
||||
let o_html = fetch(o_url, fetch_params);
|
||||
eval(o_html);
|
||||
if (QZOutputJson.results && QZOutputJson.results.length > 0) {
|
||||
let it1 = QZOutputJson.results[0].fields;
|
||||
url = "https://v.qq.com/x/cover/" + cid + "/" + vid + ".html";
|
||||
d.push({
|
||||
title: it1.title,
|
||||
url: url
|
||||
})
|
||||
} else {
|
||||
url = "https://v.qq.com/x/cover/" + cid + "/" + vid + ".html";
|
||||
d.push({
|
||||
title: "正片播放",
|
||||
url: url
|
||||
})
|
||||
}
|
||||
} else if (video_lists.length > 1) {
|
||||
for (let i = 0; i < video_lists.length; i += 30) {
|
||||
video_list.push(video_lists.slice(i, i + 30))
|
||||
}
|
||||
video_list.forEach(function(it, idex) {
|
||||
let o_url = "https://union.video.qq.com/fcgi-bin/data?otype=json&tid=1804&appid=20001238&appkey=6c03bbe9658448a4&union_platform=1&idlist=" + it.join(",");
|
||||
let o_html = fetch(o_url, fetch_params);
|
||||
eval(o_html);
|
||||
QZOutputJson.results.forEach(function(it1) {
|
||||
it1 = it1.fields;
|
||||
let url = "https://v.qq.com/x/cover/" + cid + "/" + it1.vid + ".html";
|
||||
d.push({
|
||||
title: it1.title,
|
||||
pic_url: it1.pic160x90.replace("/160", ""),
|
||||
desc: it1.video_checkup_time,
|
||||
url: url,
|
||||
type: it1.category_map && it1.category_map.length > 1 ? it1.category_map[1] : ""
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
let playFrom = [];
|
||||
let playUrl = [];
|
||||
|
||||
let ygKeywords = ["预告", "花絮", "片花", "特辑", "幕后", "采访", "制作", "MV", "主题曲"];
|
||||
|
||||
let yg = d.filter(function(it) {
|
||||
return it.type && ygKeywords.some(keyword => it.type.includes(keyword));
|
||||
});
|
||||
let zp = d.filter(function(it) {
|
||||
return !(it.type && ygKeywords.some(keyword => it.type.includes(keyword)));
|
||||
});
|
||||
|
||||
if (zp.length > 0) {
|
||||
playFrom.push("正片");
|
||||
playUrl.push(zp.map(it => it.title + "$" + it.url).join("#"));
|
||||
}
|
||||
|
||||
if (yg.length > 0) {
|
||||
let 预告 = yg.filter(it => it.type && it.type.includes("预告"));
|
||||
let 花絮片花 = yg.filter(it => it.type && (it.type.includes("花絮") || it.type.includes("片花")));
|
||||
let 特辑 = yg.filter(it => it.type && (it.type.includes("特辑") || it.type.includes("幕后")));
|
||||
|
||||
if (预告.length > 0) {
|
||||
playFrom.push("预告");
|
||||
playUrl.push(预告.map(it => it.title + "$" + it.url).join("#"));
|
||||
}
|
||||
if (花絮片花.length > 0) {
|
||||
playFrom.push("花絮片花");
|
||||
playUrl.push(花絮片花.map(it => it.title + "$" + it.url).join("#"));
|
||||
}
|
||||
if (特辑.length > 0) {
|
||||
playFrom.push("特辑");
|
||||
playUrl.push(特辑.map(it => it.title + "$" + it.url).join("#"));
|
||||
}
|
||||
}
|
||||
|
||||
VOD.vod_play_from = playFrom.join("$$$");
|
||||
VOD.vod_play_url = playUrl.join("$$$");
|
||||
}),
|
||||
搜索: $js.toString(() => {
|
||||
let d = [],
|
||||
keyword = input.split("/")[3];
|
||||
let seenIds = new Set();
|
||||
|
||||
function vodSearch(keyword, page = 0) {
|
||||
return request('https://pbaccess.video.qq.com/trpc.videosearch.mobile_search.MultiTerminalSearch/MbSearch?vplatform=2', {
|
||||
body: JSON.stringify({
|
||||
version: "25042201",
|
||||
clientType: 1,
|
||||
filterValue: "",
|
||||
uuid: "B1E50847-D25F-4C4B-BBA0-36F0093487F6",
|
||||
retry: 0,
|
||||
query: keyword,
|
||||
pagenum: page,
|
||||
isPrefetch: true,
|
||||
pagesize: 30,
|
||||
queryFrom: 0,
|
||||
isneedQc: true,
|
||||
extraInfo: {
|
||||
isNewMarkLabel: "1",
|
||||
multi_terminal_pc: "1",
|
||||
themeType: "1"
|
||||
}
|
||||
}),
|
||||
headers: {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.139 Safari/537.36',
|
||||
'Content-Type': 'application/json',
|
||||
'Origin': 'https://v.qq.com',
|
||||
'Referer': 'https://v.qq.com/'
|
||||
},
|
||||
method: 'POST'
|
||||
});
|
||||
}
|
||||
|
||||
const nonMainContentKeywords = [
|
||||
':', '#', '特辑', '“', '剪辑', '片花', '独家', '专访', '纯享',
|
||||
'制作', '幕后', '宣传', '看点', '主题曲', '插曲', '彩蛋',
|
||||
'精彩', '集锦', '盘点', '回顾', '解说', '评测', '反应', 'reaction'
|
||||
];
|
||||
|
||||
function isMainContent(title) {
|
||||
if (!title) return false;
|
||||
if (title.includes('<em>') || title.includes('</em>')) return false;
|
||||
return !nonMainContentKeywords.some(keyword => title.includes(keyword));
|
||||
}
|
||||
|
||||
try {
|
||||
let html = vodSearch(keyword, 0);
|
||||
let json = JSON.parse(html);
|
||||
|
||||
function processItemList(itemList) {
|
||||
if (!itemList) return;
|
||||
|
||||
itemList.forEach(it => {
|
||||
if (it.doc && it.doc.id && it.videoInfo && isMainContent(it.videoInfo.title)) {
|
||||
const itemId = it.doc.id;
|
||||
if (!seenIds.has(itemId)) {
|
||||
seenIds.add(itemId);
|
||||
d.push({
|
||||
title: it.videoInfo.title,
|
||||
img: it.videoInfo.imgUrl || "",
|
||||
url: itemId,
|
||||
desc: it.videoInfo.secondLine || ""
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (json.data && json.data.normalList) {
|
||||
processItemList(json.data.normalList.itemList);
|
||||
}
|
||||
|
||||
if (json.data && json.data.areaBoxList) {
|
||||
json.data.areaBoxList.forEach(box => {
|
||||
processItemList(box.itemList);
|
||||
});
|
||||
}
|
||||
|
||||
} catch (e) {
|
||||
log("搜索出错: " + e.message);
|
||||
}
|
||||
|
||||
setResult(d);
|
||||
})
|
||||
};
|
||||
@@ -0,0 +1,28 @@
|
||||
var rule = {
|
||||
title:'蜻蜓FM',
|
||||
host:'http://www.qingting.fm',
|
||||
url:'/radiopage/fyclass/fypage',
|
||||
searchUrl:'',
|
||||
searchable:0,
|
||||
quickSearch:0,
|
||||
class_name:'广东&浙江&北京&天津&河北&上海&山西&内蒙古&辽宁&吉林&黑龙江&江苏&安徽&福建&江西&山东&河南&湖北&湖南&广西&海南&重庆&四川&贵州&云南&陕西&甘肃&宁夏&新疆&西藏&青海&资讯&音乐&交通&经济&文艺&都市&体育&双语&综合&生活&旅游&曲艺&方言',
|
||||
class_url:'217&99&3&5&7&83&19&31&44&59&69&85&111&129&139&151&169&187&202&239&254&257&259&281&291&316&327&351&357&308&342&433&442&429&439&432&441&430&431&440&438&435&436&434',
|
||||
headers:{
|
||||
'User-Agent':'PC_UA'
|
||||
},
|
||||
timeout:5000,
|
||||
play_parse:true,
|
||||
play_json:0,
|
||||
lazy:'js:input=input.replace("www.qingting.fm/radios/","lhttp.qingting.fm/live/")+"/64k.mp3"',
|
||||
limit:6,
|
||||
double:false,
|
||||
//推荐:'*',
|
||||
一级:'.contentSec&&.radio;span&&Text;img&&src;.descRadio&&Text;a&&href',
|
||||
二级:'*',
|
||||
搜索:'',
|
||||
|
||||
//是否启用辅助嗅探: 1,0
|
||||
sniffer:1,
|
||||
// 辅助嗅探规则
|
||||
isVideo:"http((?!http).){26,}\\.(m3u8|mp4|flv|avi|mkv|wmv|mpg|mpeg|mov|ts|3gp|rm|rmvb|asf|m4a|mp3|wma)",
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
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
|
||||
@@ -0,0 +1,184 @@
|
||||
//小心儿悠悠//
|
||||
var rule = {
|
||||
title: '优酷视频',
|
||||
host: 'https://www.%79%6f%75%6b%75.com',
|
||||
homeUrl: '',
|
||||
searchUrl: 'https://search.%79%6f%75%6b%75.com/api/search?pg=fypage&keyword=**',
|
||||
searchable: 2,
|
||||
quickSearch: 0,
|
||||
filterable: 1,
|
||||
multi: 1,
|
||||
url: '/category/data?optionRefresh=1&pageNo=fypage¶ms=fyfilter',
|
||||
filter_url: '{{fl}}',
|
||||
filter: 'H4sIAAAAAAAAA+1cWW9bOZZ+718x8MO8jAJY2d0PA3R19TQKaHT3Q2OAwaBgKIkmZXTi1DhOGulGAfIiW14kb7ItW3K8yZY3bV61WNKfueS9+hfNK/KcQ0qy4qSc8mQQwHDyncPLSx6S53w85PU/uuzomZMaYxOprl//9z+6/up/1/Xrrpe+vv5e34Df1+Xp6ve99AsRC+7VR/ZYIsemS0L61vfijb/xRH8bpRB1/eRRurGgqxD1S4VVSLN4RUqxEC9km0vUd1eElKqZaa1jJseLVSxRX9+nEi6IV1BnVyOkc4Gmc6bypHOBpuPLO6QTgCeOSHeitcgF7nPfu1ppxEHf89fN9rPzZfZ+6gr7kVK3X31tnsd2oFsSkFGSznZQ6RTALofyfAR0CmCdIxVWGIY6JcA6lxLULQk8fPa9fTRHPQ/FrNIE9FwCGu44X8YmSYCWzoVFabC0BPjc0DkbmYHnJMDn0rts+gCek4DeN19f2cf3NQCaYL/mnE+CCSQAnVVesaobMJ8kwP6ld0mnAOqGj+ylOdBJgO+rHPDNELxPAmxn5pyV0tBOCVAXGWMzx6CTAHXFU6u8DToJqO8JvjaHfW8AfQa+8/sGWlawW0XlqhWMSjkDfyWVd7vvPlTCxn/h/QI8IPkDXX6f5Pd1+T2S39Pld0l+V5d7Se7V5d0k79bk3h6Ui/9q8sckf6zLH5H8kS6n/nr1/nqpv169v977d8QvaqzX62LqOY+f8mWYpa6q2xio14O+wTctzsJJjfKNyyuGipSGsw3u2ZU5e+qIz8NcI7NZl7F68MIZP2Chc2gpPXlxzDLTdnlBaWh0WPiE5caswqRdqikldcxeT5O3eGB06kffu97Bdz/6qVtWOeacFq/wgc1Ks1thoVNSGu///O7PLf2Q1VDfdSu/GhikxtjlSzYb4pF5VpppaUyzUm+MPZJmpV2eCNQPwZfR1BFivpQzjOXVlWyn4mRHW2zsapKrYtB4tEpd+v6n7z1ufGaV/GcNzp0isxGMO8RnIyR3iNIq+LaNxCycE5YFfyaBFolFTDeiu6dNQMaqISCD7ijFT8HFKvAZgvU1gieb3LMqCSgiAbYycMCC2AMJrhN0O8X6TgGrU6BjO+OsWIZ2SoDvS82RToHrBOSOgXxyz46WyS4uwHaOTPLhVWinBNiWyawItdAWCfC5oVkeWILnJMD3TaTIZgpcJyDbpQNWWbQnxuGViMnPbjgZXFQSkMWnndB7tHgDaL5Uq1YC8oDnVhl6ooDp294MPPU3z+BPiCD1la12rsuNKuWE8kXNftiIN+SKhX/khaBVy7BkuMXjebsfd4P3vv+Vtdwia6FGebtN1nK3u7tHSLqpRLdbopva2NNt8FNvT0/3HfGLCjxuLvDYLfCYCjxqLvDILfCICpjUydvzsOcXZhnW5Sqbi7XMbnu4aJCsX55otGEMn8hCzEDY+8L3xP+it9F8smqhZFU2eGTPCc+2WrVJaTiUwxgLjbFa0E6AxQ0RBf8lVkoZHsYQYbncjJM95dGifYn+UBfhexeGnM2AvXnE8xA1DRHGpNQYXwyxZIp8ryFCs10eipBkvNcQ4aiV1wR/4vlhO7oOvlwXYbnEulUqNX5PGbW2UWBbp0esS6hVAaxv6NAOjfH3B7TFNkRov0pehDO7PMOCBbCfLsL+TmX54pxVWLIXp6G/uoiI37gzDXxGARyD/SMeWLNLwBwJY6sjU1Ztko1DCcLY5/wBC0fqsTOWgbVpiLC9axE7gvxIAiKPGywSY8lTg581S/GN50FnpMIm4/A6xMQmt8QzfDbNN8FxGSLF3MuXzkTplpn7z2PkKh2m7KByY5+BNndK/oTeO0VIqiiA82v9xCqCx1GAOGOQj8JaUeAjaLpVWXCGgQIqgFUXCjwEzVUArRkvsG0YFwXwtfurfAg6rwBN0XOWQ4orAepWVkUQAp0EqItFeGzdydScHBjJEGF/SscsDaZSANscXeenSOclwPqXxtk0OjwJtJlT316nmeMC6k9QWAb70wBko0m+UkIbNcBXBnh7DPD281YdU1NSeUVSSx5fKFcrldTxj01qfUHZqyZuaJLKVuLYRA3dcV0CL/VYVzq1OXYZIEv36ErBOAVvdDKltia7ceoovL2IVfbhe34ZpQBAIjRwKFaP7/HYIrhWxDrNKARYGJwoYQol+6wEagU0asEnavUFjV0ojCVCFyy55DZrMgCFdBGWO1vh+XUWPhRzFsrpIordCb5UNMoZIuz58YlVmqsXMXYi1nru1ILUbRdQv/ac2gF2qgF0neA9eHxCGC1WHm1EGihBGEuMpK3SUX0b8h2EiUil6rETtpcQP0ikNBH2s3oh+mUngcgQpnfN8aESvqgBaLFHWA7PSSTQ2igqs0vH1EaFcRaeVu0IqBWQBI9N7oktgEbwbmjj96G93dVJ5Da7Pm2B/rL8U2VngQEYqdpOnPO6vPVDKbEb4qbCmYpNIzS1ATxiP8WXlqklk3lWW4aWSEDrb1RLlUqAz80k69sReK6RZvQoGRpxaMoOwX5YAZy6HU6G+cYmi4MPVwAndG1WzFxoUrLK4lseJcNWf2KCt56O8hNwwwpo84FpjLABUHdc5qPIXyWgaV2iLa0CqIvs2bPoSSWgld3hkBsyBtCNdhkEyeypEGKjEOQAoFC7nIDrKAJDrq+AOaKwnuS2J4p8Dla1AlhBYcTZmqJNB2F9xj999fLHF/5B/zOa9k7tvVOpiO0PGztrmfbNSsMHNRiCWHgtvKWZVHlvOR/3deNwKxsHkuv99VJ/vXp/vdRfr95fY++B8m4zKazyzt5uY3bqSeGens/LRO99axxPIcT2NJIHpofTRTilkyk7emEV8JwLMXqtw5g9PgJeSwJ03LPT9gk8qgCuilrGTsBeXAFsXSDAlzHrJQHWeR60SylnKl+Pg+8xRFhH7pRvzLGdkPiBmnQR9vByg68BL1AAPdz6iR3NsQqmRxDj05kQn0wKFmHPgg0MEZZLjDm5CyghAeryedrbKED2D1vlcTR+A6CutM7XT+uBMWcL7+noIrR0dZdHtsDSElCMUylFDHOAtaAt2sRCqzwGaVVDhDW1O7aVrDM3x0ZrnymtKJmWQbs88qTf83PThgZtc+lcBrb67c4zf3j1N7WEzWjy6TnGDufLwp48DcOhABG4fRaEqaaAWadxZtF0WmGXY4L38sWgVYIWGSIs10j6QwkJiKy4A26kOAwRjl2HFJ+YpPbplntWncHTZ11E2+CT+hZMOwUMivFD34tnve2oNQuNCcNfNdlQqQ9J2zzgNVgmK1bqZWAACmhs0Y7iRQ8JaOodCVdrcFQp8jRRVauUrAdW2cUOjbwhInY+W6+uIDtvAH1uTOxr821C60CHDQObmdLuJUhAaYbGvkO9z9yEdGL8PL1tFTF7IUGH/c21tgH24Y6TXQOdBG13GE1bC6uwwE/26HSFMFogFK8HNqgEYezPyImT36QShLWW85UMtdwF9HSQLeKmQQIKlWt2WXj8slNF56uLaCqdOufbbL3IguhTdBFaIpvmS3iuKIHmJYWEvKQLsB2LOZaGq1AKUJ1Ve2/KqQZZ9hJr1kT6evU9b/GdglrVq6NXE2Kl1BeqYF/seAiY+B0icPfu3CeFAKh4cOchKQRAxSMhtso7VgHSRo/u/NL7h6YcqxIb6dibP8z/4JF8x4RPa97VfDJ67izDKx/A8SNeTCKqcFM5kQ4HP874gT0KkV0BHJEO96pEOCKHrwAFgzjFTwXIV5fIzypAdHKcZcA/K0BeZk6QN3QxDYD9S1bpwE0B3bNgklcBon9tDr2aNui+/nctK3K8xBaGrlqRqNRH4JtvfqtET5489TwZ6Bvse/2DRnMzlDiWwOOSuWRGfe0xk/M8fTr41qMSa8WamHuSucgCzuSwHc+ImMdjC26Zmka9G8ytwcfxDboIyv3h1Vv/v/zRN/hmwK+KvXAl/VKCpX7/HWpf/bWv/zlqfvOvv1MaHxX/01/+Qwn/x9//1P9184+b5y/o1PBWU0Q3dIzWxtVr2YmfdQm8nS9XB+837sidXIhInAKoG82zmW07Bb6OMJbQbx003TdwMseslBIhi63hPRpdRJR2hsePxQ9tbqTIo2RYYePkT/tSCzFWJYxEnEkC3WuhTgGseaLEE3ABSQF8br3oZNKSXsHTuojGboJt56wivh6xMfP9r358oc17OawsmWLzSy3j1qw0pt/BrlDzczAtYdzI7R/xxEF9BPwbYaxjpcKO9/kaMA7C2KmtIM/CVkQBrH8lVD8ecvKQ0iaMT+9N2itAjhXAd1eW+XRWRGR4N2IclPkpvlR0QnjbDbGZSEDy3ZJC+BoPvsaD/6/xQGV3KB78b1//3/t6n/v7B24kV5ZetEp4P04CXJjDx27qaV1s+IH/6SKPBE61Kri4AmKLL/ihxw4VxI8UeeqrUau8rYD8R95bo0bsVASXt1NhJ4ypi2yY7Z/a0T3BiD38bEpYzaPLVOG22xS3hYc7UuQRO2X3H9E1nliv72SMm2sTU+xi59vv/gte2sDP+t5pm/MV0WInNcxqcG5miGhr4o6SkbgzRGY5qzRPSRMpklsIjwKN40cF6rGgky17ZD7SI1aXaICHzWadedrhOLPTbA/S6ApgF+RtR9V48+qjm8zdhbFVwFivA/7n/b7+p+96Xw+2yS/UY+c803rY2Kw05ltSBGtMyUmgzUW3e3i2IbExVQtpQ+0eWupPr6yaT6+sXpVqfuJ78q63XcokNNYhZYLKLiNl4tVTJrTevXfukUIALZfyUM+lkON1xf+m5A8/lC2RbbqiqR/lLg3l/0Gn+TEJk+uR7MYavnmSzYJH7DIgCCNyFcBYYjYsvKX4zWJwcmSIdIZ71WXcTizWutwVW3Mjq2GIcEBmx4Srg5UvwXVyN6w24pYmgo2YhnqGn8FVFwVQl9k0niZM/mGJMqUKoE1OFlkVbK4AbUI27cwyT8A0IIw1LxxrzZYAnx6atgqrku5DBbqIskzu1/xq9qiadNHnyQD95XffKpF74QPbHDgXNNzdNGCvDBH1O2RV4kY5Q0QzLsvWdu3dGaNosxQ3BaWynRiSE0fI6ytwTNpGcR03JtNQV5iFlNdxabeV9P2Qm2r2RNdhhW1v+bkOTMZxcmDP+t72ve571d9sV5eQXXkwTEq9K/r3mtQY41L2w/aD8OBWLPvRxlPfPdy+8WhO3v+iDao+mvniDHpTZyTZDF1iUQC99PkJ6RTAls3ol19mjGsvv/3mN0rh/g+97vxCPQ8ngQp8ETNEfbF1+zOkw2z4zJdrmnQfvvV83b/H0fHvbHwgc/byzeu+p72NfdENXb7hl1EWzWsfsSGGEi/63vrtSI4hV9MEONG3htjOEgsW7CROd12Ey6vDJ4OskncPwCLr9JWeIcJ3NeamTGPAu3SRWU4wPWJHhsgs1/zHI5qlZumXb41iAja1Tv9eyhB9EctffTl5+8v/IwPEc9G23icDvv5nzQ39BL7qfpITCDrhbSeAh8q6CNszP82KJ/Zx1ZnCz+N1EW20rvf5uVO7sCobxufdhgjHLzRnr46an4HrIiyXDNsT+2I/wEMxNnLGcngM3qqgzYWb0BetYumYU4vrW9sWBfbv6MgqRcUKpK8IDRGWmz4U9nECQ/VL+AM3hghX0q7Yo23w0yrLwmgbIqyv8efj3C/qcR4bIrRr49qsMxS143h0oYs+A9NwzkadDO78JUBdatvJQk5BAQolZVoNCuDQHK/Y8XkYDgnQFB2u7ckxA50EpDtzc5/6R3KGCKd6eFFs0d0GYTAwRFif/EMJeEBJGGvqcOfTjsfs4SL2ogGw9/JLDyPboovMcsbCNkQ4CtlRfgbjpgC2MTfKxrGNEmAb02KNYT5GAnyu0wXJ8AlfPhcLjp42RFRu057Ae68S0MyZdyaO+URG+/iyIfp3JfsCYsxP/wRUPz6c31QAAA==',
|
||||
headers: {
|
||||
'User-Agent': 'PC_UA',
|
||||
'Cookie': 'cna=VvNvGX3e0ywCAavVEXlnA2bg; __ysuid=1626676228345Rl1; __ayft=1652434048647; __arycid=dm-1-00; __arcms=dm-1-00; __ayvstp=85; __arpvid=1667204023100cWWdgM-1667204023112; __ayscnt=10; __aypstp=60; isg=BBwcqxvvk3BxkWQGugbLpUSf7TrOlcC_U7GAj_YdfYfvQbzLHqYGT4Hgp6m5TvgX; tfstk=c3JOByYUH20ilVucLOhh0pCtE40lZfGc-PjLHLLfuX7SWNyAiQvkeMBsIw7PWDC..; l=eBQguS-PjdJFGJT-BOfwourza77OSIRA_uPzaNbMiOCPOb1B5UxfW6yHp4T6C3GVhsGJR3rp2umHBeYBqQd-nxvOF8qmSVDmn',
|
||||
'Referer': 'https://www.youku.com',
|
||||
},
|
||||
timeout: 5000,
|
||||
class_name: '电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏',
|
||||
class_url: '电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏',
|
||||
limit: 20,
|
||||
play_parse: true,
|
||||
lazy: `js:
|
||||
const blockedLinks = [
|
||||
''
|
||||
];
|
||||
|
||||
if (/\.m3u8$/.test(input)) {
|
||||
input = { jx: 0, parse: 0, url: input };
|
||||
} else if (/\.mp4$/.test(input)) {
|
||||
input = blockedLinks.includes(input) ? null : { jx: 0, parse: 0, url: input };
|
||||
} else if (/qq|iqiyi|youku|mgtv|NBY/.test(input)) {
|
||||
let kurl ='' + encodeURIComponent(input);
|
||||
kurl = JSON.parse(request(kurl)).url;
|
||||
input = blockedLinks.includes(kurl) ? null : { jx: 0, parse: 0, url: kurl };
|
||||
} else {
|
||||
input = { jx: 0, parse: 1, url: input };
|
||||
}`,
|
||||
一级: `js:
|
||||
let d = [];
|
||||
MY_FL.type = MY_CATE;
|
||||
let fl = stringify(MY_FL);
|
||||
fl = encodeUrl(fl);
|
||||
input = input.split("{")[0] + fl;
|
||||
if (MY_PAGE > 1) {
|
||||
let old_session = getItem("yk_session_" + MY_CATE, "{}");
|
||||
input = input.replace("optionRefresh=1", "session=" + encodeUrl(old_session));
|
||||
}
|
||||
let html = fetch(input, fetch_params);
|
||||
try {
|
||||
html = JSON.parse(html);
|
||||
let lists = html.data.filterData.listData;
|
||||
let session = html.data.filterData.session;
|
||||
session = stringify(session);
|
||||
if (session !== getItem("yk_session_" + MY_CATE, "{}")) {
|
||||
setItem("yk_session_" + MY_CATE, session);
|
||||
}
|
||||
lists.forEach(function(it) {
|
||||
let vid = it.videoLink.includes("id_") ? it.videoLink.split("id_")[1].split(".html")[0] : "msearch:";
|
||||
d.push({
|
||||
title: it.title,
|
||||
img: it.img,
|
||||
desc: it.summary,
|
||||
url: "https://search.youku.com/api/search?appScene=show_episode&showIds=" + vid,
|
||||
content: it.subTitle
|
||||
});
|
||||
});
|
||||
} catch (e) {
|
||||
log("一级列表解析发生错误:" + e.message);
|
||||
}
|
||||
setResult(d);`,
|
||||
二级: `js:
|
||||
var d = [];
|
||||
VOD = {};
|
||||
let html = request(input);
|
||||
let json = JSON.parse(html);
|
||||
if (/keyword/.test(input)) {
|
||||
input = "https://search.youku.com/api/search?appScene=show_episode&showIds=" + json.pageComponentList[0].commonData.showId;
|
||||
json = JSON.parse(fetch(MY_URL, fetch_params));
|
||||
}
|
||||
let video_lists = json.serisesList;
|
||||
var name = json.sourceName;
|
||||
if (/优酷/.test(name) && video_lists.length > 0) {
|
||||
let ourl = "https://v.youku.com/v_show/id_" + video_lists[0].videoId + ".html";
|
||||
let _img = video_lists[0].thumbUrl;
|
||||
|
||||
let detailInfo = null;
|
||||
try {
|
||||
let detailUrl = "https://v.youku.com/v_getvideo_info/?showId=" + json.showId;
|
||||
detailInfo = JSON.parse(fetch(detailUrl, {
|
||||
headers: {
|
||||
Referer: "https://v.youku.com/",
|
||||
"User-Agent": PC_UA
|
||||
}
|
||||
}));
|
||||
} catch (e) {
|
||||
log("详情接口请求失败:" + e.message);
|
||||
}
|
||||
|
||||
if (detailInfo && detailInfo.data) {
|
||||
let v = detailInfo.data;
|
||||
VOD.vod_type = v.showVideotype;
|
||||
VOD.vod_year = v.lastUpdate;
|
||||
VOD.vod_remarks = v.rc_title;
|
||||
VOD.vod_actor = v._personNameStr;
|
||||
VOD.vod_content = v.showdesc;
|
||||
VOD.vod_pic = v.showLogo || _img;
|
||||
VOD.vod_name = v.showTitle;
|
||||
} else {
|
||||
let html = fetch(ourl, {
|
||||
headers: {
|
||||
Referer: "https://v.youku.com/",
|
||||
"User-Agent": PC_UA
|
||||
}
|
||||
});
|
||||
let jsonData = /__INITIAL_DATA__/.test(html) ? html.split("window.__INITIAL_DATA__ =")[1].split(";")[0] : "{}";
|
||||
if (jsonData === "{}") {
|
||||
VOD.vod_remarks = ourl;
|
||||
VOD.vod_pic = _img;
|
||||
VOD.vod_name = video_lists[0].title.replace(/(\d+)/g, "");
|
||||
VOD.vod_content = "触发了优酷人机验证,本次未获取详情,但不影响播放(" + ourl + ")";
|
||||
} else {
|
||||
try {
|
||||
jsonData = JSON.parse(jsonData);
|
||||
let data = jsonData.data.data;
|
||||
let data_extra = data.data.extra;
|
||||
let img = data_extra.showImgV;
|
||||
let model = jsonData.data.model;
|
||||
let m = model.detail.data.nodes[0].nodes[0].nodes[0].data;
|
||||
VOD.vod_pic = img;
|
||||
VOD.vod_name = m.introTitle;
|
||||
VOD.vod_type = m.showGenre;
|
||||
VOD.vod_remarks = m.updateInfo || m.subtitle;
|
||||
VOD.vod_content = m.desc;
|
||||
} catch (e) {
|
||||
VOD.vod_remarks = name;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (!/优酷/.test(name)) {
|
||||
VOD.vod_content = "非自家播放源,暂无视频简介及海报";
|
||||
VOD.vod_remarks = name;
|
||||
}
|
||||
|
||||
play_url = play_url.replace("&play_url=", "&type=json&play_url=");
|
||||
video_lists.forEach(function(it) {
|
||||
let url = "https://v.youku.com/v_show/id_" + it.videoId + ".html";
|
||||
if (it.thumbUrl) {
|
||||
d.push({
|
||||
desc: it.showVideoStage ? it.showVideoStage.replace("期", "集") : it.displayName,
|
||||
pic_url: it.thumbUrl,
|
||||
title: it.title,
|
||||
url: play_url + urlencode(url)
|
||||
});
|
||||
} else if (name !== "优酷") {
|
||||
d.push({
|
||||
title: it.displayName ? it.displayName : it.title,
|
||||
url: play_url + urlencode(it.url)
|
||||
});
|
||||
}
|
||||
});
|
||||
VOD.vod_play_from = name;
|
||||
VOD.vod_play_url = d.map(function(it) {
|
||||
return it.title + "$" + it.url;
|
||||
}).join("#");`,
|
||||
搜索: `js:
|
||||
var d = [];
|
||||
let html = request(input);
|
||||
let json = JSON.parse(html);
|
||||
json.pageComponentList.forEach(function(it) {
|
||||
if (it.hasOwnProperty("commonData")) {
|
||||
it = it.commonData;
|
||||
d.push({
|
||||
title: it.titleDTO.displayName,
|
||||
img: it.posterDTO.vThumbUrl,
|
||||
desc: it.stripeBottom,
|
||||
content: it.updateNotice + " " + it.feature,
|
||||
url: "https://search.youku.com/api/search?appScene=show_episode&showIds=" + it.showId + "&appCaller=h5"
|
||||
});
|
||||
}
|
||||
});
|
||||
setResult(d);`
|
||||
};
|
||||
@@ -0,0 +1,64 @@
|
||||
var rule = {
|
||||
title:'评书随身听',
|
||||
host:'https://www.psmp3.com',
|
||||
// url:'/fyclass/fypage.html',
|
||||
url:'/fyfilter/fypage.html',
|
||||
filterable:1,//是否启用分类筛选,
|
||||
filter_url:'{{fl.cateId}}',
|
||||
filter:{
|
||||
"ykc":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"ykc"},{"n":"袁阔成三国演义","v":"ykc-sgyy"},{"n":"袁阔成水泊梁山","v":"ykc-sbls"},{"n":"袁阔成封神演义","v":"ykc-fsyy"},{"n":"袁阔成薛刚反唐","v":"ykc-xgft"},{"n":"袁阔成林海雪原","v":"ykc-lhxy"},{"n":"袁阔成楚汉相争","v":"ykc-chxz"},{"n":"袁阔成彭公案","v":"ykc-pga"},{"n":"袁阔成烈火金刚","v":"ykc-lhjg"},{"n":"袁阔成金钱镖","v":"ykc-jqb"},{"n":"袁阔成三气周瑜","v":"ykc-sqzy"},{"n":"袁阔成群英会","v":"ykc-qyh"},{"n":"袁阔成长坂雄风","v":"ykc-cbxf"},{"n":"袁阔成平原枪声","v":"ykc-pyqs"},{"n":"袁阔成暴风骤雨","v":"ykc-bfzy"},{"n":"野火春风斗古城","v":"ykc-yhcfdgc"}]}],
|
||||
"stf":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"stf"},{"n":"单田芳隋唐演义","v":"stf-styy"},{"n":"单田芳乱世枭雄","v":"stf-lsxx"},{"n":"单田芳白眉大侠","v":"stf-bmdx"},{"n":"单田芳童林传","v":"stf-tlz"},{"n":"单田芳水浒传","v":"stf-shz"},{"n":"单田芳三侠五义","v":"stf-sxwy"},{"n":"单田芳三侠剑","v":"stf-sxj"},{"n":"单田芳大明演义","v":"stf-dmyy"},{"n":"单田芳龙虎风云会","v":"stf-lhfyh"},{"n":"单田芳三国演义","v":"stf-sgyy"},{"n":"单田芳薛家将","v":"stf-xjj"},{"n":"单田芳清官册","v":"stf-qgc"},{"n":"单田芳小五义","v":"stf-xwy"},{"n":"单田芳铁扇怪侠","v":"stf-tsgx"},{"n":"单田芳楚汉争雄","v":"stf-chzx"}]}],
|
||||
"tly":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"tly"},{"n":"田连元水浒传","v":"tly-shz"},{"n":"田连元杨家将","v":"tly-yjj"},{"n":"田连元隋唐演义","v":"tly-styy"},{"n":"田连元三侠五义","v":"tly-sxwy"},{"n":"田连元刘秀传","v":"tly-lxz"},{"n":"田连元小八义","v":"tly-xby"},{"n":"田连元包公案","v":"tly-bga"},{"n":"田连元大话成语","v":"tly-dhcy"},{"n":"田连元双镖记","v":"tly-sbj"},{"n":"田连元海青天","v":"tly-hqt"},{"n":"田连元辽沈战役","v":"tly-lszy"},{"n":"田连元血溅津门","v":"tly-xjjm"},{"n":"田连元镜花缘","v":"tly-jhy"},{"n":"田连元孙庞斗智","v":"tly-spdz"},{"n":"田连元孙膑与庞涓","v":"tly-sbypj"}]}],
|
||||
"llf":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"llf"},{"n":"刘兰芳岳飞传","v":"llf-yfz"},{"n":"刘兰芳杨家将全传","v":"llf-yjjqz"},{"n":"刘兰芳呼家将","v":"llf-hjj"},{"n":"刘兰芳赵匡胤演义","v":"llf-zkyyy"},{"n":"刘兰芳朱元璋演义","v":"llf-zyzyy"},{"n":"刘兰芳红楼梦","v":"llf-hlm"},{"n":"刘兰芳五凤朝阳刀","v":"llf-wfcyd"},{"n":"刘兰芳新岳飞传","v":"llf-xyfz"},{"n":"刘兰芳杨家将","v":"llf-yjj"},{"n":"刘兰芳西唐演义","v":"llf-xtyy"},{"n":"刘兰芳樊梨花","v":"llf-flh"},{"n":"刘兰芳大唐侠女","v":"llf-dtxn"},{"n":"刘兰芳黑虎传","v":"llf-hhz"},{"n":"刘兰芳洪武大帝","v":"llf-hwdd"},{"n":"刘兰芳契丹萧太后","v":"llf-qdxth"}]}],
|
||||
"llr":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"llr"},{"n":"连丽如东汉演义","v":"llr-dhyy"},{"n":"连丽如大隋唐","v":"llr-dst"},{"n":"连丽如三国演义","v":"llr-sgyy"},{"n":"连丽如雍正剑侠图","v":"llr-yzjxt"},{"n":"连丽如红楼梦","v":"llr-hlm"},{"n":"连丽如龙图公案","v":"llr-ltga"},{"n":"连丽如鹿鼎记","v":"llr-ldj"},{"n":"连丽如刘公案","v":"llr-lga"},{"n":"连丽如康熙私访","v":"llr-kxsf"},{"n":"连丽如东周列国","v":"llr-dzlg"},{"n":"连丽如十二女侠","v":"llr-senx"},{"n":"连丽如智圣东方朔","v":"llr-zsdfs"},{"n":"连丽如侠义英雄传","v":"llr-xyyxz"},{"n":"连丽如蓬莱剑侠","v":"llr-pljx"},{"n":"连丽如康熙大帝","v":"llr-kxdd"}]}],
|
||||
"zsz":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"zsz"},{"n":"张少佐大明剑侠","v":"zsz-dmjx"},{"n":"张少佐雍正剑侠图","v":"zsz-yzjxt"},{"n":"张少佐天龙八部","v":"zsz-tlbb"},{"n":"张少佐昆仑剑侠","v":"zsz-kljx"},{"n":"张少佐多情剑客无情剑","v":"zsz-dqjkwqj"},{"n":"张少佐笑傲江湖","v":"zsz-xajh"},{"n":"张少佐射雕英雄传","v":"zsz-sdyxz"},{"n":"张少佐倚天屠龙记","v":"zsz-yttlj"},{"n":"张少佐神雕侠侣","v":"zsz-sdxl"},{"n":"张少佐钟凌传","v":"zsz-zlz"},{"n":"张少佐明史奇侠","v":"zsz-msqx"},{"n":"张少佐中国血案","v":"zsz-zgxa"},{"n":"张少佐神剑惊天刺雍正","v":"zsz-sjjtcyz"},{"n":"张少佐豪气惊天","v":"zsz-hqjt"},{"n":"张少佐乱世恩仇","v":"zsz-lsec"}]}],
|
||||
"tzy":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"tzy"},{"n":"田战义李自成","v":"tzy-lzc"},{"n":"田战义秘密列车","v":"tzy-mmlc"},{"n":"田战义民国风云","v":"tzy-mgfy"},{"n":"田战义夕照紫禁城","v":"tzy-xzzjc"},{"n":"田战义风雨关山","v":"tzy-fygs"},{"n":"田战义聊斋志异","v":"tzy-lzzy"},{"n":"田战义侠义豪杰","v":"tzy-xyhj"},{"n":"风云人物蒋介石","v":"tzy-fyrwjjs"},{"n":"田战义绝密行动","v":"tzy-jmxd"},{"n":"田战义燕子李三传奇","v":"tzy-yzlscq"},{"n":"田战义中国古代奇案","v":"tzy-zggdqa"},{"n":"田战义火牛阵","v":"tzy-hnz"},{"n":"田战义县委书记","v":"tzy-xwsj"},{"n":"田战义摧毁神风号","v":"tzy-chsfh"},{"n":"田战义仇大娘","v":"tzy-cdn"}]}]
|
||||
},
|
||||
filter_def:{
|
||||
ykc:{cateId:'ykc'},
|
||||
stf:{cateId:'stf'},
|
||||
tly:{cateId:'tly'},
|
||||
llf:{cateId:'llf'},
|
||||
llr:{cateId:'llr'},
|
||||
zsz:{cateId:'zsz'},
|
||||
tzy:{cateId:'tzy'}
|
||||
},
|
||||
searchUrl:'/so/**_fypage.html',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
headers:{
|
||||
'User-Agent':'MOBILE_UA'
|
||||
},
|
||||
timeout:5000,
|
||||
class_parse: '.list-navi&&li:gt(1);a&&Text;a&&href;/(\\w+).html',
|
||||
play_parse:true,
|
||||
lazy:'js:input={jx:0,url:input,parse:0}',
|
||||
limit:6,
|
||||
推荐:'*',
|
||||
|
||||
一级: $js.toString(() => {
|
||||
let klist = pdfa(request(input), '#post_list_box&&li');
|
||||
//数组
|
||||
let k = klist.map(it => ({
|
||||
title: pdfh(it, 'h2&&Text'),
|
||||
//标题
|
||||
pic_url: 'https://pic3.zhimg.com/v2-26521f7ce3edae36d1e94c4a5b889919_1440w.jpg?source=172ae18b',
|
||||
//图片
|
||||
desc: pdfh(it, '.f_r&&span:eq(3)&&Text'),
|
||||
// 副标题
|
||||
url: pdfh(it, 'a&&href'),
|
||||
//链接
|
||||
content: ''
|
||||
}));
|
||||
setResult(k);
|
||||
}),
|
||||
二级:{
|
||||
title:'h1&&Text;.view&&Text',
|
||||
img:'img&&src',
|
||||
desc:'.view&&Text;;;.lmname&&Text;.author&&Text',
|
||||
content:'.jAsrPyf4&&p:eq(1)&&Text',
|
||||
// tabs:'js:TABS=["评书随身听"]',
|
||||
lists:'js:var VideoListJson;VideoListJson=eval(html.split("audio: ")[1].split("}\)")[0]);let list1=[];VideoListJson.forEach(function(it){list1.push(it.name.strip()+"$https:"+it.url)});LISTS=[list1];',
|
||||
},
|
||||
搜索: '*',
|
||||
}
|
||||
Reference in New Issue
Block a user