Add files via upload

This commit is contained in:
xiaoliu
2024-09-21 21:04:55 +08:00
committed by GitHub
parent 97d5e8c012
commit 2d341a39e0
3 changed files with 355 additions and 325 deletions

View File

@@ -16,7 +16,7 @@ globalThis.getHeaders = function (input) {
}
var rule = {
title: '南瓜影视[优]',
title:'南瓜影视',
host:'http://ys.changmengyun.com',
homeUrl:'/api.php/provide/vod_rank?app=ylys&sort_type=month&imei=c431ea542cee9679&id=2&page=1',
url:'/api.php/provide/vod_list?app=ylys&id=fyclassfyfilter&page=fypage&imei=c431ea542cee9679',
@@ -35,20 +35,23 @@ var rule = {
class_url:'2&1&4&3&46',
limit:20,
play_parse:true,
lazy: `js:
tab_remove:['NG快播-1'],
lazy: $js.toString(() => {
try {
function getvideo(url) {
let jData = JSON.parse(request(url, {
headers: getHeaders(url)
}));
if (jData.code == 1) {
return jData.data.url
} else {
return 'http://43.154.104.152:1234/jhapi/cs.php?url=' + url.split('=')[1]
}
}
if (/,/.test(input)) {
let mjurl = input.split(',')[1]
let mjurl = input.split(',')[0]
let videoUrl = getvideo(mjurl);
input = {
jx: 0,
@@ -60,6 +63,7 @@ var rule = {
}
} else {
let videoUrl = getvideo(input);
if (/jhapi/.test(videoUrl)) {
videoUrl = getvideo(videoUrl);
input = {
@@ -71,6 +75,7 @@ var rule = {
})
}
} else {
input = {
jx: 0,
url: videoUrl,
@@ -81,8 +86,8 @@ var rule = {
} catch (e) {
log(e.toString())
}
`,
推荐: `js:
}),
推荐:$js.toString(() => {
var d = [];
let html = request(input, {
headers: getHeaders(input)
@@ -97,8 +102,8 @@ var rule = {
})
});
setResult(d);
`,
一级: `js:
}),
一级:$js.toString(() => {
var d = [];
let html = request(input, {
headers: getHeaders(input)
@@ -113,8 +118,8 @@ var rule = {
})
});
setResult(d);
`,
二级: `js:
}),
二级:$js.toString(() => {
var d = [];
VOD = {
vod_id: input.split('id=')[1]
@@ -145,8 +150,10 @@ var rule = {
if (!playMap.hasOwnProperty(source)) {
playMap[source] = []
}
playMap[source].append(playurl['name'].strip() + '$' + play_url + urlencode(playurl['url']))
})
playMap[source].append(playurl['name'].strip() + '$' +
//play_url + urlencode(playurl['url'][0])
play_url + playurl['url'][0]
)})
});
let playFrom = [];
let playList = [];
@@ -162,8 +169,8 @@ var rule = {
} catch (e) {
log('获取二级详情页发生错误:' + e.message)
}
`,
搜索: `js:
}),
搜索:$js.toString(() => {
var d = [];
let html = request(input, {
headers: getHeaders(input)
@@ -179,5 +186,5 @@ var rule = {
})
});
setResult(d);
`,
}),
}

View File

@@ -1,48 +1,105 @@
var rule = {
author: '小可乐/2409/第二版',
title: '可可影视',
类型: '影视',
host: 'https://www.keke7.app',
// host: 'https://dl.keke12.com:51111',
// hostJs: 'HOST = pdfh(request(HOST), ".section-row-subtitle:eq(0)&&Text")',
headers: {'User-Agent': 'MOBILE_UA'},
编码: 'utf-8',
timeout: 5000,
homeUrl: '/',
title: '可可影视[优]',
host: 'https://www.keke8.app',
//host: 'https://www.kkys01.com',
// url: '/show/fyclass-----2-fypage.html',
url: '/show/fyclass-fyfilter-fypage.html',
filter_url: '{{fl.class}}-{{fl.area}}-{{fl.lang}}-{{fl.year}}-{{fl.by}}',
detailUrl: '',
filter_url: '{{fl.类型}}-{{fl.地区}}-{{fl.语言}}-{{fl.年份}}-{{fl.排序}}',
searchUrl: '/search?k=**&page=fypage',
searchable: 1,
quickSearch: 1,
searchable: 2,
quickSearch: 0,
filterable: 1,
class_name: '电影&剧集&综艺&动漫&短剧',
class_url: '1&2&4&3&6',
filter_def: {},
图片替换: 'https://www.keke7.app=>https://vres.miximixi.me',
headers: {
'User-Agent': 'MOBILE_UA',
},
class_parse: '#nav-swiper&&.nav-swiper-slide;a&&Text;a&&href;/(\\w+).html',
cate_exclude: 'Netflix|今日更新|专题列表|排行榜',
tab_exclude:'可可影视提供',
tab_order: ['超清', '蓝光', '极速蓝光'],
tab_remove:['4K(高峰不卡)'],
play_parse: true,
lazy: `js: input = { jx: 0, parse: 1, url: input }`,
limit: 9,
lazy: '',
limit: 20,
推荐: '.section-box:eq(2)&&.module-box-inner&&.module-item;*;*;*;*',
double: false,
推荐: '*',
一级: '.module-item;.v-item-title:eq(1)&&Text;img:eq(-1)&&data-original;span:eq(-1)&&Text;a&&href',
一级: '.module-box-inner&&.module-item;.v-item-title:eq(1)&&Text;img:last-of-type&&data-original;.v-item-bottom&&span:eq(1)&&Text;a&&href',
二级: {
title: '.detail-title&&strong:eq(1)&&Text;.detail-tags&&Text',
title: '.detail-pic&&img&&alt;.detail-tags&&a&&Text',
img: '.detail-pic&&img&&data-original',
desc: '.detail-info-row-main:eq(-2)&&Text;.detail-tags-item:eq(0)&&Text;.detail-tags-item:eq(1)&&Text;.detail-info-row-main:eq(1)&&Text;.detail-info-row-main:eq(0)&&Text',
desc: '.detail-info-row-main:eq(-2)&&Text;.detail-tags&&a&&Text;.detail-tags&&a:eq(1)&&Text;.detail-info-row-main:eq(1)&&Text;.detail-info-row-main&&Text',
content: '.detail-desc&&Text',
tabs: '.source-item',
tab_text: 'span:eq(-1)&&Text',
lists: '.episode-list:eq(#id)&&a',
list_text: 'body&&Text',
list_url: 'a&&href',
//tabs: '.source-item-label:nth-of-type(2)',
tabs: 'body&&.source-item-label[id]',
lists: '.episode-list:eq(#id) a',
},
搜索: '.search-result-item;img:eq(-1)&&title;*;.search-result-item-header&&Text;*',
filter: 'H4sIAAAAAAAAA+2Zz08bVxDH7/4rKp852IBanFsPjVSpyqU9VIqiyK3cKipxpdBWRQjJYBuMIdggx8SxC6RgMAn+AUGOWWP7n9m3u/4v+pZ5M2+dVJNVQnNofEF85vt+7ezsm3nPC4FgOHjrs7uBheAvsfngreCPs9G5ueBEMB59GJNon3XF7rrkP6Kzv0vD3YVgXJpFujZM1lyzhODiBFjvxH77afbBn8p856vvbn/z9fekirVjK5lWogLSihVpQQ2AtGzN7FVQA0DNzpzpMRWgZi3lrURRaQpIS2at5WeoAdCY2abde4FjApB2vCUuu6gB0JjLp3ZxC8cEoGeorup+Ckhb2R6WTlADoDEzT01jDccEoH6bKyJ3jv0ASMsdOgfkawDSGm1h1FEDQM282ncaLaUpoLXUj8z+Pq4FQGsbTmaXtGsgn+3V7bVV9BmA593aha5+ty6QlhrYL6uoAaDmLG2IiqE0BYv3FicojKOPYlEdxaLSEhuGzygWh8fD0gr6oFMX5Z4yYYvhUcnqNEdaKJP2f8u67I+OASbySn9TGtErAOTNnapVOUVvAtDceye6nwLyyvqZ1hTQmK+eaE0Brbb/WmsKSHvcEsYRagB6zJZ3zJa3n9m5HFI/BfTsW7si3cFnB6D5Xl841QHOB6CjZd9aH8iXQQGDTLMOUnZvxyrSyyGmNadysoPI4AenmVo0CxKtnTa2IPbsOqJVEGn8UDTTm6gO7JyM9BK+DGKapf8K5jUN2oe8JnrmdNvs4i6mYCTSZ6Pxn3WkO826U0v4jfRyT7bHsQHoGc8PtabAE2daU+CJXa0p8MSu1hR44tPTD8C3D+Zj0Ueer/3ywuz2fPpgMjQ5rWzX/3rsU9o+5bVPavuk1x7W9rDXHtL2ENnDoetlHpAWDt2XfyLUIPRmg5DbIKQbREYbhCOR0H35RzeYebPBjNtgRjewyhfWDn4IrvZFZNSvP8xrr1qb28LIveVVu3sl8hmcQg9dSVhF/D4mvWY7iW9ZO9VppkQGt9xpdw2BexMB2e8/qkwU+alMuAqDq1q4KoKtFLjMzVRCXFbnqh2uMnHTEj2fAj+VEFeZcBWNm85oPgV+qg+54+l3pMBPFchVXsNkT3SWcS0AN1x9kDl4w9UHVyO8b93B1Q9c3cHWFu+skrgKg6tMxllznDU/1aw5fWNZ0zZeiN4TjGYA0ip7pmHYxwmUiWl5jZburYC01JnIHejemn3dFnAnXyYnc6dbu9wRB1TQA9Bqs8t2uYFLBfBz8uXyizPIywyOYwKg9m0sOvdrXGkKfN1OMCdtK79rn1LNAUBa6Zl5RfUBwPg0Pc4h4xzyqeaQqY918srWrMSSdfVy5BZQm3xlA+4OkbtXZnZn9qTFnZi4UxFzn8ntzuwJlDn1cdlAhoLznFI3gM6EWauE5xIFfk6udjfnudUDoH77z0WZ9hgA1L6MP5BhBRL87ydHmsa5qOcxJwDQbvfXtvUUPa1AnwfXpQ9xJQB+zpj/eoa+oRzJZah3588Py44fdpoc3ziPb5zHdc+47vm/1D2fv0fdo83etzxMrDh/U+QBUKQXKqKBeUYBLayUl1kJIx2A+p0MnHYW+wHQfKuP7cIezgfgp3pif9Fm8iFblTDVE/uLNleRpduikdRfpAsfN3LcEAks/gPD+wzBMSEAAA=='
搜索: '.search-result-list&&a;.title:eq(1)&&Text;*;.search-result-item-header&&Text;a&&href;.desc&&Text',
// 图片替换:$js.toString(()=>{
// log(input);
// input = input.replace(rule.host,'https://vres.a357899.cn');
// }),
//图片替换: 'https://keke5.app=>https://vres.a357899.cn',
预处理: $js.toString(() => {
let html = request(rule.host);
let scripts = pdfa(html, 'script');
let img_script = scripts.find(it => pdfh(it, 'script&&src').includes('rdul.js'));
if (img_script) {
let img_url = img_script.match(/src="(.*?)"/)[1];
//console.log(img_url);
let img_html = request(img_url);
let img_host = img_html.match(/'(.*?)'/)[1];
log(img_host);
rule.图片替换 = rule.host + '=>' + img_host;
}
}),
filter: 'H4sIAAAAAAAAA+2Zz08bRxTH/xefOdgGtTi3HlqpUpVLe6hURREHV4qa0kN/qFWEZLANxhBsEDFx7AIpGEyCf0CQY9bY/md2Ztf/RWf95r0ZR+3LtqGRqviC+LzvzOzs7Nt531k/isQid755FPku+VvkTsS76In9jchMZHHh+6TNvyw8/Dk5briowiJbH6XrQVhBZGkGoneTP3378MGvOnz3068+++Lzr0kV66cyndWiBtJKVRVBDYC0fN3tV1EDQM3LXZgxNaAml4syVdKaBtLSebnyDDUAGjPf8vovcEwA0k63xXUPNQAac+XcK23jmAB0D7U1008Daas7o/IZagA0Zu6p66zjmADUb2tVFC6xHwBphWP/iNYagLRmRzgN1ABQc28O/WZbaxpoLo0Td3CIcwEw2qaf2ydtDLRmBw1vfQ3XDMB6tt5uzzzbAEjLDL2XNdQAUPOXN0XV0ZqGpXuBCmksqm2x6Zg0Jg6TxuL4dFRexUXoNkSlr0PYYnRSlt3WRAsdMg+gLa8Hk2NAiJZlsKWCuCwAtJx7NVk9x+UEoGsfnJl+GmhZNi6MpoHGfPXEaBpotoPXRtNA2uO2cE5QAzBjtu0x23Y/t3s9on4a6N6390W2i/cOQNd7feXXhng9AJMuh3JjqB4GZQwyXXWY8fp7skQPh5jmnCmoDiKHb5xhatHaVSj3OtiC2Np2RHtXZPFNMUxPojb0CirVy/gwiOkqg1dwXdehjcgO0T1nO24PtzENdqr7rYZfT5lUJw6V6pW+ao+DA9BNXh4bTYOVaEbTYCWv0TRYyWs0DVaCWv0Awi6CuL5ye33rfUcOswjxaHxOx8b/WvFZE5+143ETj9vxmInH7HjUxKMUj0XH0zwiLRa9r/4kqEH0zQbRoEHUNEhMNoglEtH76o9pMP9mg/mgwbxpICtXcg9fhUD7ODGxsHJrRzgFs7DEkwvr9W5EMYdXMaNXU7KEL0ncDntpfNJmXf1WRuRw350LpnFvRvX6b8yJpjDmhDMZnHHhjARrFrjizZghrrBzhoczJ0FhovvTEMYMceaEMzVBQaPraQhjQNSWZ56RhjBGkDNfo3RfdFdwLgC3bUAoHLllA8LZhH9rPTgLwVkP1l681ShxJoMzJ9PCOS2cH3DhnH1PhTNfl6llefNy4hxnQqFO/9wpkPsywGzebKHkCh5X1JgTqSzue+dU0AFCGQimaHMnZ5UH/vMUagCkVfKyjFVFQxjj4fUK1rEMgPodPhcV2mQAUPtk8YFKK5Dgf8rMYVGtPW53AHRUcy5Fo4g7PwBtd7/vyKe40hpMOd9Qa0jlfAxhLMJfWqDb+mbAlc23l/N3+1rwbmZg+s1g+s1gan1snlqf/7n1mbst6+M5L0T/CaYzAGnVA9dxvFOqwcQ0t2bb9NZAWuZCFI5Mb8OhDBP36Z8xTNznfa/SFUe0OQHQbPMrXqWJUwUwJffvP/1zBo2zBl8mF378YVFrGmie3M8zjGHiDJosP3NvaEcFmP6cMC0j0zLyIZeRj/55GTFh+ymPUqv+H5R6AJTqu1XRxBOLBppVuajON5jqANTvbOh38tgPgK639tjbPcDrAYQpK+yv28zJij3fMudw9tdt7myf7Yhm2rySAbz3zFEpsvQnK+G0IDwhAAA=',
一级f: `js:
let urls = [
'https://keke5.app/show/1-----1-1.html',
'https://keke5.app/show/2-----1-1.html',
'https://keke5.app/show/3-----1-1.html',
'https://keke5.app/show/4-----1-1.html',
'https://keke5.app/show/6-----1-1.html',
];
let filters = {};
pdfa = jsp.pdfa;
pdfh = jsp.pdfh;
for(let url of urls){
let fclass = url.match(/show\\/(\\d+)-/)[1];
console.log(fclass);
let html = request(url);
let tabs = pdfa(html, '.filter-row');
let data = [];
for (let tab of tabs) {
let title = pdfh(tab, 'strong&&Text').replace(':','');
let lis = pdfa(tab, 'a');
let _map = {key: title, name: title};
let value = [];
for (let li of lis) {
let n = pdfh(li, 'a&&Text').trim();
let v=n;
if(/全部|地区|类型/.test(n)){
v = '';
}else if(/综合/.test(n)){
v = '1';
}else{
v = pdfh(li,'a&&href');
try {
v = v.match(/-(.*?)1-1\.html/)[1].replace(/-/g,'');
}catch (e) {
v = v.match(/-(.*?)-1\.html/)[1].replace(/-/g,'');
}
v = decodeURIComponent(v);
}
value.push({
'n': n, 'v': v
});
}
_map['value'] = value;
data.push(_map);
}
filters[fclass] = data;
}
VODS = [filters];
console.log(gzip(JSON.stringify(filters)));
`,
}

View File

@@ -14,21 +14,36 @@ var rule = {
class_parse: '#nav-swiper&&.nav-swiper-slide;a&&Text;a&&href;/(\\w+).html',
cate_exclude: 'Netflix|今日更新|专题列表|排行榜',
tab_order: ['超清', '蓝光', '极速蓝光'],
tab_remove:['4K(高峰不卡)'],
play_parse: true,
lazy: '',
lazy: $js.toString(() => {
let html = request(input);
let url = html.match(/src: "(.*?)",/)[1];
log(url)
if (/\.(m3u8|mp4|m4a|mp3)/.test(url)) {
input = {
parse: 0,
jx: 0,
url: url,
};
} else {
input = url && url.startsWith('http') && tellIsJx(url) ? {parse:0,jx:1,url:url}:input;
}
}),
limit: 20,
推荐: '.section-box:eq(2)&&.module-box-inner&&.module-item;*;*;*;*',
double: false,
一级: '.module-box-inner&&.module-item;.v-item-title:eq(-1)&&Text;img&&data-original;.v-item-bottom&&span&&Text;a&&href',
一级: '.module-box-inner&&.module-item;.v-item-title:eq(1)&&Text;img:last-of-type&&data-original;.v-item-bottom&&span:eq(1)&&Text;a&&href',
二级: {
title: '.detail-title&&Text;.detail-tags&&a:eq(-2)&&Text',
title: '.detail-pic&&img&&alt;.detail-tags&&a&&Text',
img: '.detail-pic&&img&&data-original',
desc: '.detail-info-row-main:eq(-2)&&Text;.detail-tags&&a&&Text;.detail-tags&&a:eq(1)&&Text;.detail-info-row-main:eq(1)&&Text;.detail-info-row-main&&Text',
content: '.detail-desc&&Text',
tabs: '.source-item-label',
//tabs: '.source-item-label:nth-of-type(2)',
tabs: 'body&&.source-item-label[id]',
lists: '.episode-list:eq(#id) a',
},
搜索: '.search-result-list&&a;.title&&Text;*;.search-result-item-header&&Text;a&&href;.desc&&Text',
搜索: '.search-result-list&&a;.title:eq(1)&&Text;*;.search-result-item-header&&Text;a&&href;.desc&&Text',
图片替换: 'https://www.ncat1.app=>https://vres.a357899.cn',
预处理: $js.toString(() => {
let html = request(rule.host);
@@ -44,54 +59,5 @@ var rule = {
}
}),
filter: 'H4sIAAAAAAAAA+2Zz08bRxTH/xefOdgGtTi3HlqpUpVLe6hURREHV4qa0kN/qFWEZLANxhBsEDFx7AIpGEyCf0CQY9bY/md2Ztf/RWf95r0ZR+3LtqGRqviC+LzvzOzs7Nt531k/isQid755FPku+VvkTsS76In9jchMZHHh+6TNvyw8/Dk5briowiJbH6XrQVhBZGkGoneTP3378MGvOnz3068+++Lzr0kV66cyndWiBtJKVRVBDYC0fN3tV1EDQM3LXZgxNaAml4syVdKaBtLSebnyDDUAGjPf8vovcEwA0k63xXUPNQAac+XcK23jmAB0D7U1008Daas7o/IZagA0Zu6p66zjmADUb2tVFC6xHwBphWP/iNYagLRmRzgN1ABQc28O/WZbaxpoLo0Td3CIcwEw2qaf2ydtDLRmBw1vfQ3XDMB6tt5uzzzbAEjLDL2XNdQAUPOXN0XV0ZqGpXuBCmksqm2x6Zg0Jg6TxuL4dFRexUXoNkSlr0PYYnRSlt3WRAsdMg+gLa8Hk2NAiJZlsKWCuCwAtJx7NVk9x+UEoGsfnJl+GmhZNi6MpoHGfPXEaBpotoPXRtNA2uO2cE5QAzBjtu0x23Y/t3s9on4a6N6390W2i/cOQNd7feXXhng9AJMuh3JjqB4GZQwyXXWY8fp7skQPh5jmnCmoDiKHb5xhatHaVSj3OtiC2Np2RHtXZPFNMUxPojb0CirVy/gwiOkqg1dwXdehjcgO0T1nO24PtzENdqr7rYZfT5lUJw6V6pW+ao+DA9BNXh4bTYOVaEbTYCWv0TRYyWs0DVaCWv0Awi6CuL5ye33rfUcOswjxaHxOx8b/WvFZE5+143ETj9vxmInH7HjUxKMUj0XH0zwiLRa9r/4kqEH0zQbRoEHUNEhMNoglEtH76o9pMP9mg/mgwbxpICtXcg9fhUD7ODGxsHJrRzgFs7DEkwvr9W5EMYdXMaNXU7KEL0ncDntpfNJmXf1WRuRw350LpnFvRvX6b8yJpjDmhDMZnHHhjARrFrjizZghrrBzhoczJ0FhovvTEMYMceaEMzVBQaPraQhjQNSWZ56RhjBGkDNfo3RfdFdwLgC3bUAoHLllA8LZhH9rPTgLwVkP1l681ShxJoMzJ9PCOS2cH3DhnH1PhTNfl6llefNy4hxnQqFO/9wpkPsywGzebKHkCh5X1JgTqSzue+dU0AFCGQimaHMnZ5UH/vMUagCkVfKyjFVFQxjj4fUK1rEMgPodPhcV2mQAUPtk8YFKK5Dgf8rMYVGtPW53AHRUcy5Fo4g7PwBtd7/vyKe40hpMOd9Qa0jlfAxhLMJfWqDb+mbAlc23l/N3+1rwbmZg+s1g+s1gan1snlqf/7n1mbst6+M5L0T/CaYzAGnVA9dxvFOqwcQ0t2bb9NZAWuZCFI5Mb8OhDBP36Z8xTNznfa/SFUe0OQHQbPMrXqWJUwUwJffvP/1zBo2zBl8mF378YVFrGmie3M8zjGHiDJosP3NvaEcFmP6cMC0j0zLyIZeRj/55GTFh+ymPUqv+H5R6AJTqu1XRxBOLBppVuajON5jqANTvbOh38tgPgK639tjbPcDrAYQpK+yv28zJij3fMudw9tdt7myf7Yhm2rySAbz3zFEpsvQnK+G0IDwhAAA=',
一级f: `js:
let urls = [
'https://www.ncat1.app/show/1-----1-1.html',
'https://www.ncat1.app/show/2-----1-1.html',
'https://www.ncat1.app/show/3-----1-1.html',
'https://www.ncat1.app/show/4-----1-1.html',
'https://www.ncat1.app/show/6-----1-1.html',
];
let filters = {};
pdfa = jsp.pdfa;
pdfh = jsp.pdfh;
for(let url of urls){
let fclass = url.match(/show\\/(\\d+)-/)[1];
console.log(fclass);
let html = request(url);
let tabs = pdfa(html, '.filter-row');
let data = [];
for (let tab of tabs) {
let title = pdfh(tab, 'strong&&Text').replace(':','');
let lis = pdfa(tab, 'a');
let _map = {key: title, name: title};
let value = [];
for (let li of lis) {
let n = pdfh(li, 'a&&Text').trim();
let v=n;
if(/全部|地区|类型/.test(n)){
v = '';
}else if(/综合/.test(n)){
v = '1';
}else{
v = pdfh(li,'a&&href');
try {
v = v.match(/-(.*?)1-1\.html/)[1].replace(/-/g,'');
}catch (e) {
v = v.match(/-(.*?)-1\.html/)[1].replace(/-/g,'');
}
v = decodeURIComponent(v);
}
value.push({
'n': n, 'v': v
});
}
_map['value'] = value;
data.push(_map);
}
filters[fclass] = data;
}
VODS = [filters];
console.log(gzip(JSON.stringify(filters)));
`,
}