Add files via upload

This commit is contained in:
潇洒 2024-06-08 10:36:59 +08:00 committed by GitHub
parent 0448431ac6
commit 6f60d5c8f0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 25061 additions and 25067 deletions

21510
JS/cheerio.min.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

94
JS/drpy2.min.js vendored
View File

@ -194,7 +194,7 @@ function pre() {
} }
let rule = {}; let rule = {};
let vercode = typeof pdfl === "function" ? "drpy2.1" : "drpy2"; let vercode = typeof pdfl === "function" ? "drpy2.1" : "drpy2";
const VERSION = vercode + " 3.9.50beta24 20240601"; const VERSION = vercode + " 3.9.50beta27 20240608";
const MOBILE_UA = "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36"; const MOBILE_UA = "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36";
const PC_UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36"; const PC_UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";
const UA = "Mozilla/5.0"; const UA = "Mozilla/5.0";
@ -202,7 +202,7 @@ const UC_UA = "Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.0
const IOS_UA = "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"; const IOS_UA = "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";
const RULE_CK = "cookie"; const RULE_CK = "cookie";
const CATE_EXCLUDE = "首页|留言|APP|下载|资讯|新闻|动态"; const CATE_EXCLUDE = "首页|留言|APP|下载|资讯|新闻|动态";
const TAB_EXCLUDE = "猜你|喜欢|下载|剧情|热播"; const TAB_EXCLUDE = "猜你|喜欢|下载|剧情|榜|评论";
const OCR_RETRY = 3; const OCR_RETRY = 3;
const OCR_API = "https://api.nn.ci/ocr/b64/text"; const OCR_API = "https://api.nn.ci/ocr/b64/text";
if (typeof MY_URL === "undefined") { if (typeof MY_URL === "undefined") {
@ -1675,14 +1675,27 @@ function homeVodParse(homeVodObj) {
let t2 = (new Date) let t2 = (new Date)
.getTime(); .getTime();
console.log("加载首页推荐耗时:" + (t2 - t1) + "毫秒"); console.log("加载首页推荐耗时:" + (t2 - t1) + "毫秒");
if (rule.图片替换 && rule.图片替换.includes("=>")) { if (rule.图片替换) {
let replace_from = rule.图片替换.split("=>")[0]; if (rule.图片替换.startsWith("js:")) {
let replace_to = rule.图片替换.split("=>")[1]; d.forEach(it => {
d.forEach(it => { try {
if (it.vod_pic && it.vod_pic.startsWith("http")) { var input = it.vod_pic;
it.vod_pic = it.vod_pic.replace(replace_from, replace_to) eval(rule.图片替换.trim()
} .replace("js:", ""));
}) it.vod_pic = input
} catch (e) {
log(`图片:${it.vod_pic}替换错误:${e.message}`)
}
})
} else if (rule.图片替换.includes("=>")) {
let replace_from = rule.图片替换.split("=>")[0];
let replace_to = rule.图片替换.split("=>")[1];
d.forEach(it => {
if (it.vod_pic && it.vod_pic.startsWith("http")) {
it.vod_pic = it.vod_pic.replace(replace_from, replace_to)
}
})
}
} }
if (rule.图片来源) { if (rule.图片来源) {
d.forEach(it => { d.forEach(it => {
@ -1813,14 +1826,27 @@ function categoryParse(cateObj) {
console.log(e.message) console.log(e.message)
} }
} }
if (rule.图片替换 && rule.图片替换.includes("=>")) { if (rule.图片替换) {
let replace_from = rule.图片替换.split("=>")[0]; if (rule.图片替换.startsWith("js:")) {
let replace_to = rule.图片替换.split("=>")[1]; d.forEach(it => {
d.forEach(it => { try {
if (it.vod_pic && it.vod_pic.startsWith("http")) { var input = it.vod_pic;
it.vod_pic = it.vod_pic.replace(replace_from, replace_to) eval(rule.图片替换.trim()
} .replace("js:", ""));
}) it.vod_pic = input
} catch (e) {
log(`图片:${it.vod_pic}替换错误:${e.message}`)
}
})
} else if (rule.图片替换.includes("=>")) {
let replace_from = rule.图片替换.split("=>")[0];
let replace_to = rule.图片替换.split("=>")[1];
d.forEach(it => {
if (it.vod_pic && it.vod_pic.startsWith("http")) {
it.vod_pic = it.vod_pic.replace(replace_from, replace_to)
}
})
}
} }
if (rule.图片来源) { if (rule.图片来源) {
d.forEach(it => { d.forEach(it => {
@ -2007,14 +2033,27 @@ function searchParse(searchObj) {
return "{}" return "{}"
} }
} }
if (rule.图片替换 && rule.图片替换.includes("=>")) { if (rule.图片替换) {
let replace_from = rule.图片替换.split("=>")[0]; if (rule.图片替换.startsWith("js:")) {
let replace_to = rule.图片替换.split("=>")[1]; d.forEach(it => {
d.forEach(it => { try {
if (it.vod_pic && it.vod_pic.startsWith("http")) { var input = it.vod_pic;
it.vod_pic = it.vod_pic.replace(replace_from, replace_to) eval(rule.图片替换.trim()
} .replace("js:", ""));
}) it.vod_pic = input
} catch (e) {
log(`图片:${it.vod_pic}替换错误:${e.message}`)
}
})
} else if (rule.图片替换.includes("=>")) {
let replace_from = rule.图片替换.split("=>")[0];
let replace_to = rule.图片替换.split("=>")[1];
d.forEach(it => {
if (it.vod_pic && it.vod_pic.startsWith("http")) {
it.vod_pic = it.vod_pic.replace(replace_from, replace_to)
}
})
}
} }
if (rule.图片来源) { if (rule.图片来源) {
d.forEach(it => { d.forEach(it => {
@ -2426,7 +2465,7 @@ function proxyParse(proxyObj) {
log("准备执行本地代理规则:\n" + proxyObj.proxy_rule); log("准备执行本地代理规则:\n" + proxyObj.proxy_rule);
try { try {
eval(proxyObj.proxy_rule); eval(proxyObj.proxy_rule);
if (input && input !== proxyObj.params && Array.isArray(input) && input.length === 3) { if (input && input !== proxyObj.params && Array.isArray(input) && input.length >= 3) {
return input return input
} else { } else {
return [404, "text/plain", "Not Found"] return [404, "text/plain", "Not Found"]
@ -2596,6 +2635,7 @@ function init(ext) {
console.log(`执行${rule.hostJs}获取host发生错误:` + e.message) console.log(`执行${rule.hostJs}获取host发生错误:` + e.message)
} }
} }
rule.类型 = rule.类型 || "影视";
rule.url = rule.url || ""; rule.url = rule.url || "";
rule.double = rule.double || false; rule.double = rule.double || false;
rule.homeUrl = rule.homeUrl || ""; rule.homeUrl = rule.homeUrl || "";

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

2680
JS/pako.min.js vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,394 +1,394 @@
if (typeof Object.assign != 'function') { if (typeof Object.assign != 'function') {
Object.assign = function() { Object.assign = function() {
let target = arguments[0]; let target = arguments[0];
for (let i = 1; i < arguments.length; i++) { for (let i = 1; i < arguments.length; i++) {
let source = arguments[i]; let source = arguments[i];
for (let key in source) { for (let key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) { if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key]; target[key] = source[key];
} }
} }
} }
return target; return target;
}; };
} }
function getMubans() { function getMubans() {
var mubanDict = { // 模板字典 var mubanDict = { // 模板字典
mx: { mx: {
title: '', title: '',
host: '', host: '',
url: '/vodshow/fyclass--------fypage---/', url: '/vodshow/fyclass--------fypage---/',
searchUrl: '/vodsearch/**----------fypage---/', searchUrl: '/vodsearch/**----------fypage---/',
class_parse: '.top_nav li;a&&Text;a&&href;.*/(.*?)/', class_parse: '.top_nav li;a&&Text;a&&href;.*/(.*?)/',
searchable: 2, searchable: 2,
quickSearch: 0, quickSearch: 0,
filterable: 0, filterable: 0,
headers: { headers: {
'User-Agent': 'MOBILE_UA', 'User-Agent': 'MOBILE_UA',
}, },
play_parse: true, play_parse: true,
lazy: '', lazy: '',
limit: 6, limit: 6,
推荐: '.cbox_list;*;*;*;*;*', 推荐: '.cbox_list;*;*;*;*;*',
double: true, double: true,
一级: 'ul.vodlist li;a&&title;a&&data-original;.pic_text&&Text;a&&href', 一级: 'ul.vodlist li;a&&title;a&&data-original;.pic_text&&Text;a&&href',
二级: { 二级: {
title: 'h2&&Text;.detail_list&&ul:eq(1)&&li&&a:eq(2)&&Text', title: 'h2&&Text;.detail_list&&ul:eq(1)&&li&&a:eq(2)&&Text',
img: '.vodlist_thumb&&data-original', img: '.vodlist_thumb&&data-original',
desc: '.content_detail&&li:eq(1)&&Text;.detail_list&&ul:eq(1)&&li&&a&&Text;.detail_list&&ul:eq(1)&&li&&a:eq(1)&&Text;.detail_list&&ul:eq(1)&&li:eq(2)&&Text;.detail_list&&ul:eq(1)&&li:eq(3)&&Text', desc: '.content_detail&&li:eq(1)&&Text;.detail_list&&ul:eq(1)&&li&&a&&Text;.detail_list&&ul:eq(1)&&li&&a:eq(1)&&Text;.detail_list&&ul:eq(1)&&li:eq(2)&&Text;.detail_list&&ul:eq(1)&&li:eq(3)&&Text',
content: '.content_desc&&span&&Text', content: '.content_desc&&span&&Text',
tabs: '.play_source_tab&&a', tabs: '.play_source_tab&&a',
lists: '.content_playlist:eq(#id) li', lists: '.content_playlist:eq(#id) li',
}, },
搜索: '*', 搜索: '*',
}, },
mxpro: { mxpro: {
title: '', title: '',
host: '', // homeUrl:'/', host: '', // homeUrl:'/',
url: '/vodshow/fyclass--------fypage---.html', url: '/vodshow/fyclass--------fypage---.html',
searchUrl: '/vodsearch/**----------fypage---.html', searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2, //是否启用全局搜索, searchable: 2, //是否启用全局搜索,
quickSearch: 0, //是否启用快速搜索, quickSearch: 0, //是否启用快速搜索,
filterable: 0, //是否启用分类筛选, filterable: 0, //是否启用分类筛选,
headers: { //网站的请求头,完整支持所有的,常带ua和cookies headers: { //网站的请求头,完整支持所有的,常带ua和cookies
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok" 'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
}, },
class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html', class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html',
play_parse: true, play_parse: true,
lazy: '', lazy: '',
limit: 6, limit: 6,
推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href', 推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
double: true, // 推荐内容是否双层定位 double: true, // 推荐内容是否双层定位
一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href', 一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
二级: { 二级: {
"title": "h1&&Text;.module-info-tag&&Text", "title": "h1&&Text;.module-info-tag&&Text",
"img": ".lazyload&&data-original", "img": ".lazyload&&data-original",
"desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text", "desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text",
"content": ".module-info-introduction&&Text", "content": ".module-info-introduction&&Text",
"tabs": ".module-tab-item", "tabs": ".module-tab-item",
"lists": ".module-play-list:eq(#id) a" "lists": ".module-play-list:eq(#id) a"
}, },
搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text', 搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
}, },
mxone5: { mxone5: {
title: '', title: '',
host: '', host: '',
url: '/show/fyclass--------fypage---.html', url: '/show/fyclass--------fypage---.html',
searchUrl: '/search/**----------fypage---.html', searchUrl: '/search/**----------fypage---.html',
searchable: 2, //是否启用全局搜索, searchable: 2, //是否启用全局搜索,
quickSearch: 0, //是否启用快速搜索, quickSearch: 0, //是否启用快速搜索,
filterable: 0, //是否启用分类筛选, filterable: 0, //是否启用分类筛选,
class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html', class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html',
play_parse: true, play_parse: true,
lazy: '', lazy: '',
limit: 6, limit: 6,
推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', 推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位 double: true, // 推荐内容是否双层定位
一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', 一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
二级: { 二级: {
"title": "h1&&Text;.tag-link&&Text", "title": "h1&&Text;.tag-link&&Text",
"img": ".module-item-pic&&img&&data-src", "img": ".module-item-pic&&img&&data-src",
"desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text", "desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text",
"content": ".vod_content&&Text", "content": ".vod_content&&Text",
"tabs": ".module-tab-item", "tabs": ".module-tab-item",
"lists": ".module-player-list:eq(#id)&&.scroll-content&&a" "lists": ".module-player-list:eq(#id)&&.scroll-content&&a"
}, },
搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href', 搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
}, },
首图: { 首图: {
title: '', title: '',
host: '', host: '',
url: '/vodshow/fyclass--------fypage---/', url: '/vodshow/fyclass--------fypage---/',
searchUrl: '/vodsearch/**----------fypage---.html', searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2, //是否启用全局搜索, searchable: 2, //是否启用全局搜索,
quickSearch: 0, //是否启用快速搜索, quickSearch: 0, //是否启用快速搜索,
filterable: 0, //是否启用分类筛选, filterable: 0, //是否启用分类筛选,
headers: { //网站的请求头,完整支持所有的,常带ua和cookies headers: { //网站的请求头,完整支持所有的,常带ua和cookies
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok" 'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
}, },
class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html', class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html',
play_parse: true, play_parse: true,
lazy: '', lazy: '',
limit: 6, limit: 6,
推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href', 推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位 double: true, // 推荐内容是否双层定位
一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', 一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: { 二级: {
"title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text", "title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text",
"img": ".myui-content__thumb .lazyload&&data-original", "img": ".myui-content__thumb .lazyload&&data-original",
"desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text", "desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text",
"content": ".content&&Text", "content": ".content&&Text",
"tabs": ".nav-tabs:eq(0) li", "tabs": ".nav-tabs:eq(0) li",
"lists": ".myui-content__list:eq(#id) li" "lists": ".myui-content__list:eq(#id) li"
}, },
搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', 搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
}, },
首图2: { 首图2: {
title: '', title: '',
host: '', host: '',
url: '/list/fyclass-fypage.html', url: '/list/fyclass-fypage.html',
searchUrl: '/vodsearch/**----------fypage---.html', searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2, //是否启用全局搜索, searchable: 2, //是否启用全局搜索,
quickSearch: 0, //是否启用快速搜索, quickSearch: 0, //是否启用快速搜索,
filterable: 0, //是否启用分类筛选, filterable: 0, //是否启用分类筛选,
headers: { headers: {
'User-Agent': 'UC_UA', // "Cookie": "" 'User-Agent': 'UC_UA', // "Cookie": ""
}, // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html', }, // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html', class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
play_parse: true, play_parse: true,
lazy: '', lazy: '',
limit: 6, limit: 6,
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', 推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位 double: true, // 推荐内容是否双层定位
一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', 一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: { 二级: {
"title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text", "title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text",
"img": ".stui-content__thumb .lazyload&&data-original", "img": ".stui-content__thumb .lazyload&&data-original",
"desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text", "desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text",
"content": ".detail&&Text", "content": ".detail&&Text",
"tabs": ".stui-vodlist__head h3", "tabs": ".stui-vodlist__head h3",
"lists": ".stui-content__playlist:eq(#id) li" "lists": ".stui-content__playlist:eq(#id) li"
}, },
搜索: 'ul.stui-vodlist__media:eq(0),ul.stui-vodlist:eq(0),#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', 搜索: 'ul.stui-vodlist__media:eq(0),ul.stui-vodlist:eq(0),#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', 搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', 搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
}, },
默认: { 默认: {
title: '', title: '',
host: '', host: '',
url: '', url: '',
searchUrl: '', searchUrl: '',
searchable: 2, searchable: 2,
quickSearch: 0, quickSearch: 0,
filterable: 1, filterable: 1,
filter: '', filter: '',
filter_url: '', filter_url: '',
filter_def: {}, filter_def: {},
headers: { headers: {
'User-Agent': 'MOBILE_UA', 'User-Agent': 'MOBILE_UA',
}, },
timeout: 5000, timeout: 5000,
class_parse: '#side-menu li;a&&Text;a&&href;/(.*?)\.html', class_parse: '#side-menu li;a&&Text;a&&href;/(.*?)\.html',
cate_exclude: '', cate_exclude: '',
play_parse: true, play_parse: true,
lazy: `js:input = {parse: 1, url: input, js: ''}`, lazy: `js:input = {parse: 1, url: input, js: ''}`,
double: true, double: true,
推荐: '列表1;列表2;标题;图片;描述;链接;详情', 推荐: '列表1;列表2;标题;图片;描述;链接;详情',
一级: '列表;标题;图片;描述;链接;详情', 一级: '列表;标题;图片;描述;链接;详情',
二级: { 二级: {
title: 'vod_name;vod_type', title: 'vod_name;vod_type',
img: '图片链接', img: '图片链接',
desc: '主要信息;年代;地区;演员;导演', desc: '主要信息;年代;地区;演员;导演',
content: '简介', content: '简介',
tabs: '', tabs: '',
lists: 'xx:eq(#id)&&a', lists: 'xx:eq(#id)&&a',
tab_text: 'body&&Text', tab_text: 'body&&Text',
list_text: 'body&&Text', list_text: 'body&&Text',
list_url: 'a&&href' list_url: 'a&&href'
}, },
搜索: '列表;标题;图片;描述;链接;详情', 搜索: '列表;标题;图片;描述;链接;详情',
}, },
vfed: { vfed: {
title: '', title: '',
host: '', host: '',
url: '/index.php/vod/show/id/fyclass/page/fypage.html', url: '/index.php/vod/show/id/fyclass/page/fypage.html',
searchUrl: '/index.php/vod/search/page/fypage/wd/**.html', searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
searchable: 2, //是否启用全局搜索, searchable: 2, //是否启用全局搜索,
quickSearch: 0, //是否启用快速搜索, quickSearch: 0, //是否启用快速搜索,
filterable: 0, //是否启用分类筛选, filterable: 0, //是否启用分类筛选,
headers: { headers: {
'User-Agent': 'UC_UA', 'User-Agent': 'UC_UA',
}, // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html', }, // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html',
class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html', class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
play_parse: true, play_parse: true,
lazy: '', lazy: '',
limit: 6, limit: 6,
推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', 推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
double: true, // 推荐内容是否双层定位 double: true, // 推荐内容是否双层定位
一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', 一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
二级: { 二级: {
"title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text", "title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text",
"img": ".fed-list-info&&a&&data-original", "img": ".fed-list-info&&a&&data-original",
"desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text", "desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text",
"content": ".fed-part-esan&&Text", "content": ".fed-part-esan&&Text",
"tabs": ".fed-drop-boxs&&.fed-part-rows&&li", "tabs": ".fed-drop-boxs&&.fed-part-rows&&li",
"lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li" "lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li"
}, },
搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text', 搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
}, },
海螺3: { 海螺3: {
title: '', title: '',
host: '', host: '',
searchUrl: '/v_search/**----------fypage---.html', searchUrl: '/v_search/**----------fypage---.html',
url: '/vod_____show/fyclass--------fypage---.html', url: '/vod_____show/fyclass--------fypage---.html',
headers: { headers: {
'User-Agent': 'MOBILE_UA' 'User-Agent': 'MOBILE_UA'
}, },
timeout: 5000, timeout: 5000,
class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html', class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
cate_exclude: '明星|专题|最新|排行', cate_exclude: '明星|专题|最新|排行',
limit: 40, limit: 40,
play_parse: true, play_parse: true,
lazy: '', lazy: '',
推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href', 推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
double: true, double: true,
一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', 一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
二级: { 二级: {
"title": ".hl-infos-title&&Text;.hl-text-conch&&Text", "title": ".hl-infos-title&&Text;.hl-text-conch&&Text",
"img": ".hl-lazy&&data-original", "img": ".hl-lazy&&data-original",
"desc": ".hl-infos-content&&.hl-text-conch&&Text", "desc": ".hl-infos-content&&.hl-text-conch&&Text",
"content": ".hl-content-text&&Text", "content": ".hl-content-text&&Text",
"tabs": ".hl-tabs&&a", "tabs": ".hl-tabs&&a",
"lists": ".hl-plays-list:eq(#id)&&li" "lists": ".hl-plays-list:eq(#id)&&li"
}, },
搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', 搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
searchable: 2, //是否启用全局搜索, searchable: 2, //是否启用全局搜索,
quickSearch: 0, //是否启用快速搜索, quickSearch: 0, //是否启用快速搜索,
filterable: 0, //是否启用分类筛选, filterable: 0, //是否启用分类筛选,
}, },
海螺2: { 海螺2: {
title: '', title: '',
host: '', host: '',
searchUrl: '/index.php/vod/search/page/fypage/wd/**/', searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
url: '/index.php/vod/show/id/fyclass/page/fypage/', url: '/index.php/vod/show/id/fyclass/page/fypage/',
headers: { headers: {
'User-Agent': 'MOBILE_UA' 'User-Agent': 'MOBILE_UA'
}, },
timeout: 5000, timeout: 5000,
class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/', class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
limit: 40, limit: 40,
play_parse: true, play_parse: true,
lazy: '', lazy: '',
推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href', 推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
double: true, double: true,
一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href', 一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
二级: { 二级: {
"title": "h2&&Text;.deployment&&Text", "title": "h2&&Text;.deployment&&Text",
"img": ".lazy&&data-original", "img": ".lazy&&data-original",
"desc": ".deployment&&Text", "desc": ".deployment&&Text",
"content": ".ec-show&&Text", "content": ".ec-show&&Text",
"tabs": "#tag&&a", "tabs": "#tag&&a",
"lists": ".play_list_box:eq(#id)&&li" "lists": ".play_list_box:eq(#id)&&li"
}, },
搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href', 搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
searchable: 2, //是否启用全局搜索, searchable: 2, //是否启用全局搜索,
quickSearch: 0, //是否启用快速搜索, quickSearch: 0, //是否启用快速搜索,
filterable: 0, //是否启用分类筛选, filterable: 0, //是否启用分类筛选,
}, },
短视: { 短视: {
title: '', title: '',
host: '', // homeUrl:'/', host: '', // homeUrl:'/',
url: '/channel/fyclass-fypage.html', url: '/channel/fyclass-fypage.html',
searchUrl: '/search.html?wd=**', searchUrl: '/search.html?wd=**',
searchable: 2, //是否启用全局搜索, searchable: 2, //是否启用全局搜索,
quickSearch: 0, //是否启用快速搜索, quickSearch: 0, //是否启用快速搜索,
filterable: 0, //是否启用分类筛选, filterable: 0, //是否启用分类筛选,
headers: { //网站的请求头,完整支持所有的,常带ua和cookies headers: { //网站的请求头,完整支持所有的,常带ua和cookies
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok" 'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
}, },
class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html', class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
cate_exclude: '解析|动态', cate_exclude: '解析|动态',
play_parse: true, play_parse: true,
lazy: '', lazy: '',
limit: 6, limit: 6,
推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href', 推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
double: true, // 推荐内容是否双层定位 double: true, // 推荐内容是否双层定位
一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href', 一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
二级: { 二级: {
"title": "h1&&Text;.content-rt&&p:eq(0)&&Text", "title": "h1&&Text;.content-rt&&p:eq(0)&&Text",
"img": ".img&&img&&data-src", "img": ".img&&img&&data-src",
"desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text", "desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text",
"content": ".zkjj_a&&Text", "content": ".zkjj_a&&Text",
"tabs": ".py-tabs&&option", "tabs": ".py-tabs&&option",
"lists": ".player:eq(#id) li" "lists": ".player:eq(#id) li"
}, },
搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href', 搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
}, },
短视2: { 短视2: {
title: '', title: '',
host: '', host: '',
class_name: '电影&电视剧&综艺&动漫', class_name: '电影&电视剧&综艺&动漫',
class_url: '1&2&3&4', class_url: '1&2&3&4',
searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50', searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
searchable: 2, searchable: 2,
quickSearch: 0, quickSearch: 0,
headers: { headers: {
'User-Agent': 'MOBILE_UA' 'User-Agent': 'MOBILE_UA'
}, },
url: '/index.php/api/vod#type=fyclass&page=fypage', url: '/index.php/api/vod#type=fyclass&page=fypage',
filterable: 0, //是否启用分类筛选, filterable: 0, //是否启用分类筛选,
filter_url: '', filter_url: '',
filter: {}, filter: {},
filter_def: {}, filter_def: {},
detailUrl: '/index.php/vod/detail/id/fyid.html', detailUrl: '/index.php/vod/detail/id/fyid.html',
play_parse: true, play_parse: true,
lazy: '', lazy: '',
limit: 6, limit: 6,
推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href', 推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
一级: 'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});', 一级: 'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});',
二级: { 二级: {
"title": ".slide-info-title&&Text;.slide-info:eq(3)--strong&&Text", "title": ".slide-info-title&&Text;.slide-info:eq(3)--strong&&Text",
"img": ".detail-pic&&data-original", "img": ".detail-pic&&data-original",
"desc": ".fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text", "desc": ".fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text",
"content": "#height_limit&&Text", "content": "#height_limit&&Text",
"tabs": ".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a", "tabs": ".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a",
"tab_text": ".swiper-slide&&Text", "tab_text": ".swiper-slide&&Text",
"lists": ".anthology-list-box:eq(#id) li" "lists": ".anthology-list-box:eq(#id) li"
}, },
搜索: 'json:list;name;pic;;id', 搜索: 'json:list;name;pic;;id',
}, },
采集1: { 采集1: {
title: '', title: '',
host: '', host: '',
homeTid: '13', homeTid: '13',
homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}', homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}',
detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid', detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid',
searchUrl: '/api.php/provide/vod/?wd=**&pg=fypage', searchUrl: '/api.php/provide/vod/?wd=**&pg=fypage',
url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass', url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass',
headers: { headers: {
'User-Agent': 'MOBILE_UA' 'User-Agent': 'MOBILE_UA'
}, },
timeout: 5000, // class_name: '电影&电视剧&综艺&动漫', timeout: 5000, // class_name: '电影&电视剧&综艺&动漫',
// class_url: '1&2&3&4', // class_url: '1&2&3&4',
// class_parse:'js:let html=request(input);input=JSON.parse(html).class;', // class_parse:'js:let html=request(input);input=JSON.parse(html).class;',
class_parse: 'json:class;', class_parse: 'json:class;',
limit: 20, limit: 20,
multi: 1, multi: 1,
searchable: 2, //是否启用全局搜索, searchable: 2, //是否启用全局搜索,
quickSearch: 1, //是否启用快速搜索, quickSearch: 1, //是否启用快速搜索,
filterable: 0, //是否启用分类筛选, filterable: 0, //是否启用分类筛选,
play_parse: true, play_parse: true,
parse_url: '', parse_url: '',
lazy: `js: lazy: `js:
if(/\\.(m3u8|mp4)/.test(input)){ if(/\\.(m3u8|mp4)/.test(input)){
input = {parse:0,url:input} input = {parse:0,url:input}
}else{ }else{
if(rule.parse_url.startsWith('json:')){ if(rule.parse_url.startsWith('json:')){
let purl = rule.parse_url.replace('json:','')+input; let purl = rule.parse_url.replace('json:','')+input;
let html = request(purl); let html = request(purl);
input = {parse:0,url:JSON.parse(html).url} input = {parse:0,url:JSON.parse(html).url}
}else{ }else{
input= rule.parse_url+input; input= rule.parse_url+input;
} }
} }
`, `,
推荐: '*', 推荐: '*',
一级: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from', 一级: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from',
二级: `js: 二级: `js:
let html=request(input); let html=request(input);
html=JSON.parse(html); html=JSON.parse(html);
let data=html.list; let data=html.list;
VOD=data[0];`, VOD=data[0];`,
搜索: '*', 搜索: '*',
} }
}; };
return JSON.parse(JSON.stringify(mubanDict)); return JSON.parse(JSON.stringify(mubanDict));
} }
var mubanDict = getMubans(); var mubanDict = getMubans();
var muban = getMubans(); var muban = getMubans();
export export
default { default {
muban, getMubans muban, getMubans
}; };

View File

@ -1,151 +1,153 @@
var rule = { var rule = {
title: '腾云驾雾[官]', title: '腾云驾雾[官]',
host: 'https://v.%71%71.com', host: 'https://v.%71%71.com',
homeUrl: '/x/bu/pagesheet/list?_all=1&append=1&channel=choice&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18', // homeUrl: '/x/bu/pagesheet/list?_all=1&append=1&channel=choice&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18',
detailUrl: 'https://node.video.%71%71.com/x/api/float_vinfo2?cid=fyid', homeUrl: '/x/bu/pagesheet/list?_all=1&append=1&channel=cartoon&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18',
searchUrl: '/x/search/?q=**&stag=fypage', detailUrl: 'https://node.video.%71%71.com/x/api/float_vinfo2?cid=fyid',
searchable: 2, searchUrl: '/x/search/?q=**&stag=fypage',
filterable: 1, searchable: 2,
multi: 1, filterable: 1,
// url:'/channel/fyclass?listpage=fypage&channel=fyclass&sort=18&_all=1', multi: 1,
url: '/x/bu/pagesheet/list?_all=1&append=1&channel=fyclass&listpage=1&offset=((fypage-1)*21)&pagesize=21&iarea=-1', // url:'/channel/fyclass?listpage=fypage&channel=fyclass&sort=18&_all=1',
filter_url: 'sort={{fl.sort or 18}}&year={{fl.year}}&pay={{fl.pay}}', url: '/x/bu/pagesheet/list?_all=1&append=1&channel=fyclass&listpage=1&offset=((fypage-1)*21)&pagesize=21&iarea=-1',
filter: 'H4sIAAAAAAAAA+2UzUrDQBCA32XOEZLUJrGvIj0saaDBNisxBkIJCG3Fi4oepIg3EQoieqiH+vM23Zq+hRuaZLZ4ce9z2/lmd2d2+NgR+H0e+gF0DkdwFGTQgRMeJ2BAxIaSwvrqVnxcyzhlg9PttqjED2c/45cSy8DyIDcavr57q/lBw8XTd/E6qbnT8M3zTFyc72RtC/Jumd+2c8wy7KZ4nxSL5Z9uxHS+Gc+r83sWVp1eVttl4Dluk1h93YubWZVwduplAYuxoFguVp+P/y5om/Z+/YxyqfAW8pbKbeS2yi3kO/ebyE2Fy1nXXBm7DDzknspd5K7KHeSOytvI2+XAugYkKWlD2mhrM+RpSB8OmaNvTsriMEgycofc0XbHZ3HCeUTukDv67vTDQY/MIXO0zelxn5M4JI6mOPkvgswSEpgPAAA=', // filter_url: 'sort={{fl.sort or 18}}&year={{fl.year}}&pay={{fl.pay}}',
headers: { filter_url: 'sort={{fl.sort or 75}}&year={{fl.year}}&pay={{fl.pay}}',
'User-Agent': 'PC_UA' filter: 'H4sIAAAAAAAAA+2UzUrDQBCA32XOEZLUJrGvIj0saaDBNisxBkIJCG3Fi4oepIg3EQoieqiH+vM23Zq+hRuaZLZ4ce9z2/lmd2d2+NgR+H0e+gF0DkdwFGTQgRMeJ2BAxIaSwvrqVnxcyzhlg9PttqjED2c/45cSy8DyIDcavr57q/lBw8XTd/E6qbnT8M3zTFyc72RtC/Jumd+2c8wy7KZ4nxSL5Z9uxHS+Gc+r83sWVp1eVttl4Dluk1h93YubWZVwduplAYuxoFguVp+P/y5om/Z+/YxyqfAW8pbKbeS2yi3kO/ebyE2Fy1nXXBm7DDzknspd5K7KHeSOytvI2+XAugYkKWlD2mhrM+RpSB8OmaNvTsriMEgycofc0XbHZ3HCeUTukDv67vTDQY/MIXO0zelxn5M4JI6mOPkvgswSEpgPAAA=',
}, headers: {
timeout: 5000, 'User-Agent': 'PC_UA'
// class_parse:'.site_channel a;a&&Text;a&&href;channel/(.*)', },
cate_exclude: '会员|游戏|全部', timeout: 5000,
class_name: '精选&电视剧&电影&综艺&动漫&少儿&纪录片', // class_parse:'.site_channel a;a&&Text;a&&href;channel/(.*)',
class_url: 'choice&tv&movie&variety&cartoon&child&doco', cate_exclude: '会员|游戏|全部',
limit: 20, class_name: '精选&电视剧&电影&综艺&动漫&少儿&纪录片',
// play_parse:true, class_url: 'choice&tv&movie&variety&cartoon&child&doco',
// 手动调用解析请求json的url,此lazy不方便 limit: 20,
lazy: 'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input', // play_parse:true,
推荐: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float', // 手动调用解析请求json的url,此lazy不方便
一级: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float', lazy: 'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input',
二级: $js.toString(() => { 推荐: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
VOD = {}; 一级: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
let d = []; 二级: $js.toString(() => {
let video_list = []; VOD = {};
let video_lists = []; let d = [];
let list = []; let video_list = [];
let QZOutputJson; let video_lists = [];
let html = fetch(input, fetch_params); let list = [];
let sourceId = /get_playsource/.test(input) ? input.match(/id=(\d*?)&/)[1] : input.split("cid=")[1]; let QZOutputJson;
let cid = sourceId; let html = fetch(input, fetch_params);
let detailUrl = "https://v.%71%71.com/detail/m/" + cid + ".html"; let sourceId = /get_playsource/.test(input) ? input.match(/id=(\d*?)&/)[1] : input.split("cid=")[1];
log("详情页:" + detailUrl); let cid = sourceId;
pdfh = jsp.pdfh; let detailUrl = "https://v.%71%71.com/detail/m/" + cid + ".html";
pd = jsp.pd; log("详情页:" + detailUrl);
try { pdfh = jsp.pdfh;
let json = JSON.parse(html); pd = jsp.pd;
VOD = { try {
vod_url: input, let json = JSON.parse(html);
vod_name: json.c.title, VOD = {
type_name: json.typ.join(","), vod_url: input,
vod_actor: json.nam.join(","), vod_name: json.c.title,
vod_year: json.c.year, type_name: json.typ.join(","),
vod_content: json.c.description, vod_actor: json.nam.join(","),
vod_remarks: json.rec, vod_year: json.c.year,
vod_pic: urljoin2(input, json.c.pic) vod_content: json.c.description,
} vod_remarks: json.rec,
} catch (e) { vod_pic: urljoin2(input, json.c.pic)
log("解析片名海报等基础信息发生错误:" + e.message) }
} } catch (e) {
if (/get_playsource/.test(input)) { log("解析片名海报等基础信息发生错误:" + e.message)
eval(html); }
let indexList = QZOutputJson.PlaylistItem.indexList; if (/get_playsource/.test(input)) {
indexList.forEach(function (it) { eval(html);
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"; let indexList = QZOutputJson.PlaylistItem.indexList;
eval(fetch(dataUrl, fetch_params)); indexList.forEach(function (it) {
let vdata = QZOutputJson.PlaylistItem.videoPlayList; 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";
vdata.forEach(function (item) { eval(fetch(dataUrl, fetch_params));
d.push({ let vdata = QZOutputJson.PlaylistItem.videoPlayList;
title: item.title, vdata.forEach(function (item) {
pic_url: item.pic, d.push({
desc: item.episode_number + "\t\t\t播放量" + item.thirdLine, title: item.title,
url: item.playUrl pic_url: item.pic,
}) desc: item.episode_number + "\t\t\t播放量" + item.thirdLine,
}); url: item.playUrl
video_lists = video_lists.concat(vdata) })
}) });
} else { video_lists = video_lists.concat(vdata)
let json = JSON.parse(html); })
video_lists = json.c.video_ids; } else {
let url = "https://v.qq.com/x/cover/" + sourceId + ".html"; let json = JSON.parse(html);
if (video_lists.length === 1) { video_lists = json.c.video_ids;
let vid = video_lists[0]; let url = "https://v.qq.com/x/cover/" + sourceId + ".html";
url = "https://v.qq.com/x/cover/" + cid + "/" + vid + ".html"; if (video_lists.length === 1) {
d.push({ let vid = video_lists[0];
title: "在线播放", url = "https://v.qq.com/x/cover/" + cid + "/" + vid + ".html";
url: url d.push({
}) title: "在线播放",
} else if (video_lists.length > 1) { url: url
for (let i = 0; i < video_lists.length; i += 30) { })
video_list.push(video_lists.slice(i, i + 30)) } else if (video_lists.length > 1) {
} for (let i = 0; i < video_lists.length; i += 30) {
video_list.forEach(function (it, idex) { video_list.push(video_lists.slice(i, i + 30))
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); video_list.forEach(function (it, idex) {
eval(o_html); 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(",");
QZOutputJson.results.forEach(function (it1) { let o_html = fetch(o_url, fetch_params);
it1 = it1.fields; eval(o_html);
let url = "https://v.qq.com/x/cover/" + cid + "/" + it1.vid + ".html"; QZOutputJson.results.forEach(function (it1) {
d.push({ it1 = it1.fields;
title: it1.title, let url = "https://v.qq.com/x/cover/" + cid + "/" + it1.vid + ".html";
pic_url: it1.pic160x90.replace("/160", ""), d.push({
desc: it1.video_checkup_time, title: it1.title,
url: url, pic_url: it1.pic160x90.replace("/160", ""),
type: it1.category_map && it1.category_map.length > 1 ? it1.category_map[1] : "" desc: it1.video_checkup_time,
}) url: url,
}) type: it1.category_map && it1.category_map.length > 1 ? it1.category_map[1] : ""
}) })
} })
} })
let yg = d.filter(function (it) { }
return it.type && it.type !== "正片" }
}); let yg = d.filter(function (it) {
let zp = d.filter(function (it) { return it.type && it.type !== "正片"
return !(it.type && it.type !== "正片") });
}); let zp = d.filter(function (it) {
VOD.vod_play_from = yg.length < 1 ? "qq" : "qq$$$qq 预告及花絮"; return !(it.type && it.type !== "正片")
VOD.vod_play_url = yg.length < 1 ? d.map(function (it) { });
return it.title + "$" + it.url VOD.vod_play_from = yg.length < 1 ? "qq" : "qq$$$qq 预告及花絮";
}).join("#") : [zp, yg].map(function (it) { VOD.vod_play_url = yg.length < 1 ? d.map(function (it) {
return it.map(function (its) { return it.title + "$" + it.url
return its.title + "$" + its.url }).join("#") : [zp, yg].map(function (it) {
}).join("#") return it.map(function (its) {
}).join("$$$"); return its.title + "$" + its.url
}), }).join("#")
搜索: $js.toString(() => { }).join("$$$");
let d = []; }),
pdfa = jsp.pdfa; 搜索: $js.toString(() => {
pdfh = jsp.pdfh; let d = [];
pd = jsp.pd; pdfa = jsp.pdfa;
let html = request(input); pdfh = jsp.pdfh;
let baseList = pdfa(html, "body&&.result_item_v"); pd = jsp.pd;
baseList.forEach(function (it) { let html = request(input);
let longText = pdfh(it, ".result_title&&a&&Text"); let baseList = pdfa(html, "body&&.result_item_v");
let shortText = pdfh(it, ".type&&Text"); baseList.forEach(function (it) {
let fromTag = pdfh(it, ".result_source&&Text"); let longText = pdfh(it, ".result_title&&a&&Text");
let score = pdfh(it, ".figure_info&&Text"); let shortText = pdfh(it, ".type&&Text");
let content = pdfh(it, ".desc_text&&Text"); let fromTag = pdfh(it, ".result_source&&Text");
let url = pdfh(it, ".result_title&&a&&href"); let score = pdfh(it, ".figure_info&&Text");
let img = pd(it, ".figure_pic&&src"); let content = pdfh(it, ".desc_text&&Text");
url = "https://node.video.qq.com/x/api/float_vinfo2?cid=" + url.match(/.*\/(.*?)\.html/)[1]; let url = pdfh(it, ".result_title&&a&&href");
log(shortText + "|" + url); let img = pd(it, ".figure_pic&&src");
if (fromTag.match(/腾讯/)) { url = "https://node.video.qq.com/x/api/float_vinfo2?cid=" + url.match(/.*\/(.*?)\.html/)[1];
d.push({ log(shortText + "|" + url);
title: longText.split(shortText)[0], if (fromTag.match(/腾讯/)) {
img: img, d.push({
url: url, title: longText.split(shortText)[0],
content: content, img: img,
desc: shortText + " " + score url: url,
}) content: content,
} desc: shortText + " " + score
}); })
setResult(d); }
}), });
setResult(d);
}),
} }