var rule = { 类型: '影视', title: '播剧', host: 'https://www.boju.cc/', //url: '/vodshow/fyclass--------fypage---.html', // url: '/vodshow/fyclass.html', url: '/vodshow/fyfilter.html', searchUrl: '/vodsearch/page/2/wd/**.html', headers: {'User-Agent': 'UC_UA'}, searchable: 1, quickSearch: 0, filterable: 0, double: true, play_parse: true, limit: 6, class_name: '电影&连续剧&综艺&动漫', class_url: 'movie&tvplay&tvshow&dongman', filterable: 1, filter_url:'{{fl.cateId}}-{{fl.area}}-{{fl.by}}-{{fl.class}}-{{fl.lang}}-{{fl.letter}}---fypage---{{fl.year}}', filter:'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', play_parse: true, searchable: 1, filterable: 1, quickSearch: 0, class_parse: async () => { let classes = [{ type_id: 'movie', type_name: '电影', }, { type_id: 'tvplay', type_name: '剧集', }, { type_id: 'dongman', type_name: '动漫', }, { type_id: 'tvshow', type_name: '综艺', } ]; return { class: classes, } }, lazy: async function () { let {input, pdfa, pdfh, pd} = this const html = JSON.parse((await req(input)).content.match(/r player_.*?=(.*?) { let data1 = pdfa(it, 'a.module-poster-item.module-item'); data1.forEach((it1) => { d.push({ title: pdfh(it1, '.module-poster-item-title&&Text'), pic_url: pd(it1, '.lazyload&&data-original'), desc: pdfh(it1, '.module-item-note&&Text'), url: pd(it1, 'a&&href'), }) }); }); return setResult(d) }, 一级: async function () { let {input, pdfa, pdfh, pd} = this; let html = await request(input); let d = []; let data = pdfa(html, 'body a.module-poster-item.module-item'); data.forEach((it) => { d.push({ title: pdfh(it, 'a&&title'), pic_url: pd(it, '.lazyload&&data-original'), desc: pdfh(it, '.module-item-note&&Text'), url: pd(it, 'a&&href'), }) }); return setResult(d) }, 二级: async function () { let {input, pdfa, pdfh, pd} = this; let html = await request(input); let VOD = {}; VOD.vod_name = pdfh(html, 'h1&&Text'); VOD.type_name = pdfh(html, '.module-info-tag-link:eq(-1)&&Text'); VOD.vod_pic = pd(html, '.lazyload&&data-original||data-src||src'); VOD.vod_content = pdfh(html, '.module-info-introduction&&Text'); VOD.vod_remarks = pdfh(html, '.module-info-item:eq(-2)&&Text'); VOD.vod_year = pdfh(html, '.module-info-tag-link&&Text'); VOD.vod_area = pdfh(html, '.module-info-tag-link:eq(1)&&Text'); VOD.vod_actor = pdfh(html, '.module-info-item:eq(2)&&Text'); VOD.vod_director = pdfh(html, '.module-info-item:eq(1)&&Text'); let playlist = pdfa(html, '.module-play-list') let tabs = pdfa(html, '.module-tab-item'); let playmap = {}; tabs.map((item, i) => { const form = pdfh(item, 'Text') const list = playlist[i] const a = pdfa(list, 'body&&a') a.map((it) => { let title = pdfh(it, 'a&&Text') let urls = pd(it, 'a&&href', input) if (!playmap.hasOwnProperty(form)) { playmap[form] = []; } playmap[form].push(title + "$" + urls); }); }); VOD.vod_play_from = Object.keys(playmap).join('$$$'); const urls = Object.values(playmap); const playUrls = urls.map((urllist) => { return urllist.join("#") }); VOD.vod_play_url = playUrls.join('$$$'); return VOD }, 搜索: async function () { let {input, pdfa, pdfh, pd} = this; let html = await request(input); let d = []; let data = pdfa(html, 'body .module-item'); data.forEach((it) => { d.push({ title: pdfh(it, '.module-card-item-title&&Text'), pic_url: pd(it, '.lazyload&&data-original'), desc: pdfh(it, '.module-item-note&&Text'), url: pd(it, 'a&&href'), content: pdfh(it, '.module-info-item-content&&Text'), }) }); return setResult(d) } }