dongchenys
9 months ago
committed by
Gitee
28 changed files with 0 additions and 14243 deletions
1
libs/Bot.js
File diff suppressed because one or more lines are too long
View File
File diff suppressed because one or more lines are too long
View File
39
libs/aiqiyi.js
File diff suppressed because one or more lines are too long
View File
File diff suppressed because one or more lines are too long
View File
1
libs/cheerio.min.js
File diff suppressed because one or more lines are too long
View File
File diff suppressed because one or more lines are too long
View File
6191
libs/crypto-js.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1,241 +0,0 @@ |
|||||
import { Crypto, load, _ } from './lib/cat.js'; |
|
||||
|
|
||||
let key = 'czzy'; |
|
||||
let url = 'https://cz01.cc'; |
|
||||
let siteKey = ''; |
|
||||
let siteType = 0; |
|
||||
|
|
||||
const 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 cookie = {}; |
|
||||
|
|
||||
async function request(reqUrl, referer, mth, data, hd) { |
|
||||
const headers = { |
|
||||
'User-Agent': UA, |
|
||||
Cookie: _.map(cookie, (value, key) => { |
|
||||
return `${key}=${value}`; |
|
||||
}).join(';'), |
|
||||
}; |
|
||||
if (referer) headers.referer = encodeURIComponent(referer); |
|
||||
let res = await req(reqUrl, { |
|
||||
method: mth || 'get', |
|
||||
headers: headers, |
|
||||
data: data, |
|
||||
postType: mth === 'post' ? 'form' : '', |
|
||||
}); |
|
||||
if (res.headers['set-cookie']) { |
|
||||
const set_cookie = _.isArray(res.headers['set-cookie']) ? res.headers['set-cookie'].join(';') : res.headers['set-cookie']; |
|
||||
const cks = set_cookie.split(';'); |
|
||||
for (const c of cks) { |
|
||||
const tmp = c.trim(); |
|
||||
if (tmp.startsWith('result=')) { |
|
||||
cookie.result = tmp.substring(7); |
|
||||
return await request(reqUrl, reqUrl, 'post', { |
|
||||
result: cookie.result, |
|
||||
}); |
|
||||
} else if (tmp.startsWith('esc_search_captcha=1')) { |
|
||||
cookie.esc_search_captcha = 1; |
|
||||
delete cookie.result; |
|
||||
return await request(reqUrl); |
|
||||
} |
|
||||
} |
|
||||
// console.log(res.headers['set-cookie']);
|
|
||||
} |
|
||||
return res.content; |
|
||||
} |
|
||||
|
|
||||
// cfg = {skey: siteKey, ext: extend}
|
|
||||
async function init(cfg) { |
|
||||
siteKey = cfg.skey; |
|
||||
siteType = cfg.stype; |
|
||||
} |
|
||||
|
|
||||
async function home(filter) { |
|
||||
let filterObj = {}; |
|
||||
const html = await request(url + '/movie_bt'); |
|
||||
const $ = load(html); |
|
||||
const series = $('div#beautiful-taxonomy-filters-tax-movie_bt_series > a[cat-url*=movie_bt_series]'); |
|
||||
const tags = $('div#beautiful-taxonomy-filters-tax-movie_bt_tags > a'); |
|
||||
let tag = { |
|
||||
key: 'tag', |
|
||||
name: '类型', |
|
||||
value: _.map(tags, (n) => { |
|
||||
let v = n.attribs['cat-url'] || ''; |
|
||||
v = v.substring(v.lastIndexOf('/') + 1); |
|
||||
return { n: n.children[0].data, v: v }; |
|
||||
}), |
|
||||
}; |
|
||||
tag['init'] = tag.value[0].v; |
|
||||
let classes = _.map(series, (s) => { |
|
||||
let typeId = s.attribs['cat-url']; |
|
||||
typeId = typeId.substring(typeId.lastIndexOf('/') + 1); |
|
||||
filterObj[typeId] = [tag]; |
|
||||
return { |
|
||||
type_id: typeId, |
|
||||
type_name: s.children[0].data, |
|
||||
}; |
|
||||
}); |
|
||||
const sortName = ['电影', '电视剧', '国产剧', '美剧', '韩剧', '日剧', '海外剧(其他)', '华语电影', '印度电影', '日本电影', '欧美电影', '韩国电影', '动画', '俄罗斯电影', '加拿大电影']; |
|
||||
classes = _.sortBy(classes, (c) => { |
|
||||
const index = sortName.indexOf(c.type_name); |
|
||||
return index === -1 ? sortName.length : index; |
|
||||
}); |
|
||||
return JSON.stringify({ |
|
||||
class: classes, |
|
||||
filters: filterObj, |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
async function homeVod() { |
|
||||
return '{}'; |
|
||||
} |
|
||||
|
|
||||
async function category(tid, pg, filter, extend) { |
|
||||
if (pg <= 0) pg = 1; |
|
||||
const tag = extend.tag || ''; |
|
||||
const link = url + '/movie_bt' + (tag.length > 0 ? `/movie_bt_tags/${tag}` : '') + '/movie_bt_series/' + tid + (pg > 1 ? `/page/${pg}` : ''); |
|
||||
const html = await request(link); |
|
||||
const $ = load(html); |
|
||||
const items = $('div.mrb > ul > li'); |
|
||||
let videos = _.map(items, (item) => { |
|
||||
const img = $(item).find('img:first')[0]; |
|
||||
const a = $(item).find('a:first')[0]; |
|
||||
const hdinfo = $($(item).find('div.hdinfo')[0]).text().trim(); |
|
||||
const jidi = $($(item).find('div.jidi')[0]).text().trim(); |
|
||||
return { |
|
||||
vod_id: a.attribs.href.replace(/.*?\/movie\/(.*).html/g, '$1'), |
|
||||
vod_name: img.attribs.alt, |
|
||||
vod_pic: img.attribs['data-original'], |
|
||||
vod_remarks: jidi || hdinfo || '', |
|
||||
}; |
|
||||
}); |
|
||||
const hasMore = $('div.mrb > div.pagenavi_txt > a:contains(>)').length > 0; |
|
||||
const pgCount = hasMore ? parseInt(pg) + 1 : parseInt(pg); |
|
||||
return JSON.stringify({ |
|
||||
page: parseInt(pg), |
|
||||
pagecount: pgCount, |
|
||||
limit: 20, |
|
||||
total: 20 * pgCount, |
|
||||
list: videos, |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
function stripHtmlTag(src) { |
|
||||
return src |
|
||||
.replace(/<\/?[^>]+(>|$)/g, '') |
|
||||
.replace(/&.{1,5};/g, '') |
|
||||
.replace(/\s{2,}/g, ' '); |
|
||||
} |
|
||||
|
|
||||
async function detail(id) { |
|
||||
const html = await request(url + '/movie/' + id + '.html'); |
|
||||
const $ = load(html); |
|
||||
const detail = $('ul.moviedteail_list > li'); |
|
||||
let vod = { |
|
||||
vod_id: id, |
|
||||
vod_name: $('div.moviedteail_tt > h1').text().trim(), |
|
||||
vod_pic: $('div.dyimg img:first').attr('src'), |
|
||||
vod_remarks: '', |
|
||||
vod_content: stripHtmlTag($('div.yp_context').html()).trim(), |
|
||||
}; |
|
||||
for (const info of detail) { |
|
||||
const i = $(info).text().trim(); |
|
||||
if (i.startsWith('地区:')) { |
|
||||
vod.vod_area = i.substring(3); |
|
||||
} else if (i.startsWith('年份:')) { |
|
||||
vod.vod_year = i.substring(3); |
|
||||
} else if (i.startsWith('导演:')) { |
|
||||
vod.vod_director = _.map($(info).find('a'), (a) => { |
|
||||
return a.children[0].data; |
|
||||
}).join('/'); |
|
||||
} else if (i.startsWith('主演:')) { |
|
||||
vod.vod_actor = _.map($(info).find('a'), (a) => { |
|
||||
return a.children[0].data; |
|
||||
}).join('/'); |
|
||||
} else if (i.startsWith('语言:')) { |
|
||||
vod.vod_lang = i.substring(3); |
|
||||
} |
|
||||
} |
|
||||
const playlist = _.map($('div.paly_list_btn > a'), (a) => { |
|
||||
return a.children[0].data + '$' + a.attribs.href.replace(/.*?\/v_play\/(.*).html/g, '$1'); |
|
||||
}); |
|
||||
vod.vod_play_from = key; |
|
||||
vod.vod_play_url = playlist.join('#'); |
|
||||
return JSON.stringify({ |
|
||||
list: [vod], |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
async function play(flag, id, flags) { |
|
||||
const link = url + '/v_play/' + id + '.html'; |
|
||||
const html = await request(link); |
|
||||
const $ = load(html); |
|
||||
const iframe = $('body iframe[src*=Cloud]'); |
|
||||
if (iframe.length > 0) { |
|
||||
const iframeHtml = ( |
|
||||
await req(iframe[0].attribs.src, { |
|
||||
headers: { |
|
||||
Referer: link, |
|
||||
'User-Agent': UA, |
|
||||
}, |
|
||||
}) |
|
||||
).content; |
|
||||
let code = iframeHtml |
|
||||
.match(/var url = '(.*?)'/)[1] |
|
||||
.split('') |
|
||||
.reverse() |
|
||||
.join(''); |
|
||||
let temp = ''; |
|
||||
for (let i = 0x0; i < code.length; i = i + 0x2) { |
|
||||
temp += String.fromCharCode(parseInt(code[i] + code[i + 0x1], 0x10)); |
|
||||
} |
|
||||
const playUrl = temp.substring(0x0, (temp.length - 0x7) / 0x2) + temp.substring((temp.length - 0x7) / 0x2 + 0x7); |
|
||||
return JSON.stringify({ |
|
||||
parse: 0, |
|
||||
url: playUrl, |
|
||||
}); |
|
||||
} else { |
|
||||
const js = $('script:contains(window.wp_nonce)').html(); |
|
||||
const group = js.match(/(var.*)eval\((\w*\(\w*\))\)/); |
|
||||
const md5 = Crypto; |
|
||||
const result = eval(group[1] + group[2]); |
|
||||
const playUrl = result.match(/url:.*?['"](.*?)['"]/)[1]; |
|
||||
return JSON.stringify({ |
|
||||
parse: 0, |
|
||||
url: playUrl, |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
async function search(wd, quick) { |
|
||||
const html = await request(url + '/?s=' + wd); |
|
||||
const $ = load(html); |
|
||||
const items = $('div.search_list > ul > li'); |
|
||||
let videos = _.map(items, (item) => { |
|
||||
const img = $(item).find('img:first')[0]; |
|
||||
const a = $(item).find('a:first')[0]; |
|
||||
const hdinfo = $($(item).find('div.hdinfo')[0]).text().trim(); |
|
||||
const jidi = $($(item).find('div.jidi')[0]).text().trim(); |
|
||||
return { |
|
||||
vod_id: a.attribs.href.replace(/.*?\/movie\/(.*).html/g, '$1'), |
|
||||
vod_name: img.attribs.alt, |
|
||||
vod_pic: img.attribs['data-original'], |
|
||||
vod_remarks: jidi || hdinfo || '', |
|
||||
}; |
|
||||
}); |
|
||||
return JSON.stringify({ |
|
||||
list: videos, |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
export function __jsEvalReturn() { |
|
||||
return { |
|
||||
init: init, |
|
||||
home: home, |
|
||||
homeVod: homeVod, |
|
||||
category: category, |
|
||||
detail: detail, |
|
||||
play: play, |
|
||||
search: search, |
|
||||
}; |
|
||||
} |
|
@ -1,794 +0,0 @@ |
|||||
{ |
|
||||
"hot_gaia": [ |
|
||||
{ |
|
||||
"key": "sort", |
|
||||
"name": "排序", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "热度", |
|
||||
"v": "recommend" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "最新", |
|
||||
"v": "time" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "评分", |
|
||||
"v": "rank" |
|
||||
} |
|
||||
] |
|
||||
}, |
|
||||
{ |
|
||||
"key": "area", |
|
||||
"name": "地区", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "全部", |
|
||||
"v": "全部" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "华语", |
|
||||
"v": "华语" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "欧美", |
|
||||
"v": "欧美" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "韩国", |
|
||||
"v": "韩国" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "日本", |
|
||||
"v": "日本" |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
], |
|
||||
"tv_hot": [ |
|
||||
{ |
|
||||
"key": "type", |
|
||||
"name": "分类", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "综合", |
|
||||
"v": "tv_hot" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "国产剧", |
|
||||
"v": "tv_domestic" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "欧美剧", |
|
||||
"v": "tv_american" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "日剧", |
|
||||
"v": "tv_japanese" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "韩剧", |
|
||||
"v": "tv_korean" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "动画", |
|
||||
"v": "tv_animation" |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
], |
|
||||
"show_hot": [ |
|
||||
{ |
|
||||
"key": "type", |
|
||||
"name": "分类", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "综合", |
|
||||
"v": "show_hot" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "国内", |
|
||||
"v": "show_domestic" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "国外", |
|
||||
"v": "show_foreign" |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
], |
|
||||
"movie": [ |
|
||||
{ |
|
||||
"key": "类型", |
|
||||
"name": "类型", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "全部类型", |
|
||||
"v": "" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "喜剧", |
|
||||
"v": "喜剧" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "爱情", |
|
||||
"v": "爱情" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "动作", |
|
||||
"v": "动作" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "科幻", |
|
||||
"v": "科幻" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "动画", |
|
||||
"v": "动画" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "悬疑", |
|
||||
"v": "悬疑" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "犯罪", |
|
||||
"v": "犯罪" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "惊悚", |
|
||||
"v": "惊悚" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "冒险", |
|
||||
"v": "冒险" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "音乐", |
|
||||
"v": "音乐" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "历史", |
|
||||
"v": "历史" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "奇幻", |
|
||||
"v": "奇幻" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "恐怖", |
|
||||
"v": "恐怖" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "战争", |
|
||||
"v": "战争" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "传记", |
|
||||
"v": "传记" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "歌舞", |
|
||||
"v": "歌舞" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "武侠", |
|
||||
"v": "武侠" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "情色", |
|
||||
"v": "情色" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "灾难", |
|
||||
"v": "灾难" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "西部", |
|
||||
"v": "西部" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "纪录片", |
|
||||
"v": "纪录片" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "短片", |
|
||||
"v": "短片" |
|
||||
} |
|
||||
] |
|
||||
}, |
|
||||
{ |
|
||||
"key": "地区", |
|
||||
"name": "地区", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "全部地区", |
|
||||
"v": "" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "华语", |
|
||||
"v": "华语" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "欧美", |
|
||||
"v": "欧美" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "韩国", |
|
||||
"v": "韩国" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "日本", |
|
||||
"v": "日本" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "中国大陆", |
|
||||
"v": "中国大陆" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "美国", |
|
||||
"v": "美国" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "中国香港", |
|
||||
"v": "中国香港" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "中国台湾", |
|
||||
"v": "中国台湾" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "英国", |
|
||||
"v": "英国" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "法国", |
|
||||
"v": "法国" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "德国", |
|
||||
"v": "德国" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "意大利", |
|
||||
"v": "意大利" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "西班牙", |
|
||||
"v": "西班牙" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "印度", |
|
||||
"v": "印度" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "泰国", |
|
||||
"v": "泰国" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "俄罗斯", |
|
||||
"v": "俄罗斯" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "加拿大", |
|
||||
"v": "加拿大" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "澳大利亚", |
|
||||
"v": "澳大利亚" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "爱尔兰", |
|
||||
"v": "爱尔兰" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "瑞典", |
|
||||
"v": "瑞典" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "巴西", |
|
||||
"v": "巴西" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "丹麦", |
|
||||
"v": "丹麦" |
|
||||
} |
|
||||
] |
|
||||
}, |
|
||||
{ |
|
||||
"key": "sort", |
|
||||
"name": "排序", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "近期热度", |
|
||||
"v": "T" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "首映时间", |
|
||||
"v": "R" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "高分优先", |
|
||||
"v": "S" |
|
||||
} |
|
||||
] |
|
||||
}, |
|
||||
{ |
|
||||
"key": "年代", |
|
||||
"name": "年代", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "全部年代", |
|
||||
"v": "" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "2023", |
|
||||
"v": "2023" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "2022", |
|
||||
"v": "2022" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "2021", |
|
||||
"v": "2021" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "2020", |
|
||||
"v": "2020" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "2019", |
|
||||
"v": "2019" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "2010年代", |
|
||||
"v": "2010年代" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "2000年代", |
|
||||
"v": "2000年代" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "90年代", |
|
||||
"v": "90年代" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "80年代", |
|
||||
"v": "80年代" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "70年代", |
|
||||
"v": "70年代" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "60年代", |
|
||||
"v": "60年代" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "更早", |
|
||||
"v": "更早" |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
], |
|
||||
"tv": [ |
|
||||
{ |
|
||||
"key": "类型", |
|
||||
"name": "类型", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "不限", |
|
||||
"v": "" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "电视剧", |
|
||||
"v": "电视剧" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "综艺", |
|
||||
"v": "综艺" |
|
||||
} |
|
||||
] |
|
||||
}, |
|
||||
{ |
|
||||
"key": "电视剧形式", |
|
||||
"name": "电视剧形式", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "不限", |
|
||||
"v": "" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "喜剧", |
|
||||
"v": "喜剧" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "爱情", |
|
||||
"v": "爱情" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "悬疑", |
|
||||
"v": "悬疑" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "动画", |
|
||||
"v": "动画" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "武侠", |
|
||||
"v": "武侠" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "古装", |
|
||||
"v": "古装" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "家庭", |
|
||||
"v": "家庭" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "犯罪", |
|
||||
"v": "犯罪" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "科幻", |
|
||||
"v": "科幻" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "恐怖", |
|
||||
"v": "恐怖" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "历史", |
|
||||
"v": "历史" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "战争", |
|
||||
"v": "战争" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "动作", |
|
||||
"v": "动作" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "冒险", |
|
||||
"v": "冒险" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "传记", |
|
||||
"v": "传记" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "剧情", |
|
||||
"v": "剧情" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "奇幻", |
|
||||
"v": "奇幻" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "惊悚", |
|
||||
"v": "惊悚" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "灾难", |
|
||||
"v": "灾难" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "歌舞", |
|
||||
"v": "歌舞" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "音乐", |
|
||||
"v": "音乐" |
|
||||
} |
|
||||
] |
|
||||
}, |
|
||||
{ |
|
||||
"key": "综艺形式", |
|
||||
"name": "综艺形式", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "不限", |
|
||||
"v": "" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "真人秀", |
|
||||
"v": "真人秀" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "脱口秀", |
|
||||
"v": "脱口秀" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "音乐", |
|
||||
"v": "音乐" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "歌舞", |
|
||||
"v": "歌舞" |
|
||||
} |
|
||||
] |
|
||||
}, |
|
||||
{ |
|
||||
"key": "地区", |
|
||||
"name": "地区", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "全部地区", |
|
||||
"v": "" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "华语", |
|
||||
"v": "华语" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "欧美", |
|
||||
"v": "欧美" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "国外", |
|
||||
"v": "国外" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "韩国", |
|
||||
"v": "韩国" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "日本", |
|
||||
"v": "日本" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "中国大陆", |
|
||||
"v": "中国大陆" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "中国香港", |
|
||||
"v": "中国香港" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "美国", |
|
||||
"v": "美国" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "英国", |
|
||||
"v": "英国" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "泰国", |
|
||||
"v": "泰国" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "中国台湾", |
|
||||
"v": "中国台湾" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "意大利", |
|
||||
"v": "意大利" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "法国", |
|
||||
"v": "法国" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "德国", |
|
||||
"v": "德国" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "西班牙", |
|
||||
"v": "西班牙" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "俄罗斯", |
|
||||
"v": "俄罗斯" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "瑞典", |
|
||||
"v": "瑞典" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "巴西", |
|
||||
"v": "巴西" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "丹麦", |
|
||||
"v": "丹麦" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "印度", |
|
||||
"v": "印度" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "加拿大", |
|
||||
"v": "加拿大" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "爱尔兰", |
|
||||
"v": "爱尔兰" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "澳大利亚", |
|
||||
"v": "澳大利亚" |
|
||||
} |
|
||||
] |
|
||||
}, |
|
||||
{ |
|
||||
"key": "sort", |
|
||||
"name": "排序", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "近期热度", |
|
||||
"v": "T" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "首播时间", |
|
||||
"v": "R" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "高分优先", |
|
||||
"v": "S" |
|
||||
} |
|
||||
] |
|
||||
}, |
|
||||
{ |
|
||||
"key": "年代", |
|
||||
"name": "年代", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "全部", |
|
||||
"v": "" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "2023", |
|
||||
"v": "2023" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "2022", |
|
||||
"v": "2022" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "2021", |
|
||||
"v": "2021" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "2020", |
|
||||
"v": "2020" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "2019", |
|
||||
"v": "2019" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "2010年代", |
|
||||
"v": "2010年代" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "2000年代", |
|
||||
"v": "2000年代" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "90年代", |
|
||||
"v": "90年代" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "80年代", |
|
||||
"v": "80年代" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "70年代", |
|
||||
"v": "70年代" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "60年代", |
|
||||
"v": "60年代" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "更早", |
|
||||
"v": "更早" |
|
||||
} |
|
||||
] |
|
||||
}, |
|
||||
{ |
|
||||
"key": "平台", |
|
||||
"name": "平台", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "全部", |
|
||||
"v": "" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "腾讯视频", |
|
||||
"v": "腾讯视频" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "爱奇艺", |
|
||||
"v": "爱奇艺" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "优酷", |
|
||||
"v": "优酷" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "湖南卫视", |
|
||||
"v": "湖南卫视" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "Netflix", |
|
||||
"v": "Netflix" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "HBO", |
|
||||
"v": "HBO" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "BBC", |
|
||||
"v": "BBC" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "NHK", |
|
||||
"v": "NHK" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "CBS", |
|
||||
"v": "CBS" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "NBC", |
|
||||
"v": "NBC" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "tvN", |
|
||||
"v": "tvN" |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
], |
|
||||
"rank_list_movie": [ |
|
||||
{ |
|
||||
"key": "榜单", |
|
||||
"name": "榜单", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "实时热门电影", |
|
||||
"v": "movie_real_time_hotest" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "一周口碑电影榜", |
|
||||
"v": "movie_weekly_best" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "豆瓣电影Top250", |
|
||||
"v": "movie_top250" |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
], |
|
||||
"rank_list_tv": [ |
|
||||
{ |
|
||||
"key": "榜单", |
|
||||
"name": "榜单", |
|
||||
"value": [ |
|
||||
{ |
|
||||
"n": "实时热门电视", |
|
||||
"v": "tv_real_time_hotest" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "华语口碑剧集榜", |
|
||||
"v": "tv_chinese_best_weekly" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "全球口碑剧集榜", |
|
||||
"v": "tv_global_best_weekly" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "国内口碑综艺榜", |
|
||||
"v": "show_chinese_best_weekly" |
|
||||
}, |
|
||||
{ |
|
||||
"n": "国外口碑综艺榜", |
|
||||
"v": "show_global_best_weekly" |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
] |
|
||||
} |
|
37
libs/drpy.js
File diff suppressed because one or more lines are too long
View File
File diff suppressed because one or more lines are too long
View File
1
libs/drpy2.min.js
File diff suppressed because one or more lines are too long
View File
File diff suppressed because one or more lines are too long
View File
@ -1,24 +0,0 @@ |
|||||
// 搜寻验证
|
|
||||
var rule = { |
|
||||
title:'短视频', |
|
||||
host:'http://www.sharenice.net', |
|
||||
url:'/fyclass?page=fypage', |
|
||||
//searchUrl:'/video/search?search_key=**',
|
|
||||
searchable:0, |
|
||||
quickSearch:0, |
|
||||
headers:{ |
|
||||
'User-Agent':'PC_UA' |
|
||||
}, |
|
||||
timeout:5000, |
|
||||
// class_name:'抖音&快手&微视&火山&场库&体育&美拍&秒拍&全民&梨&好兔&美女&正能量&搞笑&社会&游戏&娱乐&旅游&萌系&生活&音乐&美食&明星&动漫&影视&时尚',
|
|
||||
class_name:'抖音&快手&微视&火山&场库&美拍&秒拍&全民&澎湃&好兔&开眼&美女&搞笑&社会&影视&音乐&娱乐&正能量&生活&动漫&体育&美食&萌系&旅游&游戏&明星&时尚', |
|
||||
// class_url:'douyin&kuaishou&weishi&huoshan&changku&tags/t-5L2T6IKy.html&meipai&miaopai&quanmin&lishipin&haotu&tags/t-576O5aWz.html&tags/t-5q2j6IO96YeP.html&tags/t-5pCe56yR.html&tags/t-56S+5Lya.html&tags/t-5ri45oiP.html&tags/t-5aix5LmQ.html&tags/t-5peF5ri4.html&tags/t-6JCM57O7.html&tags/t-55Sf5rS7.html&tags/t-6Z+z5LmQ.html&tags/t-576O6aOf.html&tags/t-5piO5pif.html&tags/t-5Yqo5ryr.html&tags/t-5b2x6KeG.html&tags/t-5pe25bCa.html',
|
|
||||
class_url:'douyin&kuaishou&weishi&huoshan&changku&meipai&miaopai&quanmin&lishipin&haotu&kaiyan&t-576O5aWz&t-5pCe56yR&t-56S+5Lya&t-5b2x6KeG&t-6Z+z5LmQ&t-5aix5LmQ&t-5q2j6IO96YeP&t-55Sf5rS7&t-5Yqo5ryr&t-5L2T6IKy&t-576O6aOf&t-6JCM57O7&t-5peF5ri4&t-5ri45oiP&t-5piO5pif&t-5pe25bCa', |
|
||||
play_parse:true, |
|
||||
lazy:'js:/kuaishou/.test(input)?input=jsp.pdfh(request("http://m.sharenice.net/mobile"+input.split("net")[1]),".video-play-box&&video&&src"):input=jsp.pdfh(request("http://m.sharenice.net/mobile"+input.split("net")[1]),".video-play-box&&video&&src")+"#.mp4"', |
|
||||
limit:6, |
|
||||
double:false, |
|
||||
推荐:'*', |
|
||||
一级:'.item-box&&ul&&li;a&&title;img&&data-original;;a&&href', |
|
||||
二级:'*', |
|
||||
} |
|
68
libs/gbk.js
File diff suppressed because one or more lines are too long
View File
File diff suppressed because one or more lines are too long
View File
@ -1,369 +0,0 @@ |
|||||
#EXTM3U x-tvg-url="https://live.fanmingming.com/e.xml" |
|
||||
#EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" tvg-logo="https://live.fanmingming.com/tv/CCTV1.png" group-title="央视频道",CCTV-1 综合 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001022/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" tvg-logo="https://live.fanmingming.com/tv/CCTV2.png" group-title="央视频道",CCTV-2 财经 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001220/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" tvg-logo="https://live.fanmingming.com/tv/CCTV3.png" group-title="央视频道",CCTV-3 综艺 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001186/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" tvg-logo="https://live.fanmingming.com/tv/CCTV4.png" group-title="央视频道",CCTV-4 中文国际 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001221/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" tvg-logo="https://live.fanmingming.com/tv/CCTV5.png" group-title="央视频道",CCTV-5 体育 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001187/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV5+" tvg-name="CCTV5+" tvg-logo="https://live.fanmingming.com/tv/CCTV5+.png" group-title="央视频道",CCTV-5+ 体育赛事 |
|
||||
http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221225761/1.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" tvg-logo="https://live.fanmingming.com/tv/CCTV6.png" group-title="央视频道",CCTV-6 电影 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001188/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" tvg-logo="https://live.fanmingming.com/tv/CCTV7.png" group-title="央视频道",CCTV-7 国防军事 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001236/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" tvg-logo="https://live.fanmingming.com/tv/CCTV8.png" group-title="央视频道",CCTV-8 电视剧 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001189/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" tvg-logo="https://live.fanmingming.com/tv/CCTV9.png" group-title="央视频道",CCTV-9 纪录 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001237/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" tvg-logo="https://live.fanmingming.com/tv/CCTV10.png" group-title="央视频道",CCTV-10 科教 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001238/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV11" tvg-name="CCTV11" tvg-logo="https://live.fanmingming.com/tv/CCTV11.png" group-title="央视频道",CCTV-11 戏曲 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001309/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" tvg-logo="https://live.fanmingming.com/tv/CCTV12.png" group-title="央视频道",CCTV-12 社会与法 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001239/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" tvg-logo="https://live.fanmingming.com/tv/CCTV13.png" group-title="央视频道",CCTV-13 新闻 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001328/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" tvg-logo="https://live.fanmingming.com/tv/CCTV14.png" group-title="央视频道",CCTV-14 少儿 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001240/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" tvg-logo="https://live.fanmingming.com/tv/CCTV15.png" group-title="央视频道",CCTV-15 音乐 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001338/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV16" tvg-name="CCTV16" tvg-logo="https://live.fanmingming.com/tv/CCTV16.png" group-title="央视频道",CCTV-16 奥林匹克 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001248/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" tvg-logo="https://live.fanmingming.com/tv/CCTV17.png" group-title="央视频道",CCTV-17 农业农村 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001241/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV16" tvg-name="CCTV16" tvg-logo="https://live.fanmingming.com/tv/CCTV16.png" group-title="央视频道",CCTV-16 奥林匹克 4K |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001258/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" tvg-logo="https://live.fanmingming.com/tv/CCTV4K.png" group-title="央视频道",CCTV-4K 超高清 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb13]/ott.mobaibox.com/PLTV/3/224/3221228228/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CCTV8K" tvg-name="CCTV8K" tvg-logo="https://live.fanmingming.com/tv/CCTV8K.png" group-title="央视频道",CCTV-8K 超高清 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb03]/ott.mobaibox.com/PLTV/4/224/3221228165/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CHC动作电影" tvg-name="CHC动作电影" tvg-logo="https://live.fanmingming.com/tv/CHC动作电影.png" group-title="央视频道",CHC动作电影 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226465/1.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CHC家庭影院" tvg-name="CHC家庭影院" tvg-logo="https://live.fanmingming.com/tv/CHC家庭影院.png" group-title="央视频道",CHC家庭影院 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226462/1.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CHC高清电影" tvg-name="CHC高清电影" tvg-logo="https://live.fanmingming.com/tv/CHC高清电影.png" group-title="央视频道",CHC高清电影 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226463/1.m3u8 |
|
||||
#EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" tvg-logo="https://live.fanmingming.com/tv/凤凰卫视中文台.png" group-title="卫视频道",凤凰中文 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb22]:80/ott.mobaibox.com/PLTV/3/224/3221228527/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" tvg-logo="https://live.fanmingming.com/tv/凤凰卫视资讯台.png" group-title="卫视频道",凤凰资讯 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/ott.mobaibox.com/PLTV/3/224/3221228524/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" tvg-logo="https://live.fanmingming.com/tv/凤凰卫视香港台.png" group-title="卫视频道",凤凰香港 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb23]:80/ott.mobaibox.com/PLTV/1/224/3221228530/1.m3u8 |
|
||||
#EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" tvg-logo="https://live.fanmingming.com/tv/北京卫视.png" group-title="卫视频道",北京卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001029/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" tvg-logo="https://live.fanmingming.com/tv/湖南卫视.png" group-title="卫视频道",湖南卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001026/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" tvg-logo="https://live.fanmingming.com/tv/东方卫视.png" group-title="卫视频道",东方卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001013/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" tvg-logo="https://live.fanmingming.com/tv/四川卫视.png" group-title="卫视频道",四川卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001130/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" tvg-logo="https://live.fanmingming.com/tv/天津卫视.png" group-title="卫视频道",天津卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001036/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" tvg-logo="https://live.fanmingming.com/tv/安徽卫视.png" group-title="卫视频道",安徽卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001037/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" tvg-logo="https://live.fanmingming.com/tv/山东卫视.png" group-title="卫视频道",山东卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001028/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" tvg-logo="https://live.fanmingming.com/tv/广东卫视.png" group-title="卫视频道",广东卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001032/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" tvg-logo="https://live.fanmingming.com/tv/广西卫视.png" group-title="卫视频道",广西卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001224/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" tvg-logo="https://live.fanmingming.com/tv/江苏卫视.png" group-title="卫视频道",江苏卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001033/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" tvg-logo="https://live.fanmingming.com/tv/江西卫视.png" group-title="卫视频道",江西卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001034/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" tvg-logo="https://live.fanmingming.com/tv/河北卫视.png" group-title="卫视频道",河北卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001229/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" tvg-logo="https://live.fanmingming.com/tv/河南卫视.png" group-title="卫视频道",河南卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001222/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" tvg-logo="https://live.fanmingming.com/tv/浙江卫视.png" group-title="卫视频道",浙江卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001023/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" tvg-logo="https://live.fanmingming.com/tv/海南卫视.png" group-title="卫视频道",海南卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001183/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" tvg-logo="https://live.fanmingming.com/tv/深圳卫视.png" group-title="卫视频道",深圳卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001030/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" tvg-logo="https://live.fanmingming.com/tv/湖北卫视.png" group-title="卫视频道",湖北卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001027/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" tvg-logo="https://live.fanmingming.com/tv/山西卫视.png" group-title="卫视频道",山西卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001070/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" tvg-logo="https://live.fanmingming.com/tv/东南卫视.png" group-title="卫视频道",东南卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001201/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" tvg-logo="https://live.fanmingming.com/tv/贵州卫视.png" group-title="卫视频道",贵州卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001184/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" tvg-logo="https://live.fanmingming.com/tv/辽宁卫视.png" group-title="卫视频道",辽宁卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001035/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" group-title="卫视频道",重庆卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001129/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" tvg-logo="https://live.fanmingming.com/tv/黑龙江卫视.png" group-title="卫视频道",黑龙江卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001031/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" tvg-logo="https://live.fanmingming.com/tv/内蒙古卫视.png" group-title="卫视频道",内蒙古卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001068/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" tvg-logo="https://live.fanmingming.com/tv/宁夏卫视.png" group-title="卫视频道",宁夏卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001074/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" tvg-logo="https://live.fanmingming.com/tv/陕西卫视.png" group-title="卫视频道",陕西卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001067/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="甘肃卫视" tvg-name="甘肃卫视" tvg-logo="https://live.fanmingming.com/tv/甘肃卫视.png" group-title="卫视频道",甘肃卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001298/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" tvg-logo="https://live.fanmingming.com/tv/吉林卫视.png" group-title="卫视频道",吉林卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001225/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" tvg-logo="https://live.fanmingming.com/tv/云南卫视.png" group-title="卫视频道",云南卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001223/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="三沙卫视" tvg-name="三沙卫视" tvg-logo="https://live.fanmingming.com/tv/三沙卫视.png" group-title="卫视频道",三沙卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001185/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" tvg-logo="https://live.fanmingming.com/tv/青海卫视.png" group-title="卫视频道",青海卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001450/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" tvg-logo="https://live.fanmingming.com/tv/新疆卫视.png" group-title="卫视频道",新疆卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001065/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" tvg-logo="https://live.fanmingming.com/tv/西藏卫视.png" group-title="卫视频道",西藏卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001072/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" tvg-logo="https://live.fanmingming.com/tv/兵团卫视.png" group-title="卫视频道",兵团卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001066/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="延边卫视" tvg-name="延边卫视" tvg-logo="https://live.fanmingming.com/tv/延边卫视.png" group-title="卫视频道",延边卫视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001470/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="大湾区卫视" tvg-name="大湾区卫视" tvg-logo="https://live.fanmingming.com/tv/大湾区卫视.png" group-title="卫视频道",大湾区卫视 |
|
||||
http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226442/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="安多卫视" tvg-name="安多卫视" tvg-logo="https://live.fanmingming.com/tv/安多卫视.png" group-title="卫视频道",安多卫视 |
|
||||
http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225659/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="厦门卫视" tvg-name="厦门卫视" tvg-logo="https://live.fanmingming.com/tv/厦门卫视.png" group-title="卫视频道",厦门卫视 |
|
||||
http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226219/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="康巴卫视" tvg-name="康巴卫视" tvg-logo="https://live.fanmingming.com/tv/康巴卫视.png" group-title="卫视频道",康巴卫视 |
|
||||
http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225660/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="中国教育1台" tvg-name="中国教育1台" tvg-logo="https://live.fanmingming.com/tv/CETV1.png" group-title="卫视频道",CETV-1 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001020/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="中国教育2台" tvg-name="中国教育2台" tvg-logo="https://live.fanmingming.com/tv/CETV2.png" group-title="卫视频道",CETV-2 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001226/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="中国教育3台" tvg-name="中国教育3台" tvg-logo="https://live.fanmingming.com/tv/CETV3.png" group-title="卫视频道",CETV-3 |
|
||||
http://[2409:8087:7004:20:1000::22]:6610/yinhe/2/ch00000090990000001309/index.m3u8?virtualDomain=yinhe.live_hls.zte.com |
|
||||
#EXTINF:-1 tvg-id="中国教育4台" tvg-name="中国教育4台" tvg-logo="https://live.fanmingming.com/tv/CETV4.png" group-title="卫视频道",CETV-4 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001348/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="金色学堂" tvg-name="金色学堂" tvg-logo="https://live.fanmingming.com/tv/金色学堂.png" group-title="卫视频道",金色学堂 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001194/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="上海纪实人文" tvg-name="上海纪实人文" tvg-logo="https://live.fanmingming.com/tv/纪实人文.png" group-title="卫视频道",纪实人文 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001019/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" tvg-logo="https://live.fanmingming.com/tv/生活时尚.png" group-title="卫视频道",生活时尚 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001199/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="全纪实" tvg-name="全纪实" tvg-logo="https://live.fanmingming.com/tv/乐游.png" group-title="卫视频道",乐游频道 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001200/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="都市剧场" tvg-name="都市剧场" tvg-logo="https://live.fanmingming.com/tv/都市剧场.png" group-title="卫视频道",都市剧场 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001203/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="欢笑剧场" tvg-name="欢笑剧场" tvg-logo="https://live.fanmingming.com/tv/欢笑剧场.png" group-title="卫视频道",欢笑剧场 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001193/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="纪实科教" tvg-name="纪实科教" tvg-logo="https://live.fanmingming.com/tv/北京纪实科教.png" group-title="卫视频道",纪实科教 |
|
||||
http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226232/1.m3u8 |
|
||||
#EXTINF:-1 tvg-id="卡酷动画" tvg-name="卡酷动画" tvg-logo="https://live.fanmingming.com/tv/卡酷少儿.png" group-title="卫视频道",卡酷少儿 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001245/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" tvg-logo="https://live.fanmingming.com/tv/金鹰纪实.png" group-title="卫视频道",金鹰纪实 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001230/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="金鹰卡通" tvg-name="金鹰卡通" tvg-logo="https://live.fanmingming.com/tv/金鹰卡通.png" group-title="卫视频道",金鹰卡通 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001460/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="茶" tvg-name="茶" tvg-logo="https://live.fanmingming.com/tv/茶.png" group-title="卫视频道",茶友频道 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001234/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" tvg-logo="https://live.fanmingming.com/tv/快乐垂钓.png" group-title="卫视频道",快乐垂钓 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001235/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="梨园" tvg-name="梨园" tvg-logo="https://live.fanmingming.com/tv/河南梨园.png" group-title="卫视频道",梨园频道 |
|
||||
http://[2409:8087:4c0a:22:1::11]:6410/170000001115/UmaiCHAN6380788ba7bed/index.m3u8?AuthInfo=toEYVdLfxymUP2l9NZpQI5%2BK6T7j%2FlRm%2BvbM9VO7bA0q1S1k1f36SqqriM0FZoFSAJRfCt8SS7X6sTRmXb81a8O4H%2FdroDKjLoDeaMQdyJQ |
|
||||
#EXTINF:-1 tvg-id="嘉佳卡通" tvg-name="嘉佳卡通" tvg-logo="https://live.fanmingming.com/tv/嘉佳卡通.png" group-title="卫视频道",嘉佳卡通 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001227/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="动漫秀场" tvg-name="动漫秀场" tvg-logo="https://live.fanmingming.com/tv/动漫秀场.png" group-title="卫视频道",动漫秀场 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001196/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="哈哈炫动" tvg-name="哈哈炫动" tvg-logo="https://live.fanmingming.com/tv/哈哈炫动.png" group-title="卫视频道",哈哈炫动 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001232/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="游戏风云" tvg-name="游戏风云" tvg-logo="https://live.fanmingming.com/tv/游戏风云.png" group-title="卫视频道",游戏风云 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001192/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="哒啵电竞" tvg-name="哒啵电竞" tvg-logo="https://live.fanmingming.com/tv/哒啵电竞.png" group-title="卫视频道",哒啵电竞 |
|
||||
http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226951/1.m3u8 |
|
||||
#EXTINF:-1 tvg-id="哒啵赛事" tvg-name="哒啵赛事" tvg-logo="https://live.fanmingming.com/tv/哒啵赛事.png" group-title="卫视频道",哒啵赛事 |
|
||||
http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226954/1.m3u8 |
|
||||
#EXTINF:-1 tvg-id="黑莓电影" tvg-name="黑莓电影" tvg-logo="https://live.fanmingming.com/tv/黑莓电影.png" group-title="卫视频道",黑莓电影 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb04]/ott.mobaibox.com/PLTV/3/224/3221225567/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="黑莓动画" tvg-name="黑莓动画" tvg-logo="https://live.fanmingming.com/tv/黑莓动画.png" group-title="卫视频道",黑莓动画 |
|
||||
http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225662/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="家庭理财" tvg-name="家庭理财" tvg-logo="https://live.fanmingming.com/tv/家庭理财.png" group-title="卫视频道",家庭理财 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001278/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="财富天下" tvg-name="财富天下" tvg-logo="https://live.fanmingming.com/tv/财富天下.png" group-title="卫视频道",财富天下 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001219/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="弈坛春秋" tvg-name="弈坛春秋" tvg-logo="https://live.fanmingming.com/tv/弈坛春秋.png" group-title="卫视频道",弈坛春秋 |
|
||||
http://[2409:8087:7004:20:1000::22]:6610/yinhe/2/ch00000090990000001322/index.m3u8?virtualDomain=yinhe.live_hls.zte.com |
|
||||
#EXTINF:-1 tvg-id="老故事" tvg-name="老故事" tvg-logo="https://live.fanmingming.com/tv/老故事.png" group-title="卫视频道",老故事 |
|
||||
http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226236/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="置业" tvg-name="置业" tvg-logo="https://live.fanmingming.com/tv/置业频道.png" group-title="卫视频道",置业频道 |
|
||||
http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226241/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="中国天气" tvg-name="中国天气" tvg-logo="https://live.fanmingming.com/tv/中国天气.png" group-title="卫视频道",中国天气 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001102/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="兵器科技" tvg-name="兵器科技" tvg-logo="https://live.fanmingming.com/tv/兵器科技.png" group-title="央视频道",兵器科技 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226975/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="怀旧剧场" tvg-name="怀旧剧场" tvg-logo="https://live.fanmingming.com/tv/怀旧剧场.png" group-title="央视频道",怀旧剧场 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226972/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="世界地理" tvg-name="世界地理" tvg-logo="https://live.fanmingming.com/tv/世界地理.png" group-title="央视频道",世界地理 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226947/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="文化精品" tvg-name="文化精品" tvg-logo="https://live.fanmingming.com/tv/文化精品.png" group-title="央视频道",文化精品 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226981/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="央视台球" tvg-name="央视台球" tvg-logo="https://live.fanmingming.com/tv/央视台球.png" group-title="央视频道",央视台球 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226956/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="高尔夫网球" tvg-name="高尔夫网球" tvg-logo="https://live.fanmingming.com/tv/央视高网.png" group-title="央视频道",央视高网 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226978/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="风云剧场" tvg-name="风云剧场" tvg-logo="https://live.fanmingming.com/tv/风云剧场.png" group-title="央视频道",风云剧场 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226950/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="风云音乐" tvg-name="风云音乐" tvg-logo="https://live.fanmingming.com/tv/风云音乐.png" group-title="央视频道",风云音乐 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226953/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="第一剧场" tvg-name="第一剧场" tvg-logo="https://live.fanmingming.com/tv/第一剧场.png" group-title="央视频道",第一剧场 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226959/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="女性时尚" tvg-name="女性时尚" tvg-logo="https://live.fanmingming.com/tv/女性时尚.png" group-title="央视频道",女性时尚 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226969/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="风云足球" tvg-name="风云足球" tvg-logo="https://live.fanmingming.com/tv/风云足球.png" group-title="央视频道",风云足球 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226984/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="电视指南" tvg-name="电视指南" tvg-logo="https://live.fanmingming.com/tv/电视指南.png" group-title="央视频道",电视指南 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226987/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="上视新闻" tvg-name="上视新闻" tvg-logo="https://live.fanmingming.com/tv/上视新闻.png" group-title="上海频道",上海新闻 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001014/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" tvg-logo="https://live.fanmingming.com/tv/上海都市.png" group-title="上海频道",上海都市 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001015/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="上海外语" tvg-name="上海外语" tvg-logo="https://live.fanmingming.com/tv/上海外语.png" group-title="上海频道",上海ICS |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001128/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="七彩戏剧" tvg-name="七彩戏剧" tvg-logo="https://live.fanmingming.com/tv/七彩戏剧.png" group-title="上海频道",七彩戏剧 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001308/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="上海教育台" tvg-name="上海教育台" tvg-logo="https://live.fanmingming.com/tv/上海教育.png" group-title="上海频道",上海教育 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001268/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" tvg-logo="https://live.fanmingming.com/tv/五星体育.png" group-title="上海频道",五星体育 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001018/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" tvg-logo="https://live.fanmingming.com/tv/东方影视.png" group-title="上海频道",东方影视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001016/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="东方财经" tvg-name="东方财经" tvg-logo="https://live.fanmingming.com/tv/东方财经.png" group-title="上海频道",东方财经 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001318/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="法治天地" tvg-name="法治天地" tvg-logo="https://live.fanmingming.com/tv/法治天地.png" group-title="上海频道",法治天地 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001195/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" tvg-logo="https://live.fanmingming.com/tv/上海第一财经.png" group-title="上海频道",第一财经 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001017/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="浙江公共新闻" tvg-name="浙江公共新闻" tvg-logo="https://live.fanmingming.com/tv/浙江新闻.png" group-title="浙江频道",浙江公共新闻 |
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8 |
|
||||
#EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" tvg-logo="https://live.fanmingming.com/tv/浙江国际.png" group-title="浙江频道",浙江国际 |
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8 |
|
||||
#EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" tvg-logo="https://live.fanmingming.com/tv/浙江少儿.png" group-title="浙江频道",浙江少儿 |
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8 |
|
||||
#EXTINF:-1 tvg-id="浙江教科影视" tvg-name="浙江教科影视" tvg-logo="https://live.fanmingming.com/tv/浙江教科影视.png" group-title="浙江频道",浙江教科影视 |
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8 |
|
||||
#EXTINF:-1 tvg-id="浙江数码时代" tvg-name="浙江数码时代" tvg-logo="https://live.fanmingming.com/tv/之江记录.png" group-title="浙江频道",浙江数码时代 |
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8 |
|
||||
#EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" tvg-logo="https://live.fanmingming.com/tv/浙江民生休闲.png" group-title="浙江频道",浙江民生休闲 |
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8 |
|
||||
#EXTINF:-1 tvg-id="浙江经视" tvg-name="浙江经视" tvg-logo="https://live.fanmingming.com/tv/浙江经济生活.png" group-title="浙江频道",浙江经济生活 |
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8 |
|
||||
#EXTINF:-1 tvg-id="浙江钱江都市" tvg-name="浙江钱江都市" tvg-logo="https://live.fanmingming.com/tv/钱江都市.png" group-title="浙江频道",浙江钱江频道 |
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8 |
|
||||
#EXTINF:-1 tvg-name="陕西一套" tvg-name="陕西一套" tvg-logo="https://live.fanmingming.com/tv/陕西新闻资讯.png" group-title="陕西频道",陕西新闻资讯 |
|
||||
http://[2409:8087:7001:20:3::2]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226357/1.m3u8 |
|
||||
#EXTINF:-1 tvg-name="陕西二套" tvg-name="陕西二套" tvg-logo="https://live.fanmingming.com/tv/陕西都市青春.png" group-title="陕西频道",陕西都市青春 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226358/1.m3u8 |
|
||||
#EXTINF:-1 tvg-name="陕西三套" tvg-name="陕西三套" tvg-logo="https://live.fanmingming.com/tv/陕西生活.png" group-title="陕西频道",陕西生活频道 |
|
||||
http://[2409:8087:7001:20:3::6]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226359/1.m3u8 |
|
||||
#EXTINF:-1 tvg-name="陕西四套" tvg-name="陕西四套" tvg-logo="https://live.fanmingming.com/tv/陕西影视.png" group-title="陕西频道",陕西影视频道 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226360/1.m3u8 |
|
||||
#EXTINF:-1 tvg-name="陕西五套" tvg-name="陕西五套" tvg-logo="https://live.fanmingming.com/tv/陕西公共.png" group-title="陕西频道",陕西公共频道 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226361/1.m3u8 |
|
||||
#EXTINF:-1 tvg-name="陕西七套" tvg-name="陕西七套" tvg-logo="https://live.fanmingming.com/tv/陕西体育休闲.png" group-title="陕西频道",陕西体育休闲 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226363/1.m3u8 |
|
||||
#EXTINF:-1 tvg-name="陕西八套" tvg-name="陕西八套" tvg-logo="https://live.fanmingming.com/tv/陕西西部电影.png" group-title="陕西频道",陕西西部电影 |
|
||||
http://[2409:8087:7001:20:3::9]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226364/1.m3u8 |
|
||||
#EXTINF:-1 tvg-name="西安新闻综合" tvg-name="西安新闻综合" tvg-logo="https://live.fanmingming.com/tv/西安新闻综合.png" group-title="陕西频道",西安新闻综合 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226366/1.m3u8 |
|
||||
#EXTINF:-1 tvg-name="西安都市" tvg-name="西安都市" tvg-logo="https://live.fanmingming.com/tv/西安都市频道.png" group-title="陕西频道",西安都市频道 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226367/1.m3u8 |
|
||||
#EXTINF:-1 tvg-name="西安商务资迅" tvg-name="西安商务资迅" tvg-logo="https://live.fanmingming.com/tv/西安商务资讯.png" group-title="陕西频道",西安商务资讯 |
|
||||
http://[2409:8087:7001:20:3::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226368/1.m3u8 |
|
||||
#EXTINF:-1 tvg-name="西安影视" tvg-name="西安影视" tvg-logo="https://live.fanmingming.com/tv/西安影视频道.png" group-title="陕西频道",西安影视频道 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226369/1.m3u8 |
|
||||
#EXTINF:-1 tvg-name="西安丝路" tvg-name="西安丝路" tvg-logo="https://live.fanmingming.com/tv/西安丝路频道.png" group-title="陕西频道",西安丝路频道 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226370/1.m3u8 |
|
||||
#EXTINF:-1 tvg-name="西安教育" tvg-name="西安教育" tvg-logo="https://live.fanmingming.com/tv/西安教育.png" group-title="陕西频道",西安教育频道 |
|
||||
http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226371/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="求索记录" tvg-name="求索记录" tvg-logo="https://live.fanmingming.com/tv/求索记录.png" group-title="求索系列",求索记录 |
|
||||
http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000032052/index.m3u8?channel-id=wasusyt&Contentid=6000000002000032052&livemode=1&stbId=3 |
|
||||
#EXTINF:-1 tvg-id="求索动物" tvg-name="求索动物" tvg-logo="https://live.fanmingming.com/tv/求索动物.png" group-title="求索系列",求索动物 |
|
||||
http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000010046/index.m3u8?channel-id=wasusyt&Contentid=6000000002000010046&livemode=1&stbId=3 |
|
||||
#EXTINF:-1 tvg-id="求索科学" tvg-name="求索科学" tvg-logo="https://live.fanmingming.com/tv/求索科学.png" group-title="求索系列",求索科学 |
|
||||
http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000032344/index.m3u8?channel-id=wasusyt&Contentid=6000000002000032344&livemode=1&stbId=3 |
|
||||
#EXTINF:-1 tvg-id="求索生活" tvg-name="求索生活" tvg-logo="https://live.fanmingming.com/tv/求索生活.png" group-title="求索系列",求索生活 |
|
||||
http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000003382/index.m3u8?channel-id=wasusyt&Contentid=6000000002000003382&livemode=1&stbId=3 |
|
||||
#EXTINF:-1 tvg-id="newtv超级综艺" tvg-name="newtv超级综艺" tvg-logo="https://live.fanmingming.com/tv/NEWTV超级综艺.png" group-title="NewTV系列",超级综艺 |
|
||||
http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226009/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv超级体育" tvg-name="newtv超级体育" tvg-logo="https://live.fanmingming.com/tv/NEWTV超级体育.png" group-title="NewTV系列",超级体育 |
|
||||
http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225715/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv超级电影" tvg-name="newtv超级电影" tvg-logo="https://live.fanmingming.com/tv/NEWTV超级电影.png" group-title="NewTV系列",超级电影 |
|
||||
http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225717/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv超级电视剧" tvg-name="newtv超级电视剧" tvg-logo="https://live.fanmingming.com/tv/NEWTV超级电视剧.png" group-title="NewTV系列",超级电视剧 |
|
||||
http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225716/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv武博世界" tvg-name="newtv武博世界" tvg-logo="https://live.fanmingming.com/tv/NEWTV武博世界.png" group-title="NewTV系列",武博世界 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/wh7f454c46tw2554338791_49940138/ott.mobaibox.com/PLTV/3/224/3221227533/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv中国功夫" tvg-name="newtv中国功夫" tvg-logo="https://live.fanmingming.com/tv/NEWTV中国功夫.png" group-title="NewTV系列",中国功夫 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/wh7f454c46tw1934355864_2070028581/ott.mobaibox.com/PLTV/3/224/3221227530/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv军旅剧场" tvg-name="newtv军旅剧场" tvg-logo="https://live.fanmingming.com/tv/NEWTV军旅剧场.png" group-title="NewTV系列",军旅剧场 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb06]:80/wh7f454c46tw1807611386_-262631246/ott.mobaibox.com/PLTV/3/224/3221227603/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv炫舞未来" tvg-name="newtv炫舞未来" tvg-logo="https://live.fanmingming.com/tv/NEWTV炫舞未来.png" group-title="NewTV系列",炫舞未来 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb09]:80/wh7f454c46tw2582593423_1721070986/ott.mobaibox.com/PLTV/3/224/3221227475/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv潮妈辣婆" tvg-name="newtv潮妈辣婆" tvg-logo="https://live.fanmingming.com/tv/NEWTV潮妈辣婆.png" group-title="NewTV系列",潮妈辣婆 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/wh7f454c46tw1705588260_46164741/ott.mobaibox.com/PLTV/3/224/3221227527/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv精品体育" tvg-name="newtv精品体育" tvg-logo="https://live.fanmingming.com/tv/NEWTV精品体育.png" group-title="NewTV系列",精品体育 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb1b]:80/wh7f454c46tw2797725038_-2054878207/ott.mobaibox.com/PLTV/3/224/3221227615/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv精品纪录" tvg-name="newtv精品纪录" tvg-logo="https://live.fanmingming.com/tv/NEWTV精品纪录.png" group-title="NewTV系列",精品纪录 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb1a]:80/wh7f454c46tw2837435881_530071425/ott.mobaibox.com/PLTV/3/224/3221227547/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv家庭剧场" tvg-name="newtv家庭剧场" tvg-logo="https://live.fanmingming.com/tv/NEWTV家庭剧场.png" group-title="NewTV系列",家庭剧场 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb06]:80/wh7f454c46tw3441504651_1879058580/ott.mobaibox.com/PLTV/3/224/3221227600/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv精品大剧" tvg-name="newtv精品大剧" tvg-logo="https://live.fanmingming.com/tv/NEWTV精品大剧.png" group-title="NewTV系列",精品大剧 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb1a]:80/wh7f454c46tw2817459161_-1430429466/ott.mobaibox.com/PLTV/3/224/3221227618/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv军事评论" tvg-name="newtv军事评论" tvg-logo="https://live.fanmingming.com/tv/NEWTV军事评论.png" group-title="NewTV系列",军事评论 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb18]:80/wh7f454c46tw3373254713_-1111569189/ott.mobaibox.com/PLTV/3/224/3221227544/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv明星大片" tvg-name="newtv明星大片" tvg-logo="https://live.fanmingming.com/tv/NEWTV明星大片.png" group-title="NewTV系列",明星大片 |
|
||||
http://[2409:8087:2001:20:2800:0:df6e:eb18]:80/wh7f454c46tw2856695654_946966165/ott.mobaibox.com/PLTV/3/224/3221227594/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv东北热剧" tvg-name="newtv东北热剧" tvg-logo="https://live.fanmingming.com/tv/NEWTV东北热剧.png" group-title="NewTV系列",东北热剧 |
|
||||
http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225741/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="newtv欢乐剧场" tvg-name="newtv欢乐剧场" tvg-logo="https://live.fanmingming.com/tv/NEWTV欢乐剧场.png" group-title="NewTV系列",欢乐剧场 |
|
||||
http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225742/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CGTN" tvg-name="CGTN" tvg-logo="https://live.fanmingming.com/tv/CGTN.png" group-title="央视频道",CGTN英语 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001058/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="CGTN纪录" tvg-name="CGTN纪录" tvg-logo="https://live.fanmingming.com/tv/CGTN纪录.png" group-title="央视频道",CGTN记录 |
|
||||
http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002905/index.m3u8?virtualDomain=yinhe.live_hls.zte.com |
|
||||
#EXTINF:-1 tvg-id="CGTN俄语" tvg-name="CGTN俄语" tvg-logo="https://live.fanmingming.com/tv/CGTN俄语.png" group-title="央视频道",CGTN俄语 |
|
||||
http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002883/index.m3u8?virtualDomain=yinhe.live_hls.zte.com |
|
||||
#EXTINF:-1 tvg-id="CGTN法语" tvg-name="CGTN法语" tvg-logo="https://live.fanmingming.com/tv/CGTN法语.png" group-title="央视频道",CGTN法语 |
|
||||
http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002827/index.m3u8?virtualDomain=yinhe.live_hls.zte.com |
|
||||
#EXTINF:-1 tvg-id="CGTN西语" tvg-name="CGTN西语" tvg-logo="https://live.fanmingming.com/tv/CGTN西语.png" group-title="央视频道",CGTN西语 |
|
||||
http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002716/index.m3u8?virtualDomain=yinhe.live_hls.zte.com |
|
||||
#EXTINF:-1 tvg-id="CGTN阿语" tvg-name="CGTN阿语" tvg-logo="https://live.fanmingming.com/tv/CGTN阿语.png" group-title="央视频道",CGTN阿语 |
|
||||
http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002826/index.m3u8?virtualDomain=yinhe.live_hls.zte.com |
|
||||
#EXTINF:-1 tvg-id="Bestv导视" tvg-name="Bestv导视" tvg-logo="https://live.fanmingming.com/tv/bestv.png" group-title="赛事直播",Bestv导视 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001162/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="Bestv赛事1" tvg-name="Bestv赛事1" tvg-logo="https://live.fanmingming.com/tv/bestv.png" group-title="赛事直播",Bestv赛事1 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001151/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="Bestv赛事2" tvg-name="Bestv赛事2" tvg-logo="https://live.fanmingming.com/tv/bestv.png" group-title="赛事直播",Bestv赛事2 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001359/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="Bestv赛事3" tvg-name="Bestv赛事3" tvg-logo="https://live.fanmingming.com/tv/bestv.png" group-title="赛事直播",Bestv赛事3 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001388/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="Bestv赛事4" tvg-name="Bestv赛事4" tvg-logo="https://live.fanmingming.com/tv/bestv.png" group-title="赛事直播",Bestv赛事4 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001149/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="Bestv赛事5" tvg-name="Bestv赛事5" tvg-logo="https://live.fanmingming.com/tv/bestv.png" group-title="赛事直播",Bestv赛事5 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001152/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="Bestv赛事6" tvg-name="Bestv赛事6" tvg-logo="https://live.fanmingming.com/tv/bestv.png" group-title="赛事直播",Bestv赛事6 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001153/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="Bestv赛事7" tvg-name="Bestv赛事7" tvg-logo="https://live.fanmingming.com/tv/bestv.png" group-title="赛事直播",Bestv赛事7 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001154/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="东方购物" tvg-name="东方购物" tvg-logo="https://live.fanmingming.com/tv/东方购物.png" group-title="购物频道",东方购物1 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001040/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="东方购物" tvg-name="东方购物" tvg-logo="https://live.fanmingming.com/tv/东方购物.png" group-title="购物频道",东方购物2 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001039/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="央广购物" tvg-name="央广购物" tvg-logo="https://live.fanmingming.com/tv/央广购物.png" group-title="购物频道",央广购物 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001420/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="优购物" tvg-name="优购物" tvg-logo="https://live.fanmingming.com/tv/优购物.png" group-title="购物频道",优购物 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001440/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="好享购物" tvg-name="好享购物" tvg-logo="https://live.fanmingming.com/tv/好享购物.png" group-title="购物频道",好享购物 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001132/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="聚鲨精选" tvg-name="聚鲨精选" tvg-logo="https://live.fanmingming.com/tv/聚鲨环球精选.png" group-title="购物频道",聚鲨精选 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001138/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="家家购物" tvg-name="家家购物" tvg-logo="https://live.fanmingming.com/tv/家家购物.png" group-title="购物频道",家家购物 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001163/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="家有购物" tvg-name="家有购物" tvg-logo="https://live.fanmingming.com/tv/家有购物.png" group-title="购物频道",家有购物 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001244/index.m3u8 |
|
||||
#EXTINF:-1 tvg-id="快乐购" tvg-name="快乐购" tvg-logo="https://live.fanmingming.com/tv/快乐购.png" group-title="购物频道",快乐购 |
|
||||
http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001368/index.m3u8 |
|
@ -1,90 +0,0 @@ |
|||||
var rule = { |
|
||||
title:'荐片', |
|
||||
host:'http://api2.rinhome.com', |
|
||||
// homeUrl:'https://yjpapipxblwdohpakljwg.hxhzs.com/api/tag/hand?code=unknown601193cf375db73d&channel=wandoujia',//网站的首页链接,用于分类获取和推荐获取
|
|
||||
homeUrl:'/api/tag/hand?code=unknown601193cf375db73d&channel=wandoujia',//网站的首页链接,用于分类获取和推荐获取
|
|
||||
// url:'/api/crumb/list?area=0&category_id=fyclass&page=fypage&type=0&limit=24&fyfilter',
|
|
||||
url:'/api/crumb/list?area=0&page=fypage&type=0&limit=24&fyfilter', |
|
||||
class_name:'全部&电影&电视剧&动漫&综艺', // 筛选 /api/term/ad_fenlei?limit=10&page=1
|
|
||||
class_url:'0&1&2&3&4', |
|
||||
detailUrl:'/api/node/detail?channel=wandoujia&token=&id=fyid',//二级详情拼接链接(json格式用)
|
|
||||
searchUrl:'/api/video/search?key=**&page=fypage', |
|
||||
searchable:2, |
|
||||
quickSearch:0, |
|
||||
filterable:1, |
|
||||
filter:{ |
|
||||
"0":[{"key":"year","name":"年代","value":[{"n":"全部","v":"0"},{"n":"2023","v":"153"},{"n":"2022","v":"101"},{"n":"2021","v":"118"},{"n":"2020","v":"16"},{"n":"2019","v":"7"},{"n":"2018","v":"2"},{"n":"2017","v":"3"},{"n":"2016","v":"22"}]},{"key":"sort","name":"排序","value":[{"n":"热门","v":"hot"},{"n":"评分","v":"rating"},{"n":"更新","v":"update"}]}], |
|
||||
"1":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"1"},{"n":"首推","v":"5"},{"n":"动作","v":"6"},{"n":"喜剧","v":"7"},{"n":"战争","v":"8"},{"n":"恐怖","v":"9"},{"n":"剧情","v":"10"},{"n":"爱情","v":"11"},{"n":"科幻","v":"12"},{"n":"动画","v":"13"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":"0"},{"n":"2023","v":"153"},{"n":"2022","v":"101"},{"n":"2021","v":"118"},{"n":"2020","v":"16"},{"n":"2019","v":"7"},{"n":"2018","v":"2"},{"n":"2017","v":"3"},{"n":"2016","v":"22"}]},{"key":"sort","name":"排序","value":[{"n":"热门","v":"hot"},{"n":"评分","v":"rating"},{"n":"更新","v":"update"}]}], |
|
||||
"2":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"2"},{"n":"首推","v":"14"},{"n":"国产","v":"15"},{"n":"港台","v":"16"},{"n":"日韩","v":"17"},{"n":"海外","v":"18"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":"0"},{"n":"2023","v":"153"},{"n":"2022","v":"101"},{"n":"2021","v":"118"},{"n":"2020","v":"16"},{"n":"2019","v":"7"},{"n":"2018","v":"2"},{"n":"2017","v":"3"},{"n":"2016","v":"22"}]},{"key":"sort","name":"排序","value":[{"n":"热门","v":"hot"},{"n":"评分","v":"rating"},{"n":"更新","v":"update"}]}], |
|
||||
"3":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"3"},{"n":"首推","v":"19"},{"n":"海外","v":"20"},{"n":"日本","v":"21"},{"n":"国产","v":"22"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":"0"},{"n":"2023","v":"153"},{"n":"2022","v":"101"},{"n":"2021","v":"118"},{"n":"2020","v":"16"},{"n":"2019","v":"7"},{"n":"2018","v":"2"},{"n":"2017","v":"3"},{"n":"2016","v":"22"}]},{"key":"sort","name":"排序","value":[{"n":"热门","v":"hot"},{"n":"评分","v":"rating"},{"n":"更新","v":"update"}]}], |
|
||||
"4":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"4"},{"n":"首推","v":"23"},{"n":"国产","v":"24"},{"n":"海外","v":"25"},{"n":"港台","v":"26"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":"0"},{"n":"2023","v":"153"},{"n":"2022","v":"101"},{"n":"2021","v":"118"},{"n":"2020","v":"16"},{"n":"2019","v":"7"},{"n":"2018","v":"2"},{"n":"2017","v":"3"},{"n":"2016","v":"22"}]},{"key":"sort","name":"排序","value":[{"n":"热门","v":"hot"},{"n":"评分","v":"rating"},{"n":"更新","v":"update"}]}] |
|
||||
}, |
|
||||
// filter_url:'sort={{fl.sort or "hot"}}&year={{fl.year or "0"}}',
|
|
||||
filter_url:'sort={{fl.sort or "update"}}&year={{fl.year or "0"}}&category_id={{fl.cateId}}', |
|
||||
filter_def:{ |
|
||||
0:{cateId:'0'}, |
|
||||
1:{cateId:'1'}, |
|
||||
2:{cateId:'2'}, |
|
||||
3:{cateId:'3'}, |
|
||||
4:{cateId:'4'} |
|
||||
}, |
|
||||
headers:{ |
|
||||
'User-Agent':'jianpian-android/350', |
|
||||
'JPAUTH':'y261ow7kF2dtzlxh1GS9EB8nbTxNmaK/QQIAjctlKiEv' |
|
||||
}, |
|
||||
timeout:5000, |
|
||||
limit:8, |
|
||||
play_parse:true, |
|
||||
play_json:[{ |
|
||||
re:'*', |
|
||||
json:{ |
|
||||
parse:0, |
|
||||
jx:0 |
|
||||
} |
|
||||
}], |
|
||||
lazy:'', |
|
||||
// double:true,
|
|
||||
图片来源:'@Referer=www.jianpianapp.com@User-Agent=jianpian-version353', |
|
||||
// 推荐:'json:data;room;*;cover;*;*',
|
|
||||
推荐:'json:.video;*;*;*;*', |
|
||||
一级:'json:data;title;path;playlist.title;id', |
|
||||
二级:{ |
|
||||
// title:'data.title',
|
|
||||
title:'data.title;data.types[0].name', |
|
||||
// desc:';data.description;data.id',
|
|
||||
desc:'data.score;data.year.title;data.area.title;data.actors[0].name;data.directors[0].name', |
|
||||
img:'data.thumbnail', |
|
||||
// content:'data.thumbnail',
|
|
||||
content:'data.description', |
|
||||
is_json:1, |
|
||||
tabs:`js:
|
|
||||
TABS = []; |
|
||||
if (html.data.have_ftp_ur == 1) { |
|
||||
TABS.push("边下边播超清版") |
|
||||
} |
|
||||
if (html.data.have_m3u8_ur == 1) { |
|
||||
TABS.push("在线点播普清版") |
|
||||
} |
|
||||
`,
|
|
||||
lists:`js:
|
|
||||
log(TABS); |
|
||||
LISTS = []; |
|
||||
TABS.forEach(function(tab) { |
|
||||
if (/边下边播/.test(tab)) { |
|
||||
let ftp = html.data.new_ftp_list; |
|
||||
let d = ftp.map(function(it) { |
|
||||
return it.title + "$" + (/m3u8/.test(it.url) ? play_url + it.url : "tvbox-xg:" + it.url) |
|
||||
}); |
|
||||
LISTS.push(d) |
|
||||
} else if (/在线点播/.test(tab)) { |
|
||||
let m3u = html.data.new_m3u8_list; |
|
||||
let d = m3u.map(function(it) { |
|
||||
return it.title + "$" + (/m3u8/.test(it.url) ? play_url + it.url : "tvbox-xg:" + it.url) |
|
||||
}); |
|
||||
LISTS.push(d) |
|
||||
} |
|
||||
}); |
|
||||
`,
|
|
||||
}, |
|
||||
搜索:'json:data;*;thumbnail;mask;*', |
|
||||
} |
|
@ -1,412 +0,0 @@ |
|||||
import { Crypto, dayjs, jinja2, _ } from './lib/cat.js'; |
|
||||
|
|
||||
let key = 'kkys'; |
|
||||
let url = 'https://api1.baibaipei.com:8899'; |
|
||||
let device = {}; |
|
||||
let siteKey = ''; |
|
||||
let siteType = 0; |
|
||||
|
|
||||
async function request(reqUrl, postData, agentSp, get) { |
|
||||
let ts = dayjs().valueOf().toString(); |
|
||||
let rand = randStr(32); |
|
||||
let sign = Crypto.MD5('abcdexxxdd2daklmn25129_' + ts + '_' + rand) |
|
||||
.toString() |
|
||||
.toLowerCase(); |
|
||||
let headers = { |
|
||||
'user-agent': agentSp || device.ua, |
|
||||
}; |
|
||||
if (reqUrl.includes('baibaipei')) { |
|
||||
headers['device-id'] = device.id; |
|
||||
headers['push-token'] = ''; |
|
||||
headers['sign'] = sign; |
|
||||
headers['time'] = ts; |
|
||||
headers['md5'] = rand; |
|
||||
headers['version'] = '2.1.0'; |
|
||||
headers['system-model'] = device.model; |
|
||||
headers['system-brand'] = device.brand; |
|
||||
headers['system-version'] = device.release; |
|
||||
} |
|
||||
let res = await req(reqUrl, { |
|
||||
method: get ? 'get' : 'post', |
|
||||
headers: headers, |
|
||||
data: postData || {}, |
|
||||
postType: get ? '' : 'form', |
|
||||
}); |
|
||||
|
|
||||
let content = res.content; |
|
||||
// console.log(content);
|
|
||||
return content; |
|
||||
} |
|
||||
|
|
||||
async function init(cfg) { |
|
||||
siteKey = cfg.skey; |
|
||||
siteType = cfg.stype; |
|
||||
var deviceKey = 'device'; |
|
||||
var deviceInfo = await local.get(key, deviceKey); |
|
||||
if (deviceInfo.length > 0) { |
|
||||
try { |
|
||||
device = JSON.parse(deviceInfo); |
|
||||
} catch (error) {} |
|
||||
} |
|
||||
if (_.isEmpty(device)) { |
|
||||
device = randDevice(); |
|
||||
device.id = randStr(33).toLowerCase(); |
|
||||
device.ua = 'okhttp/4.1.0'; |
|
||||
await local.set(key, deviceKey, JSON.stringify(device)); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
async function home(filter) { |
|
||||
// await req('https://www.facebook.com', {});
|
|
||||
let data = JSON.parse(await request(url + '/api.php/Index/getTopVideoCategory')).data; |
|
||||
let classes = []; |
|
||||
let filterObj = {}; |
|
||||
for (const type of data) { |
|
||||
let typeName = type.nav_name; |
|
||||
if (typeName == '推荐') continue; |
|
||||
let typeId = type.nav_type_id.toString(); |
|
||||
classes.push({ |
|
||||
type_id: typeId, |
|
||||
type_name: typeName, |
|
||||
}); |
|
||||
if (!filter) continue; |
|
||||
try { |
|
||||
let filterAll = []; |
|
||||
let filterData = JSON.parse(await request(url + '/api.php/Video/getFilterType', { type: typeId })).data; |
|
||||
for (let key of Object.keys(filterData)) { |
|
||||
let itemValues = filterData[key]; |
|
||||
if (key === 'plot') key = 'class'; |
|
||||
let typeExtendName = ''; |
|
||||
switch (key) { |
|
||||
case 'class': |
|
||||
typeExtendName = '类型'; |
|
||||
break; |
|
||||
case 'area': |
|
||||
typeExtendName = '地区'; |
|
||||
break; |
|
||||
case 'lang': |
|
||||
typeExtendName = '语言'; |
|
||||
break; |
|
||||
case 'year': |
|
||||
typeExtendName = '年代'; |
|
||||
break; |
|
||||
case 'sort': |
|
||||
typeExtendName = '排序'; |
|
||||
break; |
|
||||
} |
|
||||
if (typeExtendName.length === 0) continue; |
|
||||
let newTypeExtend = { |
|
||||
key: key, |
|
||||
name: typeExtendName, |
|
||||
}; |
|
||||
let newTypeExtendKV = []; |
|
||||
for (let j = 0; j < itemValues.length; j++) { |
|
||||
const name = itemValues[j]; |
|
||||
let value = key === 'sort' ? j + '' : name === '全部' ? '0' : name; |
|
||||
newTypeExtendKV.push({ n: name, v: value }); |
|
||||
} |
|
||||
newTypeExtend['init'] = key === 'sort' ? '1' : newTypeExtendKV[0]['v']; |
|
||||
newTypeExtend.value = newTypeExtendKV; |
|
||||
filterAll.push(newTypeExtend); |
|
||||
} |
|
||||
if (!_.isEmpty(filterAll)) { |
|
||||
filterObj[typeId] = filterAll; |
|
||||
} |
|
||||
} catch (e) { |
|
||||
console.log(e); |
|
||||
} |
|
||||
} |
|
||||
// console.log(await homeVod());
|
|
||||
// console.log(classes);
|
|
||||
// console.log(filterObj);
|
|
||||
return JSON.stringify({ |
|
||||
class: classes, |
|
||||
filters: filterObj, |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
async function homeVod() { |
|
||||
let jsonArray = JSON.parse(await request(url + '/api.php/Index/getHomePage', { type: 1, p: 1 })).data.video; |
|
||||
let videos = []; |
|
||||
for (const item of jsonArray) { |
|
||||
if (item.title.styleType !== 0) continue; |
|
||||
for (const vObj of item.list) { |
|
||||
videos.push({ |
|
||||
vod_id: vObj.vod_id, |
|
||||
vod_name: vObj.vod_name, |
|
||||
vod_pic: vObj.vod_pic, |
|
||||
vod_remarks: vObj.vod_remarks || vObj.vod_score || '', |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
return JSON.stringify({ |
|
||||
list: videos, |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
async function category(tid, pg, filter, extend) { |
|
||||
if (pg == 0) pg = 1; |
|
||||
let reqUrl = url + '/api.php/Video/getFilterVideoList'; |
|
||||
var formData = JSON.parse( |
|
||||
jinja2( |
|
||||
`{
|
|
||||
"type": "{{tid}}", |
|
||||
"p": "{{pg}}", |
|
||||
"area": "{{ext.area|default(0)}}", |
|
||||
"year": "{{ext.year|default(0)}}", |
|
||||
"sort": "{{ext.sort|default(0)}}", |
|
||||
"class": "{{ext.class|default(0)}}" |
|
||||
}`,
|
|
||||
{ ext: extend, tid: tid, pg: pg } |
|
||||
) |
|
||||
); |
|
||||
console.log(formData); |
|
||||
let data = JSON.parse(await request(reqUrl, formData)).data; |
|
||||
let videos = []; |
|
||||
for (const vod of data.data) { |
|
||||
videos.push({ |
|
||||
vod_id: vod.vod_id, |
|
||||
vod_name: vod.vod_name, |
|
||||
vod_pic: vod.vod_pic, |
|
||||
vod_remarks: vod.vod_remarks || vod.vod_score || '', |
|
||||
}); |
|
||||
} |
|
||||
return JSON.stringify({ |
|
||||
page: parseInt(data.current_page), |
|
||||
pagecount: parseInt(data.last_page), |
|
||||
limit: parseInt(data.per_page), |
|
||||
total: parseInt(data.total), |
|
||||
list: videos, |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
async function detail(id) { |
|
||||
let data = JSON.parse(await request(url + '/api.php/Video/getVideoInfo', { video_id: id })).data.video; |
|
||||
let vod = { |
|
||||
vod_id: data.vod_id, |
|
||||
vod_name: data.vod_name, |
|
||||
vod_pic: data.vod_pic, |
|
||||
type_name: data.vod_class, |
|
||||
vod_year: data.vod_year, |
|
||||
vod_area: data.vod_area, |
|
||||
vod_remarks: data.vod_remarks || '', |
|
||||
vod_actor: data.vod_actor, |
|
||||
vod_director: data.vod_director, |
|
||||
vod_content: data.vod_content.trim(), |
|
||||
}; |
|
||||
let playlist = {}; |
|
||||
for (const item of data.vod_play) { |
|
||||
let from = item.playerForm; |
|
||||
if (from === 'jp') continue; |
|
||||
if (from === 'xg') continue; |
|
||||
let urls = []; |
|
||||
for (const u of item.url) { |
|
||||
urls.push(formatPlayUrl(vod.vod_name, u.title) + '$' + u.play_url); |
|
||||
} |
|
||||
if (!playlist.hasOwnProperty(from) && urls.length > 0) { |
|
||||
playlist[from] = urls; |
|
||||
} |
|
||||
} |
|
||||
parse = data.parse || []; |
|
||||
vod.vod_play_from = _.keys(playlist).join('$$$'); |
|
||||
let urls = _.values(playlist); |
|
||||
let vod_play_url = []; |
|
||||
for (const urlist of urls) { |
|
||||
vod_play_url.push(urlist.join('#')); |
|
||||
} |
|
||||
vod.vod_play_url = vod_play_url.join('$$$'); |
|
||||
return JSON.stringify({ |
|
||||
list: [vod], |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
var parse = []; |
|
||||
|
|
||||
async function play(flag, id, flags) { |
|
||||
try { |
|
||||
if (id.indexOf('youku') >= 0 || id.indexOf('iqiyi') >= 0 || id.indexOf('v.qq.com') >= 0 || id.indexOf('pptv') >= 0 || id.indexOf('le.com') >= 0 || id.indexOf('1905.com') >= 0 || id.indexOf('mgtv') >= 0) { |
|
||||
if (parse.length > 0) { |
|
||||
for (let index = 0; index < parse.length; index++) { |
|
||||
try { |
|
||||
const p = parse[index]; |
|
||||
let res = await req(p + id, { |
|
||||
headers: { 'user-agent': 'okhttp/4.1.0' }, |
|
||||
}); |
|
||||
var result = jsonParse(id, JSON.parse(res.content)); |
|
||||
if (result.url) { |
|
||||
result.parse = 0; |
|
||||
return JSON.stringify(result); |
|
||||
} |
|
||||
} catch (error) {} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
if (id.indexOf('jqq-') >= 0) { |
|
||||
var jqqHeader = await request(url + '/jqqheader.json', null, null, true); |
|
||||
var jqqHeaders = JSON.parse(jqqHeader); |
|
||||
var ids = id.split('-'); |
|
||||
var jxJqq = await req('https://api.juquanquanapp.com/app/drama/detail?dramaId=' + ids[1] + '&episodeSid=' + ids[2] + '&quality=LD', { headers: jqqHeaders }); |
|
||||
var jqqInfo = JSON.parse(jxJqq.content); |
|
||||
if (jqqInfo.data.playInfo.url) { |
|
||||
return JSON.stringify({ |
|
||||
parse: 0, |
|
||||
playUrl: '', |
|
||||
url: jqqInfo.data.playInfo.url, |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
let res = await request(url + '/video.php', { url: id }); |
|
||||
var result = jsonParse(id, JSON.parse(res).data); |
|
||||
if (result.url) { |
|
||||
result.parse = 0; |
|
||||
// demo of block hls ads
|
|
||||
if (/vip\.lz|hd\.lz/.test(result.url)) { |
|
||||
result.url = await js2Proxy(true, siteType, siteKey, 'lzm3u8/' + base64Encode(result.url), {}); |
|
||||
} |
|
||||
return JSON.stringify(result); |
|
||||
} |
|
||||
return JSON.stringify({ |
|
||||
parse: 0, |
|
||||
playUrl: '', |
|
||||
url: id, |
|
||||
}); |
|
||||
} catch (e) { |
|
||||
console.log(e); |
|
||||
return JSON.stringify({ |
|
||||
parse: 0, |
|
||||
url: id, |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
async function proxy(segments, headers) { |
|
||||
let what = segments[0]; |
|
||||
let url = base64Decode(segments[1]); |
|
||||
if (what == 'lzm3u8') { |
|
||||
const resp = await req(url, {}); |
|
||||
let hls = resp.content; |
|
||||
const jsBase = await js2Proxy(false, siteType, siteKey, 'lzm3u8/', {}); |
|
||||
const baseUrl = url.substr(0, url.lastIndexOf('/') + 1); |
|
||||
console.log(hls.length); |
|
||||
hls = hls.replace(/#EXT-X-DISCONTINUITY\r*\n*#EXTINF:6.433333,[\s\S]*?#EXT-X-DISCONTINUITY/, ''); |
|
||||
console.log(hls.length); |
|
||||
hls = hls.replace(/(#EXT-X-KEY\S+URI=")(\S+)("\S+)/g, function (match, p1, p2, p3) { |
|
||||
let up = (!p2.startsWith('http') ? baseUrl : '') + p2; |
|
||||
return p1 + up + p3; |
|
||||
}); |
|
||||
hls = hls.replace(/(#EXT-X-STREAM-INF:.*\n)(.*)/g, function (match, p1, p2) { |
|
||||
let up = (!p2.startsWith('http') ? baseUrl : '') + p2; |
|
||||
return p1 + jsBase + base64Encode(up); |
|
||||
}); |
|
||||
hls = hls.replace(/(#EXTINF:.*\n)(.*)/g, function (match, p1, p2) { |
|
||||
let up = (!p2.startsWith('http') ? baseUrl : '') + p2; |
|
||||
return p1 + up; |
|
||||
}); |
|
||||
return JSON.stringify({ |
|
||||
code: resp.code, |
|
||||
content: hls, |
|
||||
headers: resp.headers, |
|
||||
}); |
|
||||
} |
|
||||
return JSON.stringify({ |
|
||||
code: 500, |
|
||||
content: '', |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
async function search(wd, quick) { |
|
||||
let data = JSON.parse(await request(url + '/api.php/Search/getSearch', { key: wd, type_id: 0, p: 1 })).data; |
|
||||
let videos = []; |
|
||||
for (const vod of data.data) { |
|
||||
videos.push({ |
|
||||
vod_id: vod.vod_id, |
|
||||
vod_name: vod.vod_name, |
|
||||
vod_pic: vod.vod_pic, |
|
||||
vod_remarks: vod.vod_remarks || vod.vod_score || '', |
|
||||
}); |
|
||||
} |
|
||||
return JSON.stringify({ |
|
||||
list: videos, |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
function base64Encode(text) { |
|
||||
return Crypto.enc.Base64.stringify(Crypto.enc.Utf8.parse(text)); |
|
||||
} |
|
||||
|
|
||||
function base64Decode(text) { |
|
||||
return Crypto.enc.Utf8.stringify(Crypto.enc.Base64.parse(text)); |
|
||||
} |
|
||||
|
|
||||
const charStr = 'abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789'; |
|
||||
function randStr(len, withNum) { |
|
||||
var _str = ''; |
|
||||
let containsNum = withNum === undefined ? true : withNum; |
|
||||
for (var i = 0; i < len; i++) { |
|
||||
let idx = _.random(0, containsNum ? charStr.length - 1 : charStr.length - 11); |
|
||||
_str += charStr[idx]; |
|
||||
} |
|
||||
return _str; |
|
||||
} |
|
||||
|
|
||||
function randDevice() { |
|
||||
return { |
|
||||
brand: 'Huawei', |
|
||||
model: 'HUAWEI Mate 20', |
|
||||
release: '10', |
|
||||
buildId: randStr(3, false).toUpperCase() + _.random(11, 99) + randStr(1, false).toUpperCase(), |
|
||||
}; |
|
||||
} |
|
||||
|
|
||||
function formatPlayUrl(src, name) { |
|
||||
return name |
|
||||
.trim() |
|
||||
.replaceAll(src, '') |
|
||||
.replace(/<|>|《|》/g, '') |
|
||||
.replace(/\$|#/g, ' ') |
|
||||
.trim(); |
|
||||
} |
|
||||
|
|
||||
function jsonParse(input, json) { |
|
||||
try { |
|
||||
let url = json.url ?? ''; |
|
||||
if (url.startsWith('//')) { |
|
||||
url = 'https:' + url; |
|
||||
} |
|
||||
if (!url.startsWith('http')) { |
|
||||
return {}; |
|
||||
} |
|
||||
let headers = json['headers'] || {}; |
|
||||
let ua = (json['user-agent'] || '').trim(); |
|
||||
if (ua.length > 0) { |
|
||||
headers['User-Agent'] = ua; |
|
||||
} |
|
||||
let referer = (json['referer'] || '').trim(); |
|
||||
if (referer.length > 0) { |
|
||||
headers['Referer'] = referer; |
|
||||
} |
|
||||
_.keys(headers).forEach((hk) => { |
|
||||
if (!headers[hk]) delete headers[hk]; |
|
||||
}); |
|
||||
return { |
|
||||
header: headers, |
|
||||
url: url, |
|
||||
}; |
|
||||
} catch (error) { |
|
||||
console.log(error); |
|
||||
} |
|
||||
return {}; |
|
||||
} |
|
||||
|
|
||||
export function __jsEvalReturn() { |
|
||||
return { |
|
||||
init: init, |
|
||||
home: home, |
|
||||
homeVod: homeVod, |
|
||||
category: category, |
|
||||
detail: detail, |
|
||||
play: play, |
|
||||
proxy: proxy, |
|
||||
search: search, |
|
||||
}; |
|
||||
} |
|
3165
libs/live.txt
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1,210 +0,0 @@ |
|||||
#coding=utf-8 |
|
||||
#!/usr/bin/python |
|
||||
import sys |
|
||||
sys.path.append('..') |
|
||||
from base.spider import Spider |
|
||||
import re |
|
||||
import math |
|
||||
import json |
|
||||
import time |
|
||||
import hashlib |
|
||||
import uuid |
|
||||
|
|
||||
class Spider(Spider): # 元类 默认的元类 type |
|
||||
def getName(self): |
|
||||
return "1905电影网" |
|
||||
def init(self,extend=""): |
|
||||
pass |
|
||||
def isVideoFormat(self,url): |
|
||||
pass |
|
||||
def manualVideoCheck(self): |
|
||||
pass |
|
||||
def homeContent(self,filter): |
|
||||
result = {} |
|
||||
cateManual = { |
|
||||
"电影": "n_1/o3p", |
|
||||
"微电影":"n_1_c_922/o3p", |
|
||||
"系列电影":"n_2/o3p", |
|
||||
"记录片":"c_927/o3p", |
|
||||
"晚会":"n_1_c_586/o3p", |
|
||||
"独家":"n_1_c_178/o3p", |
|
||||
"综艺":"n_1_c_1024/o3p", |
|
||||
"体育":"n_1_c_1053/o3p" |
|
||||
} |
|
||||
classes = [] |
|
||||
for k in cateManual: |
|
||||
classes.append({ |
|
||||
'type_name':k, |
|
||||
'type_id':cateManual[k] |
|
||||
}) |
|
||||
result['class'] = classes |
|
||||
return result |
|
||||
def homeVideoContent(self): |
|
||||
result = {} |
|
||||
url = 'https://www.1905.com/vod/cctv6/lst/' |
|
||||
headers = { |
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.43', |
|
||||
'Referer': 'https://www.1905.com/vod/list/n_1/o3p1.html', |
|
||||
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' |
|
||||
} |
|
||||
rsp = self.fetch(url, headers=headers) |
|
||||
html = self.html(rsp.text) |
|
||||
aList = html.xpath("//div[@class='grid-2x']/a") |
|
||||
videos = [] |
|
||||
for a in aList: |
|
||||
aid = a.xpath("./@href")[0] #https://www.1905.com/vod/play/85646.shtml |
|
||||
if '//vip.1905.com' in str(aid): |
|
||||
continue #跳过VIP视频 |
|
||||
aid = self.regStr(reg=r'play/(.*?).sh', src=aid) # 85646 |
|
||||
img = a.xpath('./img/@src')[0] |
|
||||
title = a.xpath('./img/@alt')[0] |
|
||||
videos.append({ |
|
||||
"vod_id": aid, |
|
||||
"vod_name": title, |
|
||||
"vod_pic": img, |
|
||||
"vod_remarks": '' |
|
||||
}) |
|
||||
result['list'] = videos |
|
||||
return result |
|
||||
def categoryContent(self,tid,pg,filter,extend): |
|
||||
result = {} |
|
||||
url = 'https://www.1905.com/vod/list/{}{}.html'.format(tid, pg) |
|
||||
headers = { |
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.43', |
|
||||
'Referer': 'https://www.1905.com/vod/list/n_1/o3p1.html', |
|
||||
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' |
|
||||
} |
|
||||
rsp = self.fetch(url, headers=headers) |
|
||||
html = self.html(rsp.text) |
|
||||
aList = html.xpath("//section[contains(@class,'search-list')]/div/a" if tid != u'n_2/o3p' else "//div[@class='mod']/div[1]/a") |
|
||||
videos = [] |
|
||||
limit = len(aList) |
|
||||
for a in aList: |
|
||||
aid = a.xpath("./@href")[0] # https://www.1905.com/vod/play/85646.shtml |
|
||||
aid = self.regStr(reg=r'play/(.*?).sh', src=aid) # 85646 |
|
||||
img = a.xpath('./img/@src')[0] |
|
||||
title = a.xpath('./@title')[0] |
|
||||
videos.append({ |
|
||||
"vod_id": aid, |
|
||||
"vod_name": title, |
|
||||
"vod_pic": img, |
|
||||
"vod_remarks": '' |
|
||||
}) |
|
||||
result['list'] = videos |
|
||||
result['page'] = pg |
|
||||
result['pagecount'] = 100 |
|
||||
result['limit'] = limit |
|
||||
result['total'] = 100 * limit |
|
||||
return result |
|
||||
def detailContent(self,array): |
|
||||
aid = array[0] |
|
||||
url = "https://www.1905.com/api/content/?callback=&m=Vod&a=getVodSidebar&id={0}&fomat=json".format(aid) |
|
||||
rsp = self.fetch(url) |
|
||||
root = json.loads(rsp.text) |
|
||||
title = root['title'] |
|
||||
pic = root['thumb'] |
|
||||
remark = root['commendreason'] |
|
||||
content = root['description'] |
|
||||
actor = root['starring'] |
|
||||
direct = root['direct'] |
|
||||
vod = { |
|
||||
"vod_id": aid, |
|
||||
"vod_name": title, |
|
||||
"vod_pic": pic, |
|
||||
"type_name": "", |
|
||||
"vod_year": "", |
|
||||
"vod_area": "", |
|
||||
"vod_remarks": remark, |
|
||||
"vod_actor": actor, |
|
||||
"vod_director":direct, |
|
||||
"vod_content": content |
|
||||
} |
|
||||
vodItems = [] |
|
||||
vodItems.append(title + "$" + aid) |
|
||||
#处理多集的电影 |
|
||||
series = root['info']['series_data'] |
|
||||
for ser in series: |
|
||||
vodItems.append(ser['title'] + "$" + ser['contentid']) |
|
||||
playList = [] |
|
||||
joinStr = '#'.join(vodItems) |
|
||||
playList.append(joinStr) |
|
||||
vod['vod_play_from'] = '默认最高画质' |
|
||||
vod['vod_play_url'] = '$$$'.join(playList) |
|
||||
result = { |
|
||||
'list': [ |
|
||||
vod |
|
||||
] |
|
||||
} |
|
||||
return result |
|
||||
def searchContent(self,key,quick): |
|
||||
result = {} |
|
||||
url = 'https://www.1905.com/search/index-p-type-all-q-{}.html'.format(key) |
|
||||
headers = { |
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.43', |
|
||||
'Referer': 'https://www.1905.com/vod/list/n_1/o3p1.html', |
|
||||
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' |
|
||||
} |
|
||||
rsp = self.fetch(url, headers=headers) |
|
||||
html = self.html(rsp.text) |
|
||||
aList = html.xpath("//div[contains(@class,'movie_box')]/div/div") |
|
||||
videos = [] |
|
||||
for a in aList: |
|
||||
aid = a.xpath("./div/ul/li[contains(@class,'paly-tab-icon')]/a/@href")[0] #https://www.1905.com/vod/play/85646.shtml |
|
||||
if len(aid) == 0: |
|
||||
continue |
|
||||
aid = self.regStr(reg=r'play/(.*?).sh', src=aid) # 85646 |
|
||||
img = a.xpath('./div/div/a/img/@src')[0] |
|
||||
title = a.xpath('./div/a/img/@alt')[0] |
|
||||
videos.append({ |
|
||||
"vod_id": aid, |
|
||||
"vod_name": title, |
|
||||
"vod_pic": img, |
|
||||
"vod_remarks": '' |
|
||||
}) |
|
||||
result['list'] = videos |
|
||||
return result |
|
||||
def playerContent(self,flag,id,vipFlags): |
|
||||
result = {} |
|
||||
nonce = int(round(time.time() * 1000)) |
|
||||
expiretime = nonce + 600 |
|
||||
uid = str(uuid.uuid4()) |
|
||||
playerid = uid.replace("-", "")[5:20] |
|
||||
signature = 'cid={0}&expiretime={1}&nonce={2}&page=https%3A%2F%2Fwww.1905.com%2Fvod%2Fplay%2F{3}.shtml&playerid={4}&type=hls&uuid={5}.dde3d61a0411511d'.format(id,expiretime,nonce,id,playerid,uid) |
|
||||
signature = hashlib.sha1(signature.encode()).hexdigest() |
|
||||
url = 'https://profile.m1905.com/mvod/getVideoinfo.php?nonce={0}&expiretime={1}&cid={2}&uuid={3}&playerid={4}&page=https%3A%2F%2Fwww.1905.com%2Fvod%2Fplay%2F{5}.shtml&type=hls&signature={6}&callback='.format(nonce,expiretime,id,uid,playerid,id,signature) |
|
||||
headers = { |
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.43', |
|
||||
'Referer': 'https://www.1905.com/vod/list/n_1/o3p1.html', |
|
||||
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' |
|
||||
} |
|
||||
rsp = self.fetch(url,headers=headers) |
|
||||
jo = json.loads(rsp.text.replace("(", "").replace(")", "")) |
|
||||
data = jo['data']['sign'] |
|
||||
sign = '' |
|
||||
qualityStr = '' |
|
||||
if 'uhd' in data.keys(): |
|
||||
sign = data['uhd']['sign'] |
|
||||
qualityStr = 'uhd' |
|
||||
elif 'hd' in data.keys(): |
|
||||
sign = data['hd']['sign'] |
|
||||
qualityStr = 'hd' |
|
||||
elif 'sd' in data.keys(): |
|
||||
sign = data['sd']['sign'] |
|
||||
qualityStr = 'sd' |
|
||||
host = jo['data']['quality'][qualityStr]['host'] |
|
||||
path = jo['data']['path'][qualityStr]['path'] |
|
||||
playUrl = host + sign + path |
|
||||
result["parse"] = 0 |
|
||||
result["playUrl"] = '' |
|
||||
result["url"] = playUrl |
|
||||
result["header"] = '' |
|
||||
return result |
|
||||
|
|
||||
config = { |
|
||||
"player": {}, |
|
||||
"filter": {} |
|
||||
} |
|
||||
header = {} |
|
||||
|
|
||||
def localProxy(self,param): |
|
||||
return [200, "video/MP2T", action, ""] |
|
@ -1,461 +0,0 @@ |
|||||
#coding=utf-8 |
|
||||
#!/usr/bin/python |
|
||||
import sys |
|
||||
sys.path.append('..') |
|
||||
from base.spider import Spider |
|
||||
import json |
|
||||
import time |
|
||||
import base64 |
|
||||
import re |
|
||||
from urllib import request, parse |
|
||||
import urllib |
|
||||
import urllib.request |
|
||||
import time |
|
||||
|
|
||||
class Spider(Spider): # 元类 默认的元类 type |
|
||||
def getName(self): |
|
||||
return "中央电视台"#可搜索 |
|
||||
def init(self,extend=""): |
|
||||
print("============{0}============".format(extend)) |
|
||||
pass |
|
||||
def isVideoFormat(self,url): |
|
||||
pass |
|
||||
def manualVideoCheck(self): |
|
||||
pass |
|
||||
def homeContent(self,filter): |
|
||||
result = {} |
|
||||
cateManual = { |
|
||||
"电视剧": "电视剧", |
|
||||
"动画片": "动画片", |
|
||||
"纪录片": "纪录片", |
|
||||
"特别节目": "特别节目", |
|
||||
"节目大全":"节目大全" |
|
||||
} |
|
||||
classes = [] |
|
||||
for k in cateManual: |
|
||||
classes.append({ |
|
||||
'type_name':k, |
|
||||
'type_id':cateManual[k] |
|
||||
}) |
|
||||
result['class'] = classes |
|
||||
if(filter): |
|
||||
result['filters'] = self.config['filter'] |
|
||||
return result |
|
||||
def homeVideoContent(self): |
|
||||
result = { |
|
||||
'list':[] |
|
||||
} |
|
||||
return result |
|
||||
def categoryContent(self,tid,pg,filter,extend): |
|
||||
result = {} |
|
||||
month = ""#月 |
|
||||
year = ""#年 |
|
||||
area=''#地区 |
|
||||
channel=''#频道 |
|
||||
datafl=''#类型 |
|
||||
letter=''#字母 |
|
||||
pagecount=24 |
|
||||
if tid=='动画片': |
|
||||
id=urllib.parse.quote(tid) |
|
||||
if 'datadq-area' in extend.keys(): |
|
||||
area=urllib.parse.quote(extend['datadq-area']) |
|
||||
if 'dataszm-letter' in extend.keys(): |
|
||||
letter=extend['dataszm-letter'] |
|
||||
if 'datafl-sc' in extend.keys(): |
|
||||
datafl=urllib.parse.quote(extend['datafl-sc']) |
|
||||
url='https://api.cntv.cn/list/getVideoAlbumList?channelid=CHAL1460955899450127&area={0}&sc={4}&fc={1}&letter={2}&p={3}&n=24&serviceId=tvcctv&topv=1&t=json'.format(area,id,letter,pg,datafl) |
|
||||
elif tid=='纪录片': |
|
||||
id=urllib.parse.quote(tid) |
|
||||
if 'datapd-channel' in extend.keys(): |
|
||||
channel=urllib.parse.quote(extend['datapd-channel']) |
|
||||
if 'datafl-sc' in extend.keys(): |
|
||||
datafl=urllib.parse.quote(extend['datafl-sc']) |
|
||||
if 'datanf-year' in extend.keys(): |
|
||||
year=extend['datanf-year'] |
|
||||
if 'dataszm-letter' in extend.keys(): |
|
||||
letter=extend['dataszm-letter'] |
|
||||
url='https://api.cntv.cn/list/getVideoAlbumList?channelid=CHAL1460955924871139&fc={0}&channel={1}&sc={2}&year={3}&letter={4}&p={5}&n=24&serviceId=tvcctv&topv=1&t=json'.format(id,channel,datafl,year,letter,pg) |
|
||||
elif tid=='电视剧': |
|
||||
id=urllib.parse.quote(tid) |
|
||||
if 'datafl-sc' in extend.keys(): |
|
||||
datafl=urllib.parse.quote(extend['datafl-sc']) |
|
||||
if 'datanf-year' in extend.keys(): |
|
||||
year=extend['datanf-year'] |
|
||||
if 'dataszm-letter' in extend.keys(): |
|
||||
letter=extend['dataszm-letter'] |
|
||||
url='https://api.cntv.cn/list/getVideoAlbumList?channelid=CHAL1460955853485115&area={0}&sc={1}&fc={2}&year={3}&letter={4}&p={5}&n=24&serviceId=tvcctv&topv=1&t=json'.format(area,datafl,id,year,letter,pg) |
|
||||
elif tid=='特别节目': |
|
||||
id=urllib.parse.quote(tid) |
|
||||
if 'datapd-channel' in extend.keys(): |
|
||||
channel=urllib.parse.quote(extend['datapd-channel']) |
|
||||
if 'datafl-sc' in extend.keys(): |
|
||||
datafl=urllib.parse.quote(extend['datafl-sc']) |
|
||||
if 'dataszm-letter' in extend.keys(): |
|
||||
letter=extend['dataszm-letter'] |
|
||||
url='https://api.cntv.cn/list/getVideoAlbumList?channelid=CHAL1460955953877151&channel={0}&sc={1}&fc={2}&bigday=&letter={3}&p={4}&n=24&serviceId=tvcctv&topv=1&t=json'.format(channel,datafl,id,letter,pg) |
|
||||
elif tid=='节目大全': |
|
||||
cid=''#频道 |
|
||||
if 'cid' in extend.keys(): |
|
||||
cid=extend['cid'] |
|
||||
fc=''#分类 |
|
||||
if 'fc' in extend.keys(): |
|
||||
fc=extend['fc'] |
|
||||
fl=''#字母 |
|
||||
if 'fl' in extend.keys(): |
|
||||
fl=extend['fl'] |
|
||||
url = 'https://api.cntv.cn/lanmu/columnSearch?&fl={0}&fc={1}&cid={2}&p={3}&n=20&serviceId=tvcctv&t=json&cb=ko'.format(fl,fc,cid,pg) |
|
||||
pagecount=20 |
|
||||
else: |
|
||||
url = 'https://tv.cctv.com/epg/index.shtml' |
|
||||
|
|
||||
videos=[] |
|
||||
htmlText =self.webReadFile(urlStr=url,header=self.header) |
|
||||
if tid=='节目大全': |
|
||||
index=htmlText.rfind(');') |
|
||||
if index>-1: |
|
||||
htmlText=htmlText[3:index] |
|
||||
videos =self.get_list1(html=htmlText,tid=tid) |
|
||||
else: |
|
||||
videos =self.get_list(html=htmlText,tid=tid) |
|
||||
#print(videos) |
|
||||
|
|
||||
result['list'] = videos |
|
||||
result['page'] = pg |
|
||||
result['pagecount'] = 9999 if len(videos)>=pagecount else pg |
|
||||
result['limit'] = 90 |
|
||||
result['total'] = 999999 |
|
||||
return result |
|
||||
def detailContent(self,array): |
|
||||
result={} |
|
||||
aid = array[0].split('###') |
|
||||
tid = aid[0] |
|
||||
logo = aid[3] |
|
||||
lastVideo = aid[2] |
|
||||
title = aid[1] |
|
||||
id= aid[4] |
|
||||
|
|
||||
vod_year= aid[5] |
|
||||
actors= aid[6] |
|
||||
brief= aid[7] |
|
||||
fromId='CCTV' |
|
||||
if tid=="节目大全": |
|
||||
lastUrl = 'https://api.cntv.cn/video/videoinfoByGuid?guid={0}&serviceId=tvcctv'.format(id) |
|
||||
htmlTxt = self.webReadFile(urlStr=lastUrl,header=self.header) |
|
||||
topicId=json.loads(htmlTxt)['ctid'] |
|
||||
Url = "https://api.cntv.cn/NewVideo/getVideoListByColumn?id={0}&d=&p=1&n=100&sort=desc&mode=0&serviceId=tvcctv&t=json".format(topicId) |
|
||||
htmlTxt = self.webReadFile(urlStr=Url,header=self.header) |
|
||||
else: |
|
||||
Url='https://api.cntv.cn/NewVideo/getVideoListByAlbumIdNew?id={0}&serviceId=tvcctv&p=1&n=100&mode=0&pub=1'.format(id) |
|
||||
jRoot = '' |
|
||||
videoList = [] |
|
||||
try: |
|
||||
if tid=="搜索": |
|
||||
fromId='中央台' |
|
||||
videoList=[title+"$"+lastVideo] |
|
||||
else: |
|
||||
htmlTxt=self.webReadFile(urlStr=Url,header=self.header) |
|
||||
jRoot = json.loads(htmlTxt) |
|
||||
data=jRoot['data'] |
|
||||
jsonList=data['list'] |
|
||||
videoList=self.get_EpisodesList(jsonList=jsonList) |
|
||||
if len(videoList)<1: |
|
||||
htmlTxt=self.webReadFile(urlStr=lastVideo,header=self.header) |
|
||||
if tid=="电视剧" or tid=="纪录片": |
|
||||
patternTxt=r"'title':\s*'(?P<title>.+?)',\n{0,1}\s*'brief':\s*'(.+?)',\n{0,1}\s*'img':\s*'(.+?)',\n{0,1}\s*'url':\s*'(?P<url>.+?)'" |
|
||||
elif tid=="特别节目": |
|
||||
patternTxt=r'class="tp1"><a\s*href="(?P<url>https://.+?)"\s*target="_blank"\s*title="(?P<title>.+?)"></a></div>' |
|
||||
elif tid=="动画片": |
|
||||
patternTxt=r"'title':\s*'(?P<title>.+?)',\n{0,1}\s*'img':\s*'(.+?)',\n{0,1}\s*'brief':\s*'(.+?)',\n{0,1}\s*'url':\s*'(?P<url>.+?)'" |
|
||||
elif tid=="节目大全": |
|
||||
patternTxt=r'href="(?P<url>.+?)" target="_blank" alt="(?P<title>.+?)" title=".+?">' |
|
||||
videoList=self.get_EpisodesList_re(htmlTxt=htmlTxt,patternTxt=patternTxt) |
|
||||
fromId='央视' |
|
||||
except: |
|
||||
pass |
|
||||
if len(videoList) == 0: |
|
||||
return {} |
|
||||
vod = { |
|
||||
"vod_id":array[0], |
|
||||
"vod_name":title, |
|
||||
"vod_pic":logo, |
|
||||
"type_name":tid, |
|
||||
"vod_year":vod_year, |
|
||||
"vod_area":"", |
|
||||
"vod_remarks":'', |
|
||||
"vod_actor":actors, |
|
||||
"vod_director":'', |
|
||||
"vod_content":brief |
|
||||
} |
|
||||
vod['vod_play_from'] = fromId |
|
||||
vod['vod_play_url'] = "#".join(videoList) |
|
||||
result = { |
|
||||
'list':[ |
|
||||
vod |
|
||||
] |
|
||||
} |
|
||||
return result |
|
||||
def get_lineList(self,Txt,mark,after): |
|
||||
circuit=[] |
|
||||
origin=Txt.find(mark) |
|
||||
while origin>8: |
|
||||
end=Txt.find(after,origin) |
|
||||
circuit.append(Txt[origin:end]) |
|
||||
origin=Txt.find(mark,end) |
|
||||
return circuit |
|
||||
def get_RegexGetTextLine(self,Text,RegexText,Index): |
|
||||
returnTxt=[] |
|
||||
pattern = re.compile(RegexText, re.M|re.S) |
|
||||
ListRe=pattern.findall(Text) |
|
||||
if len(ListRe)<1: |
|
||||
return returnTxt |
|
||||
for value in ListRe: |
|
||||
returnTxt.append(value) |
|
||||
return returnTxt |
|
||||
def searchContent(self,key,quick): |
|
||||
key=urllib.parse.quote(key) |
|
||||
Url='https://search.cctv.com/ifsearch.php?page=1&qtext={0}&sort=relevance&pageSize=20&type=video&vtime=-1&datepid=1&channel=&pageflag=0&qtext_str={0}'.format(key) |
|
||||
htmlTxt=self.webReadFile(urlStr=Url,header=self.header) |
|
||||
videos=self.get_list_search(html=htmlTxt,tid='搜索') |
|
||||
result = { |
|
||||
'list':videos |
|
||||
} |
|
||||
return result |
|
||||
def playerContent(self,flag,id,vipFlags): |
|
||||
result = {} |
|
||||
url='' |
|
||||
parse=0 |
|
||||
headers = { |
|
||||
'User-Agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1' |
|
||||
} |
|
||||
if flag=='CCTV': |
|
||||
url=self.get_m3u8(urlTxt=id) |
|
||||
else: |
|
||||
try: |
|
||||
html=self.webReadFile(urlStr=id,header=self.header) |
|
||||
guid=self.get_RegexGetText(Text=html,RegexText=r'var\sguid\s*=\s*"(.+?)";',Index=1) |
|
||||
url=self.get_m3u8(urlTxt=guid) |
|
||||
except : |
|
||||
url=id |
|
||||
parse=1 |
|
||||
if url.find('https:')<0: |
|
||||
url=id |
|
||||
parse=1 |
|
||||
result["parse"] = parse#1=嗅探,0=播放 |
|
||||
result["playUrl"] = '' |
|
||||
result["url"] = url |
|
||||
result["header"] =headers |
|
||||
return result |
|
||||
config = { |
|
||||
"player": {}, |
|
||||
"filter": { |
|
||||
"电视剧":[ |
|
||||
{"key":"datafl-sc","name":"类型","value":[{"n":"全部","v":""},{"n":"谍战","v":"谍战"},{"n":"悬疑","v":"悬疑"},{"n":"刑侦","v":"刑侦"},{"n":"历史","v":"历史"},{"n":"古装","v":"古装"},{"n":"武侠","v":"武侠"},{"n":"军旅","v":"军旅"},{"n":"战争","v":"战争"},{"n":"喜剧","v":"喜剧"},{"n":"青春","v":"青春"},{"n":"言情","v":"言情"},{"n":"偶像","v":"偶像"},{"n":"家庭","v":"家庭"},{"n":"年代","v":"年代"},{"n":"革命","v":"革命"},{"n":"农村","v":"农村"},{"n":"都市","v":"都市"},{"n":"其他","v":"其他"}]}, |
|
||||
{"key":"datadq-area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"中国香港","v":"香港"},{"n":"美国","v":"美国"},{"n":"欧洲","v":"欧洲"},{"n":"泰国","v":"泰国"}]}, |
|
||||
{"key":"datanf-year","name":"年份","value":[{"n":"全部","v":""},{"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"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"},{"n":"1999","v":"1999"},{"n":"1998","v":"1998"},{"n":"1997","v":"1997"}]}, |
|
||||
{"key":"dataszm-letter","name":"字母","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"C","v":"C"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]} |
|
||||
], |
|
||||
"动画片":[ |
|
||||
{"key":"datafl-sc","name":"类型","value":[{"n":"全部","v":""},{"n":"亲子","v":"亲子"},{"n":"搞笑","v":"搞笑"},{"n":"冒险","v":"冒险"},{"n":"动作","v":"动作"},{"n":"宠物","v":"宠物"},{"n":"体育","v":"体育"},{"n":"益智","v":"益智"},{"n":"历史","v":"历史"},{"n":"教育","v":"教育"},{"n":"校园","v":"校园"},{"n":"言情","v":"言情"},{"n":"武侠","v":"武侠"},{"n":"经典","v":"经典"},{"n":"未来","v":"未来"},{"n":"古代","v":"古代"},{"n":"神话","v":"神话"},{"n":"真人","v":"真人"},{"n":"励志","v":"励志"},{"n":"热血","v":"热血"},{"n":"奇幻","v":"奇幻"},{"n":"童话","v":"童话"},{"n":"剧情","v":"剧情"},{"n":"夺宝","v":"夺宝"},{"n":"其他","v":"其他"}]}, |
|
||||
{"key":"datadq-area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"美国","v":"美国"},{"n":"欧洲","v":"欧洲"}]}, |
|
||||
{"key":"dataszm-letter","name":"字母","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"C","v":"C"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]} |
|
||||
], |
|
||||
"纪录片":[ |
|
||||
{"key":"datapd-channel","name":"频道","value":[{"n":"全部","v":""},{"n":"CCTV{1 综合","v":"CCTV{1 综合"},{"n":"CCTV{2 财经","v":"CCTV{2 财经"},{"n":"CCTV{3 综艺","v":"CCTV{3 综艺"},{"n":"CCTV{4 中文国际","v":"CCTV{4 中文国际"},{"n":"CCTV{5 体育","v":"CCTV{5 体育"},{"n":"CCTV{6 电影","v":"CCTV{6 电影"},{"n":"CCTV{7 国防军事","v":"CCTV{7 国防军事"},{"n":"CCTV{8 电视剧","v":"CCTV{8 电视剧"},{"n":"CCTV{9 纪录","v":"CCTV{9 纪录"},{"n":"CCTV{10 科教","v":"CCTV{10 科教"},{"n":"CCTV{11 戏曲","v":"CCTV{11 戏曲"},{"n":"CCTV{12 社会与法","v":"CCTV{12 社会与法"},{"n":"CCTV{13 新闻","v":"CCTV{13 新闻"},{"n":"CCTV{14 少儿","v":"CCTV{14 少儿"},{"n":"CCTV{15 音乐","v":"CCTV{15 音乐"},{"n":"CCTV{17 农业农村","v":"CCTV{17 农业农村"}]}, |
|
||||
{"key":"datafl-sc","name":"类型","value":[{"n":"全部","v":""},{"n":"人文历史","v":"人文历史"},{"n":"人物","v":"人物"},{"n":"军事","v":"军事"},{"n":"探索","v":"探索"},{"n":"社会","v":"社会"},{"n":"时政","v":"时政"},{"n":"经济","v":"经济"},{"n":"科技","v":"科技"}]}, |
|
||||
{"key":"datanf-year","name":"年份","value":[{"n":"全部","v":""},{"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"}]}, |
|
||||
{"key":"dataszm-letter","name":"字母","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"C","v":"C"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]} |
|
||||
], |
|
||||
"特别节目":[ |
|
||||
{"key":"datapd-channel","name":"频道","value":[{"n":"全部","v":""},{"n":"CCTV{1 综合","v":"CCTV{1 综合"},{"n":"CCTV{2 财经","v":"CCTV{2 财经"},{"n":"CCTV{3 综艺","v":"CCTV{3 综艺"},{"n":"CCTV{4 中文国际","v":"CCTV{4 中文国际"},{"n":"CCTV{5 体育","v":"CCTV{5 体育"},{"n":"CCTV{6 电影","v":"CCTV{6 电影"},{"n":"CCTV{7 国防军事","v":"CCTV{7 国防军事"},{"n":"CCTV{8 电视剧","v":"CCTV{8 电视剧"},{"n":"CCTV{9 纪录","v":"CCTV{9 纪录"},{"n":"CCTV{10 科教","v":"CCTV{10 科教"},{"n":"CCTV{11 戏曲","v":"CCTV{11 戏曲"},{"n":"CCTV{12 社会与法","v":"CCTV{12 社会与法"},{"n":"CCTV{13 新闻","v":"CCTV{13 新闻"},{"n":"CCTV{14 少儿","v":"CCTV{14 少儿"},{"n":"CCTV{15 音乐","v":"CCTV{15 音乐"},{"n":"CCTV{17 农业农村","v":"CCTV{17 农业农村"}]}, |
|
||||
{"key":"datafl-sc","name":"类型","value":[{"n":"全部","v":""},{"n":"全部","v":"全部"},{"n":"新闻","v":"新闻"},{"n":"经济","v":"经济"},{"n":"综艺","v":"综艺"},{"n":"体育","v":"体育"},{"n":"军事","v":"军事"},{"n":"影视","v":"影视"},{"n":"科教","v":"科教"},{"n":"戏曲","v":"戏曲"},{"n":"青少","v":"青少"},{"n":"音乐","v":"音乐"},{"n":"社会","v":"社会"},{"n":"公益","v":"公益"},{"n":"其他","v":"其他"}]}, |
|
||||
{"key":"dataszm-letter","name":"字母","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"C","v":"C"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]} |
|
||||
], |
|
||||
"节目大全":[{"key":"cid","name":"频道","value":[{"n":"全部","v":""},{"n":"CCTV-1综合","v":"EPGC1386744804340101"},{"n":"CCTV-2财经","v":"EPGC1386744804340102"},{"n":"CCTV-3综艺","v":"EPGC1386744804340103"},{"n":"CCTV-4中文国际","v":"EPGC1386744804340104"},{"n":"CCTV-5体育","v":"EPGC1386744804340107"},{"n":"CCTV-6电影","v":"EPGC1386744804340108"},{"n":"CCTV-7国防军事","v":"EPGC1386744804340109"},{"n":"CCTV-8电视剧","v":"EPGC1386744804340110"},{"n":"CCTV-9纪录","v":"EPGC1386744804340112"},{"n":"CCTV-10科教","v":"EPGC1386744804340113"},{"n":"CCTV-11戏曲","v":"EPGC1386744804340114"},{"n":"CCTV-12社会与法","v":"EPGC1386744804340115"},{"n":"CCTV-13新闻","v":"EPGC1386744804340116"},{"n":"CCTV-14少儿","v":"EPGC1386744804340117"},{"n":"CCTV-15音乐","v":"EPGC1386744804340118"},{"n":"CCTV-16奥林匹克","v":"EPGC1634630207058998"},{"n":"CCTV-17农业农村","v":"EPGC1563932742616872"},{"n":"CCTV-5+体育赛事","v":"EPGC1468294755566101"}]},{"key":"fc","name":"分类","value":[{"n":"全部","v":""},{"n":"新闻","v":"新闻"},{"n":"体育","v":"体育"},{"n":"综艺","v":"综艺"},{"n":"健康","v":"健康"},{"n":"生活","v":"生活"},{"n":"科教","v":"科教"},{"n":"经济","v":"经济"},{"n":"农业","v":"农业"},{"n":"法治","v":"法治"},{"n":"军事","v":"军事"},{"n":"少儿","v":"少儿"},{"n":"动画","v":"动画"},{"n":"纪实","v":"纪实"},{"n":"戏曲","v":"戏曲"},{"n":"音乐","v":"音乐"},{"n":"影视","v":"影视"}]},{"key":"fl","name":"字母","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"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"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]},{"key":"month","name":"月份","value":[{"n":"全部","v":""},{"n":"12","v":"12"},{"n":"11","v":"11"},{"n":"10","v":"10"},{"n":"09","v":"09"},{"n":"08","v":"08"},{"n":"07","v":"07"},{"n":"06","v":"06"},{"n":"05","v":"05"},{"n":"04","v":"04"},{"n":"03","v":"03"},{"n":"02","v":"02"},{"n":"01","v":"01"}]}] |
|
||||
} |
|
||||
} |
|
||||
header = { |
|
||||
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36", |
|
||||
"Host": "tv.cctv.com", |
|
||||
"Referer": "https://tv.cctv.com/" |
|
||||
} |
|
||||
|
|
||||
def localProxy(self,param): |
|
||||
return [200, "video/MP2T", action, ""] |
|
||||
#-----------------------------------------------自定义函数----------------------------------------------- |
|
||||
#访问网页 |
|
||||
def webReadFile(self,urlStr,header): |
|
||||
html='' |
|
||||
req=urllib.request.Request(url=urlStr)#,headers=header |
|
||||
with urllib.request.urlopen(req) as response: |
|
||||
html = response.read().decode('utf-8') |
|
||||
return html |
|
||||
#判断网络地址是否存在 |
|
||||
def TestWebPage(self,urlStr,header): |
|
||||
html='' |
|
||||
req=urllib.request.Request(url=urlStr,method='HEAD')#,headers=header |
|
||||
with urllib.request.urlopen(req) as response: |
|
||||
html = response.getcode () |
|
||||
return html |
|
||||
#正则取文本 |
|
||||
def get_RegexGetText(self,Text,RegexText,Index): |
|
||||
returnTxt="" |
|
||||
Regex=re.search(RegexText, Text, re.M|re.S) |
|
||||
if Regex is None: |
|
||||
returnTxt="" |
|
||||
else: |
|
||||
returnTxt=Regex.group(Index) |
|
||||
return returnTxt |
|
||||
#取集数 |
|
||||
def get_EpisodesList(self,jsonList): |
|
||||
videos=[] |
|
||||
for vod in jsonList: |
|
||||
url = vod['guid'] |
|
||||
title =vod['title'] |
|
||||
if len(url) == 0: |
|
||||
continue |
|
||||
videos.append(title+"$"+url) |
|
||||
return videos |
|
||||
#取集数 |
|
||||
def get_EpisodesList_re(self,htmlTxt,patternTxt): |
|
||||
ListRe=re.finditer(patternTxt, htmlTxt, re.M|re.S) |
|
||||
videos=[] |
|
||||
for vod in ListRe: |
|
||||
url = vod.group('url') |
|
||||
title =vod.group('title') |
|
||||
if len(url) == 0: |
|
||||
continue |
|
||||
videos.append(title+"$"+url) |
|
||||
return videos |
|
||||
#取剧集区 |
|
||||
def get_lineList(self,Txt,mark,after): |
|
||||
circuit=[] |
|
||||
origin=Txt.find(mark) |
|
||||
while origin>8: |
|
||||
end=Txt.find(after,origin) |
|
||||
circuit.append(Txt[origin:end]) |
|
||||
origin=Txt.find(mark,end) |
|
||||
return circuit |
|
||||
#正则取文本,返回数组 |
|
||||
def get_RegexGetTextLine(self,Text,RegexText,Index): |
|
||||
returnTxt=[] |
|
||||
pattern = re.compile(RegexText, re.M|re.S) |
|
||||
ListRe=pattern.findall(Text) |
|
||||
if len(ListRe)<1: |
|
||||
return returnTxt |
|
||||
for value in ListRe: |
|
||||
returnTxt.append(value) |
|
||||
return returnTxt |
|
||||
#删除html标签 |
|
||||
def removeHtml(self,txt): |
|
||||
soup = re.compile(r'<[^>]+>',re.S) |
|
||||
txt =soup.sub('', txt) |
|
||||
return txt.replace(" "," ") |
|
||||
#取m3u8 |
|
||||
def get_m3u8(self,urlTxt): |
|
||||
url = "https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid={0}".format(urlTxt) |
|
||||
html=self.webReadFile(urlStr=url,header=self.header) |
|
||||
jo =json.loads(html) |
|
||||
link = jo['hls_url'].strip() |
|
||||
html = self.webReadFile(urlStr=link,header=self.header) |
|
||||
content = html.strip() |
|
||||
arr = content.split('\n') |
|
||||
urlPrefix = self.get_RegexGetText(Text=link,RegexText='(http[s]?://[a-zA-z0-9.]+)/',Index=1) |
|
||||
subUrl = arr[-1].split('/') |
|
||||
subUrl[3] = '1200' |
|
||||
subUrl[-1] = '1200.m3u8' |
|
||||
hdUrl = urlPrefix + '/'.join(subUrl) |
|
||||
|
|
||||
url = urlPrefix + arr[-1] |
|
||||
|
|
||||
hdRsp = self.TestWebPage(urlStr=hdUrl,header=self.header) |
|
||||
if hdRsp == 200: |
|
||||
url = hdUrl |
|
||||
else: |
|
||||
url='' |
|
||||
return url |
|
||||
#搜索 |
|
||||
def get_list_search(self,html,tid): |
|
||||
jRoot = json.loads(html) |
|
||||
jsonList=jRoot['list'] |
|
||||
videos=[] |
|
||||
for vod in jsonList: |
|
||||
url = vod['urllink'] |
|
||||
title =self.removeHtml(txt=vod['title']) |
|
||||
img=vod['imglink'] |
|
||||
id=vod['id'] |
|
||||
brief=vod['channel'] |
|
||||
year=vod['uploadtime'] |
|
||||
if len(url) == 0: |
|
||||
continue |
|
||||
guid="{0}###{1}###{2}###{3}###{4}###{5}###{6}###{7}".format(tid,title,url,img,id,year,'',brief) |
|
||||
videos.append({ |
|
||||
"vod_id":guid, |
|
||||
"vod_name":title, |
|
||||
"vod_pic":img, |
|
||||
"vod_remarks":year |
|
||||
}) |
|
||||
return videos |
|
||||
return videos |
|
||||
def get_list1(self,html,tid): |
|
||||
jRoot = json.loads(html) |
|
||||
videos = [] |
|
||||
data=jRoot['response'] |
|
||||
if data is None: |
|
||||
return [] |
|
||||
jsonList=data['docs'] |
|
||||
for vod in jsonList: |
|
||||
id = vod['lastVIDE']['videoSharedCode'] |
|
||||
title =vod['column_name'] |
|
||||
url=vod['column_website'] |
|
||||
img=vod['column_logo'] |
|
||||
year=vod['column_playdate'] |
|
||||
brief=vod['column_brief'] |
|
||||
actors='' |
|
||||
if len(url) == 0: |
|
||||
continue |
|
||||
guid="{0}###{1}###{2}###{3}###{4}###{5}###{6}###{7}".format(tid,title,url,img,id,year,actors,brief) |
|
||||
#print(vod_id) |
|
||||
videos.append({ |
|
||||
"vod_id":guid, |
|
||||
"vod_name":title, |
|
||||
"vod_pic":img, |
|
||||
"vod_remarks":'' |
|
||||
}) |
|
||||
#print(videos) |
|
||||
return videos |
|
||||
#分类取结果 |
|
||||
def get_list(self,html,tid): |
|
||||
jRoot = json.loads(html) |
|
||||
videos = [] |
|
||||
data=jRoot['data'] |
|
||||
if data is None: |
|
||||
return [] |
|
||||
jsonList=data['list'] |
|
||||
for vod in jsonList: |
|
||||
url = vod['url'] |
|
||||
title =vod['title'] |
|
||||
img=vod['image'] |
|
||||
id=vod['id'] |
|
||||
try: |
|
||||
brief=vod['brief'] |
|
||||
except: |
|
||||
brief='' |
|
||||
try: |
|
||||
year=vod['year'] |
|
||||
except: |
|
||||
year='' |
|
||||
try: |
|
||||
actors=vod['actors'] |
|
||||
except: |
|
||||
actors='' |
|
||||
if len(url) == 0: |
|
||||
continue |
|
||||
guid="{0}###{1}###{2}###{3}###{4}###{5}###{6}###{7}".format(tid,title,url,img,id,year,actors,brief) |
|
||||
#print(vod_id) |
|
||||
videos.append({ |
|
||||
"vod_id":guid, |
|
||||
"vod_name":title, |
|
||||
"vod_pic":img, |
|
||||
"vod_remarks":'' |
|
||||
}) |
|
||||
return videos |
|
@ -1,285 +0,0 @@ |
|||||
#coding=utf-8 |
|
||||
#!/usr/bin/python |
|
||||
import sys |
|
||||
sys.path.append('..') |
|
||||
from base.spider import Spider |
|
||||
import re |
|
||||
from urllib import request, parse |
|
||||
import urllib |
|
||||
import urllib.request |
|
||||
import json |
|
||||
class Spider(Spider): # 元类 默认的元类 type |
|
||||
def getName(self): |
|
||||
return "卡通站(kt30)" |
|
||||
def init(self,extend=""): |
|
||||
pass |
|
||||
def isVideoFormat(self,url): |
|
||||
pass |
|
||||
def manualVideoCheck(self): |
|
||||
pass |
|
||||
def homeContent(self,filter): |
|
||||
result = {} |
|
||||
cateManual = { |
|
||||
"日本动漫": "r", |
|
||||
"国产动漫": "g", |
|
||||
"港台动漫": "gm", |
|
||||
"动画电影": "v", |
|
||||
"欧美动漫": "o" |
|
||||
} |
|
||||
classes = [] |
|
||||
for k in cateManual: |
|
||||
classes.append({ |
|
||||
'type_name': k, |
|
||||
'type_id': cateManual[k] |
|
||||
}) |
|
||||
|
|
||||
result['class'] = classes |
|
||||
if (filter): |
|
||||
result['filters'] = self.config['filter'] |
|
||||
return result |
|
||||
def homeVideoContent(self): |
|
||||
htmlTxt = self.webReadFile(urlStr="http://kt30.com/",header=self.header) |
|
||||
videos = self.get_list(html=htmlTxt,patternTxt=r'a class="stui-vodlist__thumb lazyload" href="(?P<url>.+?)" title="(?P<title>.+?)" data-original="(?P<img>.+?)".+?"><span class="play hidden-xs"></span><span class="pic-text text-right">(?P<renew>.+?)</span></a>') |
|
||||
result = { |
|
||||
'list': videos |
|
||||
} |
|
||||
return result |
|
||||
|
|
||||
def categoryContent(self,tid,pg,filter,extend): |
|
||||
result = {} |
|
||||
year='0'#年份 |
|
||||
types='0'#类型 |
|
||||
area='all'#地区 |
|
||||
url = 'http://kt30.com/{0}/index_{1}.html'.format(tid,pg) |
|
||||
htmlTxt=self.webReadFile(urlStr=url,header=self.header) |
|
||||
videos=[] |
|
||||
videos = self.get_list(html=htmlTxt,patternTxt=r'<a class="stui-vodlist__thumb lazyload" href="(?P<url>.+?)" title="(?P<title>.+?)" data-original="(?P<img>.+?)".+?"><span class="play hidden-xs"></span><span class="pic-text text-right">(?P<renew>.+?)</span></a>') |
|
||||
numvL = len(videos) |
|
||||
result['list'] = videos |
|
||||
result['page'] = pg |
|
||||
result['pagecount'] = pg if numvL<17 else 9999 |
|
||||
result['limit'] = numvL |
|
||||
result['total'] = numvL |
|
||||
return result |
|
||||
|
|
||||
def detailContent(self,array): |
|
||||
aid = array[0].split('###') |
|
||||
idUrl=aid[1] |
|
||||
title=aid[0] |
|
||||
pic=aid[2] |
|
||||
playFrom = [] |
|
||||
vodItems = [] |
|
||||
videoList=[] |
|
||||
htmlTxt = self.webReadFile(urlStr=idUrl,header=self.header) |
|
||||
if len(htmlTxt)<5: |
|
||||
return {'list': []} |
|
||||
line=self.get_RegexGetTextLine(Text=htmlTxt,RegexText=r'</span><h3 class="title">(.+?)</h3></div>',Index=1) |
|
||||
playFrom=[self.removeHtml(txt=vod) for vod in line] |
|
||||
|
|
||||
if len(line)<1: |
|
||||
return {'list': []} |
|
||||
circuit=self.get_lineList(Txt=htmlTxt,mark='<ul class="stui-content__playlist',after='</ul>') |
|
||||
# print(circuit[0]) |
|
||||
# return |
|
||||
for vod in circuit: |
|
||||
vodItems = self.get_EpisodesList(html=vod,RegexText=r'<a href="(?P<url>.+?)">(?P<title>.+?)</a>') |
|
||||
joinStr = "#".join(vodItems) |
|
||||
videoList.append(joinStr) |
|
||||
|
|
||||
temporary=self.get_RegexGetTextLine(Text=htmlTxt,RegexText=r'<a href="/vodsearch/----%|\w+?---------.html" target="_blank">(.+?)</a>',Index=1) |
|
||||
typeName="/".join(temporary) |
|
||||
year=self.get_RegexGetText(Text=htmlTxt,RegexText=r'<a href="/vodsearch/-------------\d{4}.html" target="_blank">(\d{4})</a>',Index=1) |
|
||||
temporary=self.get_RegexGetTextLine(Text=htmlTxt,RegexText=r'<a href="/vodsearch/-.+?------------.html" target="_blank">(.+?)</a>',Index=1) |
|
||||
act="/".join(temporary) |
|
||||
temporary=self.get_RegexGetTextLine(Text=htmlTxt,RegexText=r'<a href="/vodsearch/-----%+?|\w+?--------.html" target="_blank">(.+?)</a>',Index=1) |
|
||||
dir="/".join(temporary) |
|
||||
area=self.get_RegexGetText(Text=htmlTxt,RegexText=r'地区:</b>(.*?)<b>',Index=1) |
|
||||
|
|
||||
#area=self.get_RegexGetText(Text=htmlTxt,RegexText=r'>语言:\s{0,4}(.*?)</p>',Index=1) |
|
||||
cont=self.get_RegexGetText(Text=htmlTxt,RegexText=r'简介:(.+?)<a href="#desc">详情',Index=1) |
|
||||
|
|
||||
|
|
||||
vod = { |
|
||||
"vod_id": array[0], |
|
||||
"vod_name": title, |
|
||||
"vod_pic": pic, |
|
||||
"type_name": self.removeHtml(txt=typeName), |
|
||||
"vod_year": year, |
|
||||
"vod_area": self.removeHtml(txt=area), |
|
||||
"vod_remarks": "", |
|
||||
"vod_actor": self.removeHtml(txt=act), |
|
||||
"vod_director": self.removeHtml(txt=dir), |
|
||||
"vod_content": self.removeHtml(txt=cont) |
|
||||
} |
|
||||
vod['vod_play_from'] = '$$$'.join(playFrom) |
|
||||
vod['vod_play_url'] = "$$$".join(videoList) |
|
||||
|
|
||||
result = { |
|
||||
'list': [ |
|
||||
vod |
|
||||
] |
|
||||
} |
|
||||
return result |
|
||||
|
|
||||
def verifyCode(self): |
|
||||
pass |
|
||||
|
|
||||
def searchContent(self,key,quick): |
|
||||
Url='http://kt30.com/vodsearch/-------------.html?wd={0}'.format(urllib.parse.quote(key)) |
|
||||
htmlTxt = self.webReadFile(urlStr=Url,header=self.header) |
|
||||
videos = self.get_list(html=htmlTxt,patternTxt=r'<a class="v-thumb stui-vodlist__thumb lazyload" href="(?P<url>.+?)" title="(?P<title>.+?)" data-original="(?P<img>.+?)".+?</span><span class="pic-text text-right">(?P<renew>.+?)</span></a>') |
|
||||
result = { |
|
||||
'list': videos |
|
||||
} |
|
||||
return result |
|
||||
|
|
||||
def playerContent(self,flag,id,vipFlags): |
|
||||
result = {} |
|
||||
parse=1 |
|
||||
jx=0 |
|
||||
url=id |
|
||||
htmlTxt=self.webReadFile(urlStr=url,header=self.header) |
|
||||
temporary=self.get_lineList(Txt=htmlTxt,mark=r'var player_aaaa=',after='</script>') |
|
||||
|
|
||||
if len(temporary)>0: |
|
||||
jRoot=json.loads(temporary[0][16:]) |
|
||||
url=jRoot['url'] |
|
||||
if len(url)<5: |
|
||||
url=id |
|
||||
else: |
|
||||
parse=0 |
|
||||
result["parse"] = parse#1=嗅探,0=播放 |
|
||||
result["playUrl"] = '' |
|
||||
result["url"] = url |
|
||||
result['jx'] = jx#1=VIP解析,0=不解析 |
|
||||
result["header"] = '' |
|
||||
return result |
|
||||
config = { |
|
||||
"player": {}, |
|
||||
"filter": {} |
|
||||
} |
|
||||
header = { |
|
||||
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36", |
|
||||
'Host': 'kt30.com', |
|
||||
"Referer": "http://kt30.com/" |
|
||||
} |
|
||||
|
|
||||
def localProxy(self,param): |
|
||||
return [200, "video/MP2T", action, ""] |
|
||||
#-----------------------------------------------自定义函数----------------------------------------------- |
|
||||
#访问网页 |
|
||||
def webReadFile(self,urlStr,header): |
|
||||
html='' |
|
||||
req=urllib.request.Request(url=urlStr,headers=header)#,headers=header |
|
||||
with urllib.request.urlopen(req) as response: |
|
||||
html = response.read().decode('utf-8') |
|
||||
return html |
|
||||
#正则取文本 |
|
||||
def get_RegexGetText(self,Text,RegexText,Index): |
|
||||
returnTxt="" |
|
||||
Regex=re.search(RegexText, Text, re.M|re.S) |
|
||||
if Regex is None: |
|
||||
returnTxt="" |
|
||||
else: |
|
||||
returnTxt=Regex.group(Index) |
|
||||
return returnTxt |
|
||||
#取集数 |
|
||||
def get_EpisodesList(self,html,RegexText): |
|
||||
ListRe=re.finditer(RegexText, html, re.M|re.S) |
|
||||
videos = [] |
|
||||
for vod in ListRe: |
|
||||
url = vod.group('url') |
|
||||
title =vod.group('title') |
|
||||
if len(url) == 0: |
|
||||
continue |
|
||||
if url.find('http:') <0: |
|
||||
url='http://kt30.com'+url |
|
||||
videos.append(title+"$"+url) |
|
||||
return videos |
|
||||
#取剧集区 |
|
||||
def get_lineList(self,Txt,mark,after): |
|
||||
circuit=[] |
|
||||
origin=Txt.find(mark) |
|
||||
|
|
||||
while origin>8: |
|
||||
end=Txt.find(after,origin) |
|
||||
circuit.append(Txt[origin:end]) |
|
||||
origin=Txt.find(mark,end) |
|
||||
return circuit |
|
||||
#正则取文本,返回数组 |
|
||||
def get_RegexGetTextLine(self,Text,RegexText,Index): |
|
||||
returnTxt=[] |
|
||||
ListRe=istRe=re.finditer(RegexText, Text, re.M|re.S) |
|
||||
for value in ListRe: |
|
||||
t=value.group(Index) |
|
||||
if t==None: |
|
||||
continue |
|
||||
returnTxt.append(t) |
|
||||
return returnTxt |
|
||||
#分类取结果 |
|
||||
def get_list(self,html,patternTxt): |
|
||||
ListRe=re.finditer(patternTxt, html, re.M|re.S) |
|
||||
videos = [] |
|
||||
head="http://kt30.com" |
|
||||
for vod in ListRe: |
|
||||
url = vod.group('url') |
|
||||
title =self.removeHtml(txt=vod.group('title')) |
|
||||
img =vod.group('img') |
|
||||
renew=vod.group('renew') |
|
||||
if len(url) == 0: |
|
||||
continue |
|
||||
if len(img)<5: |
|
||||
img='https://agit.ai/lanhaidixingren/Tvbox/raw/branch/master/CoverError.png' |
|
||||
if self.get_RegexGetText(Text=img,RegexText='(https{0,1}:)',Index=1)=='': |
|
||||
img=head+img |
|
||||
# print(title) |
|
||||
videos.append({ |
|
||||
"vod_id":"{0}###{1}###{2}".format(title,head+url,img), |
|
||||
"vod_name":title, |
|
||||
"vod_pic":img, |
|
||||
"vod_remarks":renew |
|
||||
}) |
|
||||
return videos |
|
||||
#删除html标签 |
|
||||
def removeHtml(self,txt): |
|
||||
soup = re.compile(r'<[^>]+>',re.S) |
|
||||
txt =soup.sub('', txt) |
|
||||
return txt.replace(" "," ") |
|
||||
#番剧 |
|
||||
def get_list_fanju(self,html): |
|
||||
ListRe=re.finditer('class="jtxqj"><a href="(?P<url>.+?)" title="(?P<title>.+?)" target="_self">(?P<renew>.+?)</a>', html, re.M|re.S) |
|
||||
videos = [] |
|
||||
head="http://ktkkt8.com" |
|
||||
img='https://agit.ai/lanhaidixingren/Tvbox/raw/branch/master/%E5%B0%81%E9%9D%A2.jpeg' |
|
||||
for vod in ListRe: |
|
||||
url = vod.group('url') |
|
||||
title =self.removeHtml(txt=vod.group('title')) |
|
||||
renew=vod.group('renew') |
|
||||
if len(url) == 0: |
|
||||
continue |
|
||||
videos.append({ |
|
||||
"vod_id":"{0}###{1}###{2}".format(title,head+url,img), |
|
||||
"vod_name":title, |
|
||||
"vod_pic":img, |
|
||||
"vod_remarks":renew |
|
||||
}) |
|
||||
return videos |
|
||||
|
|
||||
# T=Spider() |
|
||||
# l=T.homeVideoContent() |
|
||||
# l=T.searchContent(key='柯南',quick='') |
|
||||
# l=T.categoryContent(tid='r',pg='1',filter=False,extend={}) |
|
||||
# for x in l['list']: |
|
||||
# print(x['vod_id']) |
|
||||
# mubiao= l['list'][1]['vod_id'] |
|
||||
# playTabulation=T.detailContent(array=[mubiao,]) |
|
||||
# # print(playTabulation) |
|
||||
# vod_play_from=playTabulation['list'][0]['vod_play_from'] |
|
||||
# vod_play_url=playTabulation['list'][0]['vod_play_url'] |
|
||||
# url=vod_play_url.split('$$$') |
|
||||
# vod_play_from=vod_play_from.split('$$$')[0] |
|
||||
# url=url[0].split('$') |
|
||||
# url=url[1].split('#')[0] |
|
||||
# print(url) |
|
||||
# m3u8=T.playerContent(flag=vod_play_from,id=url,vipFlags=True) |
|
||||
# print(m3u8) |
|
@ -1,298 +0,0 @@ |
|||||
#coding=utf-8 |
|
||||
#!/usr/bin/python |
|
||||
import sys |
|
||||
sys.path.append('..') |
|
||||
from base.spider import Spider |
|
||||
import json |
|
||||
import time |
|
||||
import base64 |
|
||||
import re |
|
||||
from urllib import request, parse |
|
||||
import urllib |
|
||||
import urllib.request |
|
||||
import time |
|
||||
|
|
||||
|
|
||||
class Spider(Spider): # 元类 默认的元类 type |
|
||||
def getName(self): |
|
||||
return "樱花动漫6"#6才是本体 |
|
||||
def init(self,extend=""): |
|
||||
print("============{0}============".format(extend)) |
|
||||
pass |
|
||||
def isVideoFormat(self,url): |
|
||||
pass |
|
||||
def manualVideoCheck(self): |
|
||||
pass |
|
||||
def homeContent(self,filter): |
|
||||
result = {} |
|
||||
cateManual = { |
|
||||
"日本动漫":"1", |
|
||||
"国产动漫":"4", |
|
||||
"动漫电影":"2", |
|
||||
"欧美动漫":"3" |
|
||||
} |
|
||||
classes = [] |
|
||||
for k in cateManual: |
|
||||
classes.append({ |
|
||||
'type_name':k, |
|
||||
'type_id':cateManual[k] |
|
||||
}) |
|
||||
result['class'] = classes |
|
||||
if(filter): |
|
||||
result['filters'] = self.config['filter'] |
|
||||
return result |
|
||||
def homeVideoContent(self): |
|
||||
htmlTxt=self.custom_webReadFile(urlStr='https://yhdm6.top/') |
|
||||
videos = self.custom_list(html=htmlTxt,patternTxt=r'<a class="vodlist_thumb lazyload" href="(?P<url>.+?)" title="(?P<title>.+?)" data-original="(?P<img>.+?)".+?><span class=".*?<span class="pic_text text_right">(?P<renew>.+?)</span></a>') |
|
||||
result = { |
|
||||
'list':videos |
|
||||
} |
|
||||
return result |
|
||||
def categoryContent(self,tid,pg,filter,extend): |
|
||||
result = {} |
|
||||
videos=[] |
|
||||
types="" |
|
||||
if 'types' in extend.keys(): |
|
||||
if extend['types'].find('全部')<0: |
|
||||
types='class/{0}/'.format(urllib.parse.quote(extend['types'])) |
|
||||
letter='' |
|
||||
if 'letter' in extend.keys(): |
|
||||
if extend['letter'].find('全部')<0: |
|
||||
letter='letter/{0}/'.format(extend['letter']) |
|
||||
year='' |
|
||||
if 'year' in extend.keys(): |
|
||||
if extend['year'].find('全部')<0: |
|
||||
year='/year/{0}'.format(extend['year']) |
|
||||
by='' |
|
||||
if 'by' in extend.keys(): |
|
||||
by='by/{0}/'.format(extend['by']) |
|
||||
Url='https://yhdm6.top/index.php/vod/show/{2}{3}id/{0}/{5}{1}{4}.html'.format(tid,'page/'+pg,by,types,year,letter) |
|
||||
# print(url) |
|
||||
#https://yhdm6.top/index.php/vod/show/by/score/class/%E7%A7%91%E5%B9%BB/id/3/letter/W/year/2022.html |
|
||||
htmlTxt=self.custom_webReadFile(urlStr=Url) |
|
||||
videos = self.custom_list(html=htmlTxt,patternTxt=r'<a class="vodlist_thumb lazyload" href="(?P<url>.+?)" title="(?P<title>.+?)" data-original="(?P<img>.+?)"><span class="play hidden_xs"></span><span class="pic_text text_right">(?P<renew>.+?)</span></a>') |
|
||||
result['list'] = videos |
|
||||
result['page'] = pg |
|
||||
result['pagecount'] = pg if len(videos)<60 else int(pg)+1 |
|
||||
result['limit'] = 90 |
|
||||
result['total'] = 999999 |
|
||||
return result |
|
||||
def detailContent(self,array): |
|
||||
aid = array[0].split('###') |
|
||||
idUrl=aid[1] |
|
||||
title=aid[0] |
|
||||
pic=aid[2] |
|
||||
url=idUrl |
|
||||
htmlTxt = self.custom_webReadFile(urlStr=url,codeName='utf-8') |
|
||||
|
|
||||
|
|
||||
line=self.custom_RegexGetTextLine(Text=htmlTxt,RegexText=r'<a href="javascript:void\(0\);" alt="(.+?)">',Index=1) |
|
||||
if len(line)<1: |
|
||||
return {'list': []} |
|
||||
playFrom = [] |
|
||||
videoList=[] |
|
||||
vodItems = [] |
|
||||
circuit=self.custom_lineList(Txt=htmlTxt,mark=r'<ul class="content_playlist',after='</ul>') |
|
||||
playFrom=line |
|
||||
for v in circuit: |
|
||||
vodItems = self.custom_EpisodesList(html=v,RegexText=r'<li><a href="(?P<url>.+?)">(?P<title>.+?)</a></li>') |
|
||||
joinStr = "#".join(vodItems) |
|
||||
videoList.append(joinStr) |
|
||||
|
|
||||
vod_play_from='$$$'.join(playFrom) |
|
||||
vod_play_url = "$$$".join(videoList) |
|
||||
|
|
||||
typeName=self.custom_RegexGetText(Text=htmlTxt,RegexText=r'<a href="/index.php/vod/search/class/.+?" target="_blank">(.+?)</a>',Index=1) |
|
||||
year=self.custom_RegexGetText(Text=htmlTxt,RegexText=r'<a href="/index.php/vod/search/year/\d{4}.html" target="_blank">(\d{4})</a>',Index=1) |
|
||||
area=typeName |
|
||||
act=self.custom_RegexGetText(Text=htmlTxt,RegexText=r'<a href="/index.php/vod/search/actor/.+?.html" target="_blank">(.+?)</a>',Index=1) |
|
||||
temporary=self.custom_RegexGetTextLine(Text=htmlTxt,RegexText=r'<a href="/index.php/vod/search/director/.+?.html" target="_blank">(.+?)</a>',Index=1) |
|
||||
dir='/'.join(temporary) |
|
||||
cont=self.custom_RegexGetText(Text=htmlTxt,RegexText=r'剧情介绍</h2>(.+?)</span>',Index=1) |
|
||||
vod = { |
|
||||
"vod_id": array[0], |
|
||||
"vod_name": title, |
|
||||
"vod_pic": pic, |
|
||||
"type_name":self.custom_removeHtml(txt=typeName), |
|
||||
"vod_year": self.custom_removeHtml(txt=year), |
|
||||
"vod_area": area, |
|
||||
"vod_remarks": '', |
|
||||
"vod_actor": self.custom_removeHtml(txt=act), |
|
||||
"vod_director": self.custom_removeHtml(txt=dir), |
|
||||
"vod_content": self.custom_removeHtml(txt=cont) |
|
||||
} |
|
||||
vod['vod_play_from'] = vod_play_from |
|
||||
vod['vod_play_url'] = vod_play_url |
|
||||
|
|
||||
result = { |
|
||||
'list': [ |
|
||||
vod |
|
||||
] |
|
||||
} |
|
||||
return result |
|
||||
def searchContent(self,key,quick): |
|
||||
url='https://yhdm6.top/index.php/vod/search.html?wd={0}&submit='.format(urllib.parse.quote(key)) |
|
||||
htmlTxt=self.custom_webReadFile(urlStr=url) |
|
||||
videos = self.custom_list(html=htmlTxt,patternTxt=r'<a class="vodlist_thumb lazyload" href="(?P<url>.+?)" title="(?P<title>.+?)" data-original="(?P<img>.+?)".+?><span class=".*?<span class="pic_text text_right">(?P<renew>.+?)</span></a>') |
|
||||
result = { |
|
||||
'list':videos |
|
||||
} |
|
||||
return result |
|
||||
def playerContent(self,flag,id,vipFlags): |
|
||||
result = {} |
|
||||
Url=id |
|
||||
htmlTxt =self.custom_webReadFile(urlStr=Url,codeName='utf-8') |
|
||||
parse=0 |
|
||||
UrlStr='' |
|
||||
temporary=self.custom_lineList(Txt=htmlTxt,mark=r'var player_aaaa=',after=r'}</script>') |
|
||||
if len(temporary)==1: |
|
||||
jo=json.loads(temporary[0][16:]+"}") |
|
||||
UrlStr=urllib.parse.unquote(jo['url']) |
|
||||
if UrlStr.find('.m3u8')<2: |
|
||||
Url=id |
|
||||
parse=1 |
|
||||
else: |
|
||||
Url=UrlStr |
|
||||
result["parse"] = parse#0=直接播放、1=嗅探 |
|
||||
result["playUrl"] ='' |
|
||||
result["url"] = Url |
|
||||
# result['jx'] = jx#VIP解析,0=不解析、1=解析 |
|
||||
result["header"] = '' |
|
||||
return result |
|
||||
|
|
||||
|
|
||||
config = { |
|
||||
"player": {}, |
|
||||
"filter": { |
|
||||
"1":[ |
|
||||
{"key":"types","name":"类型:","value":[{"n":"全部","v":"全部"},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"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":"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"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}, |
|
||||
{"key":"letter","name":"字母:","value":[{"n":"全部","v":"全部"},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]}, |
|
||||
{"key":"by","name":"排序:","value":[{"n":"按最新","v":"time"},{"n":"按最热","v":"按最热"},{"n":"按评分","v":"按评分"}]} |
|
||||
], |
|
||||
"4":[ |
|
||||
{"key":"types","name":"类型:","value":[{"n":"全部","v":"全部"},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"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":"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"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}, |
|
||||
{"key":"letter","name":"字母:","value":[{"n":"全部","v":"全部"},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]}, |
|
||||
{"key":"by","name":"排序:","value":[{"n":"按最新","v":"time"},{"n":"按最热","v":"hits"},{"n":"按评分","v":"score"}]} |
|
||||
], |
|
||||
"2":[ |
|
||||
{"key":"types","name":"类型:","value":[{"n":"全部","v":"全部"},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"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":"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"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}, |
|
||||
{"key":"letter","name":"字母:","value":[{"n":"全部","v":"全部"},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]}, |
|
||||
{"key":"by","name":"排序:","value":[{"n":"按最新","v":"time"},{"n":"按最热","v":"hits"},{"n":"按评分","v":"score"}]} |
|
||||
], |
|
||||
"3":[ |
|
||||
{"key":"types","name":"类型:","value":[{"n":"全部","v":"全部"},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"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":"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"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}, |
|
||||
{"key":"letter","name":"字母:","value":[{"n":"全部","v":"全部"},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]}, |
|
||||
{"key":"by","name":"排序:","value":[{"n":"按最新","v":"time"},{"n":"按最热","v":"hits"},{"n":"按评分","v":"score"}]} |
|
||||
] |
|
||||
} |
|
||||
} |
|
||||
header = { |
|
||||
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36' |
|
||||
} |
|
||||
def localProxy(self,param): |
|
||||
return [200, "video/MP2T", action, ""] |
|
||||
#-----------------------------------------------自定义函数----------------------------------------------- |
|
||||
#正则取文本 |
|
||||
def custom_RegexGetText(self,Text,RegexText,Index): |
|
||||
returnTxt="" |
|
||||
Regex=re.search(RegexText, Text, re.M|re.S) |
|
||||
if Regex is None: |
|
||||
returnTxt="" |
|
||||
else: |
|
||||
returnTxt=Regex.group(Index) |
|
||||
return returnTxt |
|
||||
#分类取结果 |
|
||||
def custom_list(self,html,patternTxt): |
|
||||
ListRe=re.finditer(patternTxt, html, re.M|re.S) |
|
||||
videos = [] |
|
||||
head="https://yhdm6.top" |
|
||||
for vod in ListRe: |
|
||||
url = vod.group('url') |
|
||||
title =self.custom_removeHtml(txt=vod.group('title')) |
|
||||
img =vod.group('img') |
|
||||
renew=vod.group('renew') |
|
||||
if len(url) == 0: |
|
||||
continue |
|
||||
# print(renew) |
|
||||
videos.append({ |
|
||||
"vod_id":"{0}###{1}###{2}".format(title,head+url,img), |
|
||||
"vod_name":title, |
|
||||
"vod_pic":img, |
|
||||
"vod_remarks":renew |
|
||||
}) |
|
||||
return videos |
|
||||
#删除html标签 |
|
||||
def custom_removeHtml(self,txt): |
|
||||
soup = re.compile(r'<[^>]+>',re.S) |
|
||||
txt =soup.sub('', txt) |
|
||||
return txt.replace(" "," ") |
|
||||
#访问网页 |
|
||||
def custom_webReadFile(self,urlStr,header=None,codeName='utf-8'): |
|
||||
html='' |
|
||||
if header==None: |
|
||||
header={ |
|
||||
"Referer":urlStr, |
|
||||
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36', |
|
||||
"Host":self.custom_RegexGetText(Text=urlStr,RegexText='https*://(.*?)(/|$)',Index=1) |
|
||||
} |
|
||||
# import ssl |
|
||||
# ssl._create_default_https_context = ssl._create_unverified_context#全局取消证书验证 |
|
||||
req=urllib.request.Request(url=urlStr,headers=header)#,headers=header |
|
||||
with urllib.request.urlopen(req) as response: |
|
||||
html = response.read().decode(codeName) |
|
||||
return html |
|
||||
#判断是否要调用vip解析 |
|
||||
def ifJx(self,urlTxt): |
|
||||
Isjiexi=0 |
|
||||
RegexTxt=r'(youku.com|v.qq|bilibili|iqiyi.com)' |
|
||||
if self.get_RegexGetText(Text=urlTxt,RegexText=RegexTxt,Index=1)!='': |
|
||||
Isjiexi=1 |
|
||||
return Isjiexi |
|
||||
#取集数 |
|
||||
def custom_EpisodesList(self,html,RegexText): |
|
||||
ListRe=re.finditer(RegexText, html, re.M|re.S) |
|
||||
videos = [] |
|
||||
head="https://yhdm6.top" |
|
||||
for vod in ListRe: |
|
||||
url = vod.group('url') |
|
||||
title =vod.group('title') |
|
||||
if len(url) == 0: |
|
||||
continue |
|
||||
videos.append(title+"$"+head+url) |
|
||||
return videos |
|
||||
#取剧集区 |
|
||||
def custom_lineList(self,Txt,mark,after): |
|
||||
circuit=[] |
|
||||
origin=Txt.find(mark) |
|
||||
while origin>8: |
|
||||
end=Txt.find(after,origin) |
|
||||
circuit.append(Txt[origin:end]) |
|
||||
origin=Txt.find(mark,end) |
|
||||
return circuit |
|
||||
#正则取文本,返回数组 |
|
||||
def custom_RegexGetTextLine(self,Text,RegexText,Index): |
|
||||
returnTxt=[] |
|
||||
pattern = re.compile(RegexText, re.M|re.S) |
|
||||
ListRe=pattern.findall(Text) |
|
||||
if len(ListRe)<1: |
|
||||
return returnTxt |
|
||||
for value in ListRe: |
|
||||
returnTxt.append(value) |
|
||||
return returnTxt |
|
||||
# T=Spider() |
|
||||
# l=T.searchContent(key='柯南',quick='') |
|
||||
# l=T.homeVideoContent() |
|
||||
# extend={'types':'科幻',"by":"score"} |
|
||||
# l=T.categoryContent(tid='1',pg='1',filter=False,extend={}) |
|
||||
# for x in l['list']: |
|
||||
# print(x['vod_name']) |
|
||||
# mubiao= '机动警察###https://yhdm6.top/index.php/vod/detail/id/18293.html###https://pic.lzzypic.com/upload/vod/20230825-1/c4b3a6eb89c83879b81e5aa996d5e212.jpg' |
|
||||
# playTabulation=T.detailContent(array=[mubiao,]) |
|
||||
# print(playTabulation) |
|
||||
# m3u8=T.playerContent(flag='',id='https://yhdm6.top/index.php/vod/play/id/18293/sid/1/nid/6.html',vipFlags=True) |
|
||||
# print(m3u8) |
|
||||
# print(T.config['filter']) |
|
@ -1,401 +0,0 @@ |
|||||
综合,#genre# |
|
||||
CCTV13新闻,https://live-play.cctvnews.cctv.com/cctv/merge_cctv13.m3u8 |
|
||||
浙江卫视,http://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8 |
|
||||
CCTV1,mitv://generationnexxxt.com:19806/f1e3bc8a344e49dab603272c8fd2641e |
|
||||
CCTV2,mitv://generationnexxxt.com:19806/ce08ee69cea5402c99bf285704eac3e5 |
|
||||
CCTV3,mitv://generationnexxxt.com:19806/784f6703531044be9cee14b793948d30 |
|
||||
CCTV4,mitv://generationnexxxt.com:19806/50c3e18e04bf478db59251455cf3d309 |
|
||||
CCTV5,mitv://generationnexxxt.com:19806/7d00bdeddb6c422796e62ae9e8b9398d |
|
||||
CCTV5+,mitv://generationnexxxt.com:19806/5b390808c064415fa55fa30feb8788ff |
|
||||
CCTV6,mitv://generationnexxxt.com:19806/3ec70c48b2024e4f9210169aec2914c7 |
|
||||
CCTV7,mitv://generationnexxxt.com:19806/e70ef03e57794075962ec3960df5b167 |
|
||||
CCTV8,mitv://generationnexxxt.com:19806/7c422f17b94c47928316bba288c64a25 |
|
||||
CCTV9,mitv://generationnexxxt.com:19806/1d25488429514e78ab4d100819bece3e |
|
||||
CCTV10,mitv://generationnexxxt.com:19806/db6e0eae415d4d3c80389e51f8aac382 |
|
||||
CCTV11,mitv://generationnexxxt.com:19806/aed547d30ca64a089f9b9adad8d9ee91 |
|
||||
CCTV12,mitv://generationnexxxt.com:19806/70a7e5f93ab14d978706c237fe142277 |
|
||||
CCTV13,mitv://generationnexxxt.com:19806/89e640d10d2646d3b7580c9bd85e9565 |
|
||||
CCTV14,mitv://generationnexxxt.com:19806/5ce5a7ff03b541cc8ef405312b4fec09 |
|
||||
CCTV15,mitv://generationnexxxt.com:19806/8914df6967f546eb8cf20ea35946ad8d |
|
||||
北京卫视,mitv://generationnexxxt.com:19806/8d7d0547db754c32bca6011693893b40 |
|
||||
天津卫视,mitv://generationnexxxt.com:19806/0d7fa1ec8c4348e29bc3f09a38ae3691 |
|
||||
河北卫视,mitv://generationnexxxt.com:19806/f0390f4cc1fa4b9991338bc6426deb17 |
|
||||
黑龙江卫视,mitv://generationnexxxt.com:19806/2f690600a9454710b15b0e90853268c3 |
|
||||
辽宁卫视,mitv://generationnexxxt.com:19806/4b1903b35f804f1180a4b346efbabfc9 |
|
||||
东方卫视,mitv://generationnexxxt.com:19806/10521db17e054dbeba85448ac091ae64 |
|
||||
江苏卫视,mitv://generationnexxxt.com:19806/13f3f27751184d95902e5c588264551e |
|
||||
浙江卫视,mitv://generationnexxxt.com:19806/7bf4b3a65eaf421ab6d71bd8dcc4547a |
|
||||
江西卫视,mitv://generationnexxxt.com:19806/d3548b106a7d45b4972427c3a75135ab |
|
||||
山东卫视,mitv://generationnexxxt.com:19806/be77ccef4df042ab909e0a2586844431 |
|
||||
东南卫视,mitv://generationnexxxt.com:19806/00aae4669ca24ddabf43997323ceef8e |
|
||||
湖北卫视,mitv://generationnexxxt.com:19806/7553b94400ac4d85b752579acb37c0ce |
|
||||
湖南卫视,mitv://generationnexxxt.com:19806/45dc7947c5574ebfb0e68e5d0a537ed0 |
|
||||
深圳卫视,mitv://generationnexxxt.com:19806/b8c8ef10f65649c9a43388d771203f61 |
|
||||
广东卫视,mitv://generationnexxxt.com:19806/cf7073fbb4c5490a86aca002247700f9 |
|
||||
广西卫视,mitv://generationnexxxt.com:19806/eb435193f43d4c8ca09c9ce477d4d7b9 |
|
||||
重庆卫视,mitv://generationnexxxt.com:19806/c173700eaecc412695b37ac062b6abac |
|
||||
云南卫视,mitv://generationnexxxt.com:19806/9203ba029385410793e3f2b7bffb3335 |
|
||||
星空卫视,mitv://generationnexxxt.com:19806/0b87528420394614b1016123ff4fda4c |
|
||||
大湾区卫视,mitv://generationnexxxt.com:19806/587bc565d5a4413987fdce380a48a332 |
|
||||
珠江台,mitv://generationnexxxt.com:19806/a050c8e736174de681b13b8ebd2ce3c4 |
|
||||
动漫秀场,mitv://generationnexxxt.com:19806/b04bd3e03b1747aab44579ca81c664c8 |
|
||||
魅力足球,mitv://generationnexxxt.com:19806/ca7a1a18635e453a9a77e5fd5d425e89 |
|
||||
五星体育,mitv://generationnexxxt.com:19806/d75057c993f84e7c86f94e8f1e56ad24 |
|
||||
广东体育,mitv://generationnexxxt.com:19806/bb744a1252da46a6a2ae5546f4da7c72 |
|
||||
私人影院,mitv://generationnexxxt.com:19806/3cfadd5e9af14d6db652b3c23acd7a7d |
|
||||
CHC动作电影,mitv://generationnexxxt.com:19806/1b4ebad47ed94c6291646a4a5d1ff3b6 |
|
||||
广东影视,mitv://generationnexxxt.com:19806/f2dbc62d3b0b4af3ac2420174eadf202 |
|
||||
CHC高清电影,mitv://generationnexxxt.com:19806/02385419696a411db959037c2190cf11 |
|
||||
CHC家庭影院,mitv://generationnexxxt.com:19806/28fb3856055c452db8f17441c99f21cf |
|
||||
|
|
||||
|
|
||||
港台电视31,mitv://generationnexxxt.com:19806/e4b56cb972e940ee8be694602294d242 |
|
||||
港台电视32,mitv://generationnexxxt.com:19806/9c0a161f9c59476584fe4d8effc125b6 |
|
||||
HOY TV,mitv://generationnexxxt.com:19806/10c18372b612479086c1f259245543ff |
|
||||
翡翠台(备),mitv://147.135.39.171:9906/657c8f940005cf8fa955b96f23e11195 |
|
||||
J2,mitv://generationnexxxt.com:19806/6a623cf5c0bc4c96b8fd45a47af4a872 |
|
||||
无线新闻台(备),mitv://147.135.39.171:9906/657c8f940000cdb0a955b82762a73640 |
|
||||
无线新闻台,mitv://147.135.39.171:9906/657c8f93000dad85a955b78b7a3a4c4f |
|
||||
无线财经体育资讯台,mitv://generationnexxxt.com:19806/8bcc654c89f74ebdb4e82062ef5f998c |
|
||||
ViuTVsix,mitv://generationnexxxt.com:19806/ba99e7a39d9c4e74bacc5de14f58dcf6 |
|
||||
ViuTV,mitv://generationnexxxt.com:19806/976916e8baee45a89d5e023224f7ab2b |
|
||||
凤凰中文台,mitv://generationnexxxt.com:19806/64e1ab2a000417167359b3ca0417008f |
|
||||
凤凰资讯台,mitv://generationnexxxt.com:19806/6684e9f6606f49fba9b6de846dbdcb64 |
|
||||
凤凰香港台,mitv://generationnexxxt.com:19806/8e396c3ec52f4eee9e5b7868042b1bf2 |
|
||||
TVB星河(粤),mitv://generationnexxxt.com:19806/0c08d9d705a747908c23ba652726d777 |
|
||||
澳门-MACAU,mitv://generationnexxxt.com:19806/f9ba8df6f9ed45789e882211735e6414 |
|
||||
澳门莲花,mitv://generationnexxxt.com:19806/4c56fbe4e68541a9a759fa269574f98b |
|
||||
now新闻台,mitv://generationnexxxt.com:19806/d7a5bbf5664945cc8589b36b8434d68d |
|
||||
HKC 18,mitv://generationnexxxt.com:19806/140377dc9e0848678d614d451d69af9e |
|
||||
戏曲台,mitv://generationnexxxt.com:19806/4c3b3c3a6c8849c3aa0fc9938859e134 |
|
||||
TVB娱乐新闻台,mitv://generationnexxxt.com:19806/46bb3afe133d4cd8ac4b195c7f5f428c |
|
||||
翡翠台,mitv://147.135.39.171:9906/657c8f9400023bf0a955b8853ca47814 |
|
||||
千禧经典台,mitv://generationnexxxt.com:19806/1a5b04c67ece47bb87aa482e2c73138a |
|
||||
Thrill,mitv://generationnexxxt.com:19806/1c3c73215afd42558101c3ee65737202 |
|
||||
明珠台,mitv://generationnexxxt.com:19806/9993262cc067418a983f0c7ec18adef9 |
|
||||
香港国际财经台,mitv://generationnexxxt.com:19806/6aa47af091b54d618d1513b1bc23b0b9 |
|
||||
18台,mitv://generationnexxxt.com:19806/8bf8f53c61944785b13817297101af20 |
|
||||
now财经台,mitv://generationnexxxt.com:19806/88f95058c046453a973e2540701ccb4e |
|
||||
美亚电影台(粤语),mitv://generationnexxxt.com:19806/ee16565eb5fe46be8d22cbbde1fa9fae |
|
||||
Hands Up,mitv://generationnexxxt.com:19806/7a79a82b627a417f897895b4adf874aa |
|
||||
粤语片台,mitv://generationnexxxt.com:19806/3a44c9c92439443494b8ecff6fdb2336 |
|
||||
亚洲剧台,mitv://generationnexxxt.com:19806/ee081a662356489d8b2170952ec91d24 |
|
||||
功夫台,mitv://generationnexxxt.com:19806/ef6373344abf4bedae4d49ac953c1742 |
|
||||
HOY资讯台,mitv://generationnexxxt.com:19806/eb5a565eb80d40509f0a248018dfd337 |
|
||||
黄金翡翠台,mitv://generationnexxxt.com:19806/864714d6ebe847edaa948e9104107f12 |
|
||||
|
|
||||
小地方,#genre# |
|
||||
义乌新闻综合,https://44911.hlsplay.aodianyun.com/tv_radio_44911/tv_channel_1796.m3u8?auth_key=4830573978-0-0-92824c2c03f95906a3c49a4aa28f1709&extra_key=Yc1XsmxOKy2UBoPM4Wy5vCPsEYqnj06taCR2SRB2Xrg2w28NPilH03KdIbbM5wgSql-VBohSnoO9AOKl94q2t2DWMftz-XB-2qUX-UjXcS80StcSZahBFjrKLivXaRjiY5r2NOMKWMKFbv-S0Bz2G6iEXgCK8yGjtrFHDcPfAQEE0pvXq0Bwy34b7We8zARN&ali_ffmpeg_version=mpengine |
|
||||
浙江钱江都市,http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8 |
|
||||
浙江经济生活,http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8 |
|
||||
浙江教科影院,http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8 |
|
||||
浙江民生休闲,http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8 |
|
||||
浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8 |
|
||||
浙江少儿,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8 |
|
||||
中国蓝新闻,http://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8 |
|
||||
浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8 |
|
||||
数码时代,http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8 |
|
||||
武义新闻综合,http://l.cztvcloud.com/channels/lantian/SXwuyi1/720p.m3u8?zzhed |
|
||||
平湖新闻综合,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?zzhed |
|
||||
平湖民生休闲,http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8?zzhed |
|
||||
萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?zzhed |
|
||||
萧山生活频道,http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed |
|
||||
淳安电视台,https://wtmtyoutlive.watonemt.com/f2p7vq/lf76v9.m3u8?zzhed |
|
||||
淳安电视台,https://wtmtylive.yunshicloud.com/tbziu1/ad592j.m3u8?zzhed |
|
||||
余杭综合频道,http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8?zzhed |
|
||||
余杭未来E频道,http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8?zzhed |
|
||||
余姚新闻综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed |
|
||||
余姚姚江文化,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8?zzhed |
|
||||
嵊州新闻综合,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed |
|
||||
嵊州新闻综合,https://hlsv2.quklive.com/live/1626935015913208/index.m3u8?zzhed |
|
||||
诸暨新闻综合,http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8?zzhed |
|
||||
上虞新闻综合,http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?zzhed |
|
||||
上虞文化影院,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed |
|
||||
上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed |
|
||||
海宁新闻综合,http://live.hndachao.cn/xwzh/sd/live.m3u8?zzhed |
|
||||
海宁生活服务,http://live.hndachao.cn/shfw/sd/live.m3u8?zzhed |
|
||||
兰溪新闻综合,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed |
|
||||
咪咕移动,#genre# |
|
||||
北京冬奥纪实,http://39.134.66.66/PLTV/88888888/224/3221225670/index.m3u8 |
|
||||
北京卡酷少儿,http://39.134.66.66/PLTV/88888888/224/3221225562/index.m3u8 |
|
||||
北京卫视,http://39.134.66.66/PLTV/88888888/224/3221225678/index.m3u8 |
|
||||
重庆卫视,http://39.134.66.66/PLTV/88888888/224/3221225502/index.m3u8 |
|
||||
大庆公共,http://39.134.66.66/PLTV/88888888/224/3221225734/index.m3u8 |
|
||||
大庆新闻综合,http://39.134.66.66/PLTV/88888888/224/3221225736/index.m3u8 |
|
||||
东方卫视,http://39.134.66.66/PLTV/88888888/224/3221225672/index.m3u8 |
|
||||
东南卫视,http://39.134.66.66/PLTV/88888888/224/3221225500/index.m3u8 |
|
||||
甘肃卫视,http://39.134.66.66/PLTV/88888888/224/3221225584/index.m3u8 |
|
||||
贵州卫视,http://39.134.66.66/PLTV/88888888/224/3221225576/index.m3u8 |
|
||||
哈尔滨生活,http://39.134.66.66/PLTV/88888888/224/3221225698/index.m3u8 |
|
||||
哈尔滨新闻综合,http://39.134.66.66/PLTV/88888888/224/3221225684/index.m3u8 |
|
||||
哈尔滨影视,http://39.134.66.66/PLTV/88888888/224/3221225700/index.m3u8 |
|
||||
哈尔滨娱乐,http://39.134.66.66/PLTV/88888888/224/3221225699/index.m3u8 |
|
||||
哈尔滨资讯,http://39.134.66.66/PLTV/88888888/224/3221225697/index.m3u8 |
|
||||
海南卫视,http://39.134.66.66/PLTV/88888888/224/3221225530/index.m3u8 |
|
||||
河北卫视,http://39.134.66.66/PLTV/88888888/224/3221225495/index.m3u8 |
|
||||
鹤岗公共,http://39.134.66.66/PLTV/88888888/224/3221225787/index.m3u8 |
|
||||
鹤岗新闻综合,http://39.134.66.66/PLTV/88888888/224/3221225785/index.m3u8 |
|
||||
黑莓电竞,http://39.134.66.66/PLTV/88888888/224/3221225559/index.m3u8 |
|
||||
黑莓电影,http://39.134.66.66/PLTV/88888888/224/3221225681/index.m3u8 |
|
||||
黑莓动画,http://39.134.66.66/PLTV/88888888/224/3221225529/index.m3u8 |
|
||||
湖北卫视,http://39.134.66.66/PLTV/88888888/224/3221225569/index.m3u8 |
|
||||
湖南金鹰卡通,http://39.134.66.66/PLTV/88888888/224/3221225561/index.m3u8 |
|
||||
湖南卫视,http://39.134.66.66/PLTV/88888888/224/3221225506/index.m3u8 |
|
||||
江苏好享购物,http://39.134.66.66/PLTV/88888888/224/3221225695/index.m3u8 |
|
||||
江苏卫视,http://39.134.66.66/PLTV/88888888/224/3221225503/index.m3u8 |
|
||||
江苏优漫卡通,http://39.134.66.66/PLTV/88888888/224/3221225556/index.m3u8 |
|
||||
辽宁卫视,http://39.134.66.66/PLTV/88888888/224/3221225499/index.m3u8 |
|
||||
咪咕视频1,http://39.134.66.66/PLTV/88888888/224/3221225643/index.m3u8 |
|
||||
咪咕视频2,http://39.134.66.66/PLTV/88888888/224/3221225648/index.m3u8 |
|
||||
咪咕视频3,http://39.134.66.66/PLTV/88888888/224/3221225639/index.m3u8 |
|
||||
咪咕视频4,http://39.134.66.66/PLTV/88888888/224/3221225652/index.m3u8 |
|
||||
咪咕视频5,http://39.134.66.66/PLTV/88888888/224/3221225647/index.m3u8 |
|
||||
咪咕视频6,http://39.134.66.66/PLTV/88888888/224/3221225645/index.m3u8 |
|
||||
咪咕视频7,http://39.134.66.66/PLTV/88888888/224/3221225650/index.m3u8 |
|
||||
咪咕视频8,http://39.134.66.66/PLTV/88888888/224/3221225641/index.m3u8 |
|
||||
咪咕视频9,http://39.134.66.66/PLTV/88888888/224/3221225617/index.m3u8 |
|
||||
咪咕视频10,http://39.134.66.66/PLTV/88888888/224/3221225651/index.m3u8 |
|
||||
咪咕视频11,http://39.134.66.66/PLTV/88888888/224/3221225619/index.m3u8 |
|
||||
咪咕视频12,http://39.134.66.66/PLTV/88888888/224/3221225611/index.m3u8 |
|
||||
咪咕视频13,http://39.134.66.66/PLTV/88888888/224/3221225649/index.m3u8 |
|
||||
咪咕视频14,http://39.134.66.66/PLTV/88888888/224/3221225620/index.m3u8 |
|
||||
咪咕视频15,http://39.134.66.66/PLTV/88888888/224/3221225613/index.m3u8 |
|
||||
咪咕视频16,http://39.134.66.66/PLTV/88888888/224/3221225658/index.m3u8 |
|
||||
咪咕视频8M1,http://39.134.66.66/PLTV/88888888/224/3221225762/index.m3u8 |
|
||||
咪咕视频8M2,http://39.134.66.66/PLTV/88888888/224/3221225749/index.m3u8 |
|
||||
咪咕视频8M3,http://39.134.66.66/PLTV/88888888/224/3221225758/index.m3u8 |
|
||||
咪咕视频8M4,http://39.134.66.66/PLTV/88888888/224/3221225764/index.m3u8 |
|
||||
咪咕视频8M5,http://39.134.66.66/PLTV/88888888/224/3221225747/index.m3u8 |
|
||||
咪咕视频8M6,http://39.134.66.66/PLTV/88888888/224/3221225766/index.m3u8 |
|
||||
咪咕视频8M7,http://39.134.66.66/PLTV/88888888/224/3221225760/index.m3u8 |
|
||||
咪咕视频8M8,http://39.134.66.66/PLTV/88888888/224/3221225756/index.m3u8 |
|
||||
咪咕视频8M9,http://39.134.66.66/PLTV/88888888/224/3221225745/index.m3u8 |
|
||||
咪咕视频8M10,http://39.134.66.66/PLTV/88888888/224/3221225735/index.m3u8 |
|
||||
咪咕视频8M11,http://39.134.66.66/PLTV/88888888/224/3221225741/index.m3u8 |
|
||||
咪咕视频8M12,http://39.134.66.66/PLTV/88888888/224/3221225739/index.m3u8 |
|
||||
咪咕视频8M13,http://39.134.66.66/PLTV/88888888/224/3221225654/index.m3u8 |
|
||||
咪咕视频 30M2160HDR,http://39.134.66.66/PLTV/88888888/224/3221225655/index.m3u8 |
|
||||
咪咕直播,http://39.134.66.66/PLTV/88888888/224/3221225782/index.m3u8 |
|
||||
内蒙古卫视,http://39.134.66.66/PLTV/88888888/224/3221225577/index.m3u8 |
|
||||
宁夏卫视,http://39.134.66.66/PLTV/88888888/224/3221225579/index.m3u8 |
|
||||
七台河公共,http://39.134.66.66/PLTV/88888888/224/3221225800/index.m3u8 |
|
||||
青海安多卫视,http://39.134.66.66/PLTV/88888888/224/3221225531/index.m3u8 |
|
||||
青海卫视,http://39.134.66.66/PLTV/88888888/224/3221225573/index.m3u8 |
|
||||
求索动物8M,http://39.134.66.66/PLTV/88888888/224/3221225730/index.m3u8 |
|
||||
求索纪录8M,http://39.134.66.66/PLTV/88888888/224/3221225713/index.m3u8 |
|
||||
求索科学8M,http://39.134.66.66/PLTV/88888888/224/3221225728/index.m3u8 |
|
||||
求索生活8M,http://39.134.66.66/PLTV/88888888/224/3221225715/index.m3u8 |
|
||||
山东教育卫视,http://39.134.66.66/PLTV/88888888/224/3221225558/index.m3u8 |
|
||||
山西卫视,http://39.134.66.66/PLTV/88888888/224/3221225496/index.m3u8 |
|
||||
陕西卫视,http://39.134.66.66/PLTV/88888888/224/3221225567/index.m3u8 |
|
||||
上海哈哈炫动,http://39.134.66.66/PLTV/88888888/224/3221225534/index.m3u8 |
|
||||
上海纪实人文,http://39.134.66.66/PLTV/88888888/224/3221225673/index.m3u8 |
|
||||
深圳卫视,http://39.134.66.66/PLTV/88888888/224/3221225668/index.m3u8 |
|
||||
四川康巴卫视,http://39.134.66.66/PLTV/88888888/224/3221225527/index.m3u8 |
|
||||
天津卫视,http://39.134.66.66/PLTV/88888888/224/3221225665/index.m3u8 |
|
||||
西藏卫视,http://39.134.66.66/PLTV/88888888/224/3221225570/index.m3u8 |
|
||||
新疆卫视,http://39.134.66.66/PLTV/88888888/224/3221225582/index.m3u8 |
|
||||
浙江卫视,http://39.134.66.66/PLTV/88888888/224/3221225514/index.m3u8 |
|
||||
中国教育1,http://39.134.66.66/PLTV/88888888/224/3221225563/index.m3u8 |
|
||||
CCTV1,http://39.134.66.66/PLTV/88888888/224/3221225816/index.m3u8 |
|
||||
CCTV1,http://39.134.66.66/PLTV/88888888/224/3221225706/index.m3u8 |
|
||||
CCTV2,http://39.134.66.66/PLTV/88888888/224/3221225599/index.m3u8 |
|
||||
CCTV3,http://39.134.66.66/PLTV/88888888/224/3221225799/index.m3u8 |
|
||||
CCTV4,http://39.134.66.66/PLTV/88888888/224/3221225797/index.m3u8 |
|
||||
CCTV5,http://39.134.66.66/PLTV/88888888/224/3221225818/index.m3u8 |
|
||||
CCTV5+,http://39.134.66.66/PLTV/88888888/224/3221225507/index.m3u8 |
|
||||
CCTV6,http://39.134.66.66/PLTV/88888888/224/3221225814/index.m3u8 |
|
||||
CCTV7,http://39.134.66.66/PLTV/88888888/224/3221225671/index.m3u8 |
|
||||
CCTV8,http://39.134.66.66/PLTV/88888888/224/3221225795/index.m3u8 |
|
||||
CCTV9,http://39.134.66.66/PLTV/88888888/224/3221225676/index.m3u8 |
|
||||
CCTV10,http://39.134.66.66/PLTV/88888888/224/3221225677/index.m3u8 |
|
||||
CCTV11,http://39.134.66.66/PLTV/88888888/224/3221225517/index.m3u8 |
|
||||
CCTV12,http://39.134.66.66/PLTV/88888888/224/3221225669/index.m3u8 |
|
||||
CCTV13,http://39.134.66.66/PLTV/88888888/224/3221225812/index.m3u8 |
|
||||
CCTV14,http://39.134.66.66/PLTV/88888888/224/3221225674/index.m3u8 |
|
||||
CCTV15,http://39.134.66.66/PLTV/88888888/224/3221225513/index.m3u8 |
|
||||
CCTV17,http://39.134.66.66/PLTV/88888888/224/3221225708/index.m3u8 |
|
||||
CGTN,http://39.134.66.66/PLTV/88888888/224/3221225510/index.m3u8 |
|
||||
CGTN纪录,http://39.134.66.66/PLTV/88888888/224/3221225509/index.m3u8 |
|
||||
NewTV爱情喜剧,http://39.134.66.66/PLTV/88888888/224/3221225533/index.m3u8 |
|
||||
NewTV超级电视剧,http://39.134.66.66/PLTV/88888888/224/3221225637/index.m3u8 |
|
||||
NewTV超级电影,http://39.134.66.66/PLTV/88888888/224/3221225644/index.m3u8 |
|
||||
NewTV超级体育,http://39.134.66.66/PLTV/88888888/224/3221225635/index.m3u8 |
|
||||
NewTV超级综艺,http://39.134.66.66/PLTV/88888888/224/3221225642/index.m3u8 |
|
||||
NewTV潮妈辣婆,http://39.134.66.66/PLTV/88888888/224/3221225542/index.m3u8 |
|
||||
NewTV东北热剧,http://39.134.66.66/PLTV/88888888/224/3221225679/index.m3u8 |
|
||||
NewTV动作电影,http://39.134.66.66/PLTV/88888888/224/3221225555/index.m3u8 |
|
||||
NewTV古装剧场,http://39.134.66.66/PLTV/88888888/224/3221225524/index.m3u8 |
|
||||
NewTV家庭剧场,http://39.134.66.66/PLTV/88888888/224/3221225538/index.m3u8 |
|
||||
NewTV家庭剧场,http://39.134.66.66/PLTV/88888888/224/3221225682/index.m3u8 |
|
||||
NewTV金牌综艺,http://39.134.66.66/PLTV/88888888/224/3221225525/index.m3u8 |
|
||||
NewTV惊悚悬疑,http://39.134.66.66/PLTV/88888888/224/3221225553/index.m3u8 |
|
||||
NewTV精品大剧,http://39.134.66.66/PLTV/88888888/224/3221225536/index.m3u8 |
|
||||
NewTV精品纪录,http://39.134.66.66/PLTV/88888888/224/3221225545/index.m3u8 |
|
||||
NewTV精品体育,http://39.134.66.66/PLTV/88888888/224/3221225526/index.m3u8 |
|
||||
NewTV军旅剧场,http://39.134.66.66/PLTV/88888888/224/3221225560/index.m3u8 |
|
||||
NewTV军事评论,http://39.134.66.66/PLTV/88888888/224/3221225535/index.m3u8 |
|
||||
NewTV明星大片,http://39.134.66.66/PLTV/88888888/224/3221225550/index.m3u8 |
|
||||
NewTV农业致富,http://39.134.66.66/PLTV/88888888/224/3221225552/index.m3u8 |
|
||||
NewTV武搏世界,http://39.134.66.66/PLTV/88888888/224/3221225547/index.m3u8 |
|
||||
NewTV炫舞未来,http://39.134.66.66/PLTV/88888888/224/3221225646/index.m3u8 |
|
||||
NewTV怡伴健康,http://39.134.66.66/PLTV/88888888/224/3221225571/index.m3u8 |
|
||||
NewTV中国功夫,http://39.134.66.66/PLTV/88888888/224/3221225604/index.m3u8 |
|
||||
IPV6,#genre# |
|
||||
CCTV-1 综合,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001022/index.m3u8 |
|
||||
CCTV-2 财经,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001220/index.m3u8 |
|
||||
CCTV-3 综艺,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001186/index.m3u8 |
|
||||
CCTV-4 中文国际,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001221/index.m3u8 |
|
||||
CCTV-5 体育,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001187/index.m3u8 |
|
||||
CCTV-5+ 体育赛事,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001334/index.m3u8?virtualDomain=yinhe.live_hls.zte.com |
|
||||
CCTV-6 电影,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001188/index.m3u8 |
|
||||
CCTV-7 国防军事,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001236/index.m3u8 |
|
||||
CCTV-8 电视剧,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001189/index.m3u8 |
|
||||
CCTV-9 纪录,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001237/index.m3u8 |
|
||||
CCTV-10 科教,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001238/index.m3u8 |
|
||||
CCTV-11 戏曲,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001309/index.m3u8 |
|
||||
CCTV-12 社会与法,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001239/index.m3u8 |
|
||||
CCTV-13 新闻,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001328/index.m3u8 |
|
||||
CCTV-14 少儿,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001240/index.m3u8 |
|
||||
CCTV-15 音乐,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001338/index.m3u8 |
|
||||
CCTV-16 奥林匹克,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001248/index.m3u8 |
|
||||
CCTV-17 农业农村,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001241/index.m3u8 |
|
||||
CCTV-16 奥林匹克 4K,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001258/index.m3u8 |
|
||||
CCTV-4K 超高清,http://[2409:8087:2001:20:2800:0:df6e:eb26]:80/ott.mobaibox.com/PLTV/3/224/3221228472/index.m3u8 |
|
||||
CCTV-8K 超高清,http://[2409:8087:2001:20:2800:0:df6e:eb02]:80/wh7f454c46tw2749731958_105918260/ott.mobaibox.com/PLTV/3/224/3221228165/index.m3u8?icpid=3&RTS=1681529690&from=40&popid=40&hms_devid=2039&prioritypopid=40&vqe=3 |
|
||||
CHC动作电影,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002055/index.m3u8?virtualDomain=yinhe.live_hls.zte.com |
|
||||
CHC家庭影院,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002085/index.m3u8?virtualDomain=yinhe.live_hls.zte.com |
|
||||
CHC高清电影,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002065/index.m3u8?virtualDomain=yinhe.live_hls.zte.com |
|
||||
凤凰中文,http://[2409:8087:2001:20:2800:0:df6e:eb24]:80/ott.mobaibox.com/PLTV/3/224/3221228527/index.m3u8 |
|
||||
凤凰资讯,http://[2409:8087:2001:20:2800:0:df6e:eb27]:80/ott.mobaibox.com/PLTV/3/224/3221228524/index.m3u8 |
|
||||
凤凰香港,http://[2409:8087:2001:20:2800:0:df6e:eb1d]:80/ott.mobaibox.com/PLTV/1/224/3221228530/1.m3u8 |
|
||||
北京卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001029/index.m3u8 |
|
||||
湖南卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001026/index.m3u8 |
|
||||
东方卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001013/index.m3u8 |
|
||||
四川卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001130/index.m3u8 |
|
||||
天津卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001036/index.m3u8 |
|
||||
安徽卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001037/index.m3u8 |
|
||||
山东卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001028/index.m3u8 |
|
||||
广东卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001032/index.m3u8 |
|
||||
广西卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001224/index.m3u8 |
|
||||
江苏卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001033/index.m3u8 |
|
||||
江西卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001034/index.m3u8 |
|
||||
河北卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001229/index.m3u8 |
|
||||
河南卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001222/index.m3u8 |
|
||||
浙江卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001023/index.m3u8 |
|
||||
海南卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001183/index.m3u8 |
|
||||
深圳卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001030/index.m3u8 |
|
||||
湖北卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001027/index.m3u8 |
|
||||
山西卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001070/index.m3u8 |
|
||||
东南卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001201/index.m3u8 |
|
||||
贵州卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001184/index.m3u8 |
|
||||
辽宁卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001035/index.m3u8 |
|
||||
重庆卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001129/index.m3u8 |
|
||||
黑龙江卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001031/index.m3u8 |
|
||||
内蒙古卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001068/index.m3u8 |
|
||||
宁夏卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001074/index.m3u8 |
|
||||
陕西卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001067/index.m3u8 |
|
||||
甘肃卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001298/index.m3u8 |
|
||||
吉林卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001225/index.m3u8 |
|
||||
云南卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001223/index.m3u8 |
|
||||
三沙卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001185/index.m3u8 |
|
||||
青海卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001450/index.m3u8 |
|
||||
新疆卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001065/index.m3u8 |
|
||||
西藏卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001072/index.m3u8 |
|
||||
兵团卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001066/index.m3u8 |
|
||||
延边卫视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001470/index.m3u8 |
|
||||
厦门卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226219/index.m3u8 |
|
||||
CETV-1,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001020/index.m3u8 |
|
||||
CETV-2,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001226/index.m3u8 |
|
||||
CETV-4,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001348/index.m3u8 |
|
||||
金色学堂,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001194/index.m3u8 |
|
||||
纪实人文,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001019/index.m3u8 |
|
||||
生活时尚,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001199/index.m3u8 |
|
||||
乐游频道,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001200/index.m3u8 |
|
||||
都市剧场,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001203/index.m3u8 |
|
||||
欢笑剧场,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001193/index.m3u8 |
|
||||
北京纪实科教,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001329/index.m3u8?virtualDomain=yinhe.live_hls.zte.com |
|
||||
卡酷少儿,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001245/index.m3u8 |
|
||||
金鹰纪实,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001230/index.m3u8 |
|
||||
金鹰卡通,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001460/index.m3u8 |
|
||||
茶友频道,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001234/index.m3u8 |
|
||||
快乐垂钓,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001235/index.m3u8 |
|
||||
嘉佳卡通,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001227/index.m3u8 |
|
||||
动漫秀场,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001196/index.m3u8 |
|
||||
哈哈炫动,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001232/index.m3u8 |
|
||||
游戏风云,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001192/index.m3u8 |
|
||||
家庭理财,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001278/index.m3u8 |
|
||||
财富天下,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001219/index.m3u8 |
|
||||
中国天气,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001102/index.m3u8 |
|
||||
兵器科技,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226975/index.m3u8 |
|
||||
怀旧剧场,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226972/index.m3u8 |
|
||||
世界地理,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226947/index.m3u8 |
|
||||
文化精品,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226981/index.m3u8 |
|
||||
央视台球,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226956/index.m3u8 |
|
||||
央视高网,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226978/index.m3u8 |
|
||||
风云剧场,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226950/index.m3u8 |
|
||||
风云音乐,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226953/index.m3u8 |
|
||||
第一剧场,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226959/index.m3u8 |
|
||||
女性时尚,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226969/index.m3u8 |
|
||||
风云足球,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226984/index.m3u8 |
|
||||
电视指南,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226987/index.m3u8 |
|
||||
上海新闻,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001014/index.m3u8 |
|
||||
上海都市,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001015/index.m3u8 |
|
||||
上海ICS,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001128/index.m3u8 |
|
||||
七彩戏剧,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001308/index.m3u8 |
|
||||
上海教育,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001268/index.m3u8 |
|
||||
五星体育,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001018/index.m3u8 |
|
||||
东方影视,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001016/index.m3u8 |
|
||||
东方财经,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001318/index.m3u8 |
|
||||
法治天地,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001195/index.m3u8 |
|
||||
第一财经,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001017/index.m3u8 |
|
||||
浙江公共新闻,http://hw-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8 |
|
||||
浙江国际,http://hw-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8 |
|
||||
浙江少儿,http://hw-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8 |
|
||||
浙江教科影视,http://hw-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8 |
|
||||
浙江数码时代,http://hw-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8 |
|
||||
浙江民生休闲,http://hw-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8 |
|
||||
浙江经济生活,http://hw-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8 |
|
||||
浙江钱江频道,http://hw-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8 |
|
||||
求索记录,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000032052/index.m3u8?channel-id=wasusyt&Contentid=6000000002000032052&livemode=1&stbId=3 |
|
||||
求索动物,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000010046/index.m3u8?channel-id=wasusyt&Contentid=6000000002000010046&livemode=1&stbId=3 |
|
||||
求索科学,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000032344/index.m3u8?channel-id=wasusyt&Contentid=6000000002000032344&livemode=1&stbId=3 |
|
||||
求索生活,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000003382/index.m3u8?channel-id=wasusyt&Contentid=6000000002000003382&livemode=1&stbId=3 |
|
||||
超级综艺,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226009/index.m3u8 |
|
||||
超级体育,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225715/index.m3u8 |
|
||||
超级电影,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225717/index.m3u8 |
|
||||
超级电视剧,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225716/index.m3u8 |
|
||||
武博世界,http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/wh7f454c46tw2554338791_49940138/ott.mobaibox.com/PLTV/3/224/3221227533/index.m3u8 |
|
||||
中国功夫,http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/wh7f454c46tw1934355864_2070028581/ott.mobaibox.com/PLTV/3/224/3221227530/index.m3u8 |
|
||||
军旅剧场,http://[2409:8087:2001:20:2800:0:df6e:eb06]:80/wh7f454c46tw1807611386_-262631246/ott.mobaibox.com/PLTV/3/224/3221227603/index.m3u8 |
|
||||
炫舞未来,http://[2409:8087:2001:20:2800:0:df6e:eb09]:80/wh7f454c46tw2582593423_1721070986/ott.mobaibox.com/PLTV/3/224/3221227475/index.m3u8 |
|
||||
潮妈辣婆,http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/wh7f454c46tw1705588260_46164741/ott.mobaibox.com/PLTV/3/224/3221227527/index.m3u8 |
|
||||
精品体育,http://[2409:8087:2001:20:2800:0:df6e:eb1b]:80/wh7f454c46tw2797725038_-2054878207/ott.mobaibox.com/PLTV/3/224/3221227615/index.m3u8 |
|
||||
精品纪录,http://[2409:8087:2001:20:2800:0:df6e:eb1a]:80/wh7f454c46tw2837435881_530071425/ott.mobaibox.com/PLTV/3/224/3221227547/index.m3u8 |
|
||||
家庭剧场,http://[2409:8087:2001:20:2800:0:df6e:eb06]:80/wh7f454c46tw3441504651_1879058580/ott.mobaibox.com/PLTV/3/224/3221227600/index.m3u8 |
|
||||
精品大剧,http://[2409:8087:2001:20:2800:0:df6e:eb1a]:80/wh7f454c46tw2817459161_-1430429466/ott.mobaibox.com/PLTV/3/224/3221227618/index.m3u8 |
|
||||
军事评论,http://[2409:8087:2001:20:2800:0:df6e:eb18]:80/wh7f454c46tw3373254713_-1111569189/ott.mobaibox.com/PLTV/3/224/3221227544/index.m3u8 |
|
||||
明星大片,http://[2409:8087:2001:20:2800:0:df6e:eb18]:80/wh7f454c46tw2856695654_946966165/ott.mobaibox.com/PLTV/3/224/3221227594/index.m3u8 |
|
||||
东北热剧,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225741/index.m3u8 |
|
||||
欢乐剧场,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225742/index.m3u8 |
|
||||
CGTN英语,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001058/index.m3u8 |
|
||||
CGTN记录,https://livedoc.cgtn.com/500d/prog_index.m3u8 |
|
||||
CGTN俄语,https://liveru.cgtn.com/1000r/prog_index.m3u8 |
|
||||
CGTN法语,https://livefr.cgtn.com/1000f/prog_index.m3u8 |
|
||||
CGTN西语,https://livees.cgtn.com/1000e/prog_index.m3u8 |
|
||||
CGTN阿语,https://livear.cgtn.com/1000a/prog_index.m3u8 |
|
||||
Bestv赛事1,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001151/index.m3u8 |
|
||||
Bestv赛事2,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001359/index.m3u8 |
|
||||
Bestv赛事3,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001388/index.m3u8 |
|
||||
Bestv赛事4,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001149/index.m3u8 |
|
||||
Bestv赛事5,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001153/index.m3u8 |
|
||||
东方购物1,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001040/index.m3u8 |
|
||||
东方购物2,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001039/index.m3u8 |
|
||||
央广购物,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001420/index.m3u8 |
|
||||
优购物,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001440/index.m3u8 |
|
||||
好享购物,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001132/index.m3u8 |
|
||||
聚鲨精选,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001138/index.m3u8 |
|
||||
家家购物,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001163/index.m3u8 |
|
||||
家有购物,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001244/index.m3u8 |
|
||||
快乐购,http://[2409:8087:1e03:21::2]:6060/cms001/ch00000090990000001368/index.m3u8 |
|
||||
|
|
@ -1,36 +0,0 @@ |
|||||
var rule = { |
|
||||
title:'腾云驾雾', |
|
||||
host:'https://v.%71%71.com', |
|
||||
homeUrl:'/x/bu/pagesheet/list?_all=1&append=1&channel=choice&listpage=1&offset=0&pagesize=20', |
|
||||
detailUrl:'https://node.video.%71%71.com/x/api/float_vinfo2?cid=fyid', |
|
||||
searchUrl:'/x/search/?q=**&stag=fypage', |
|
||||
searchable:2, |
|
||||
filterable:1, |
|
||||
multi:1, |
|
||||
url:'/x/bu/pagesheet/list?_all=1&append=1&channel=fyclass&listpage=1&offset=((fypage-1)*20)&pagesize=20', |
|
||||
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:
|
|
||||
let parseurl = 'http://119.91.31.224:9003/txqq.php?url='; |
|
||||
let response = JSON.parse(request(parseurl + input)); |
|
||||
if (response.code == 200){ |
|
||||
input = { |
|
||||
jx: 0, |
|
||||
parse: 0, |
|
||||
url: response.url |
|
||||
} |
|
||||
} |
|
||||
`,
|
|
||||
|
|
||||
推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', |
|
||||
一级:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', |
|
||||
二级:'js:VOD={};let d=[];let video_list=[];let video_lists=[];let list=[];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.%71%71.com/detail/m/"+cid+".html";log("详情页:"+detailUrl);var pdfh=jsp.pdfh;var pd=jsp.pd;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){log("解析片名海报等基础信息发生错误:"+e.message)}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,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,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];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=682&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 yg=d.filter(function(it){return it.type&&it.type!=="正片"});let zp=d.filter(function(it){return!(it.type&&it.type!=="正片")});VOD.vod_play_from=yg.length<1?"qq":"qq$$$qq 预告及花絮";VOD.vod_play_url=yg.length<1?d.map(function(it){return it.title+"$"+it.url}).join("#"):[zp,yg].map(function(it){return it.map(function(its){return its.title+"$"+its.url}).join("#")}).join("$$$");', |
|
||||
搜索:'js:let d=[];pdfa=jsp.pdfa;pdfh=jsp.pdfh;pd=jsp.pd;let html=request(input);let baseList=pdfa(html,"body&&.result_item_v");baseList.forEach(function(it){let longText=pdfh(it,".result_title&&Text");let shortText=pdfh(it,".sub&&Text");let fromTag=pdfh(it,".result_source&&Text");let score=pdfh(it,".result_score&&Text");let content=pdfh(it,".desc_text&&Text");let url=pdfh(it,".result_title&&a&&href");let img=pd(it,".figure_pic&&src");url="https://node.video.qq.com/x/api/float_vinfo2?cid="+url.match(/.*\\/(.*?)\\.html/)[1];log(shortText+"|"+url);if(fromTag.match(/腾讯/)){d.push({title:longText.split(shortText)[0],img:img,url:url,content:content,desc:"⭐"+longText.split(shortText)[1]+"-"+shortText+" "+score})}});setResult(d);', |
|
||||
} |
|
39
libs/优酷.js
File diff suppressed because one or more lines are too long
View File
File diff suppressed because one or more lines are too long
View File
1
libs/协议.js
File diff suppressed because one or more lines are too long
View File
File diff suppressed because one or more lines are too long
View File
@ -1,36 +0,0 @@ |
|||||
var rule = { |
|
||||
title:'武享吧', |
|
||||
host:'https://www.hula8.net', |
|
||||
url: '/fyclass/page/fypage', |
|
||||
searchUrl: '/page/fypage/?s=**', |
|
||||
searchable:2, |
|
||||
quickSearch:0, |
|
||||
headers:{ |
|
||||
'User-Agent': 'PC_UA', |
|
||||
'Referer': 'https://www.hula8.net/', |
|
||||
'Cookie':'esc_search_captcha=1;result=12' |
|
||||
}, |
|
||||
timeout:5000,//网站的全局请求超时,默认是3000毫秒
|
|
||||
class_parse: '#menu-xinjian&&li;a&&Text;a&&href;net/(.*)', |
|
||||
play_parse:true, |
|
||||
cate_exclude:'首 页|赛事预告|美国格斗赛|亚洲格斗赛|其他格斗赛|日本搏击赛|裸拳赛', |
|
||||
limit:6, |
|
||||
推荐: 'div.apc-grid-item;*;*;.views&&Text;a&&href', |
|
||||
一级: '.site-main&&article;img&&alt;img&&data-original;.grid-inf-l&&Text;a&&href', |
|
||||
二级: { |
|
||||
"title": "h1&&Text;.module-info-tag&&Text", |
|
||||
"img": ".aligncenter&&data-original", |
|
||||
"desc": ";;;.views:eq(0)&&Text;", |
|
||||
"content": "h1&&Text", |
|
||||
"tabs": "js:TABS=['喵喵在线']", |
|
||||
"lists": `js:
|
|
||||
var html = JSON.parse(request(input).match(/var bevideo_vids_.*?=({[\\s\\S]*?});/)[1]); |
|
||||
let list = []; |
|
||||
list = html.m3u8dplayer.map(function(item) { |
|
||||
return item.pre + "$" + item.video |
|
||||
}); |
|
||||
LISTS = [list]; |
|
||||
`
|
|
||||
}, |
|
||||
搜索: '*;*;*;.entry-meta&&Text;*', |
|
||||
} |
|
@ -1,274 +0,0 @@ |
|||||
if (typeof Object.assign != 'function') { |
|
||||
Object.assign = function () { |
|
||||
var target = arguments[0]; |
|
||||
for (var i = 1; i < arguments.length; i++) { |
|
||||
var source = arguments[i]; |
|
||||
for (var key in source) { |
|
||||
if (Object.prototype.hasOwnProperty.call(source, key)) { |
|
||||
target[key] = source[key]; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
return target; |
|
||||
}; |
|
||||
} |
|
||||
function getMubans() { |
|
||||
var mubanDict = { // 模板字典
|
|
||||
mxpro: { |
|
||||
title: '', |
|
||||
host: '', |
|
||||
// homeUrl:'/',
|
|
||||
url: '/vodshow/fyclass--------fypage---.html', |
|
||||
searchUrl: '/vodsearch/**----------fypage---.html', |
|
||||
searchable: 2,//是否启用全局搜索,
|
|
||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||
filterable: 0,//是否启用分类筛选,
|
|
||||
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
|
|
||||
'User-Agent': 'MOBILE_UA', |
|
||||
// "Cookie": "searchneed=ok"
|
|
||||
}, |
|
||||
class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html', |
|
||||
play_parse: true, |
|
||||
lazy: '', |
|
||||
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', |
|
||||
double: true, // 推荐内容是否双层定位
|
|
||||
一级: '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", |
|
||||
"img": ".lazyload&&data-original", |
|
||||
"desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text", |
|
||||
"content": ".module-info-introduction&&Text", |
|
||||
"tabs": ".module-tab-item", |
|
||||
"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', |
|
||||
}, |
|
||||
mxone5: { |
|
||||
title: '', |
|
||||
host: '', |
|
||||
url: '/show/fyclass--------fypage---.html', |
|
||||
searchUrl: '/search/**----------fypage---.html', |
|
||||
searchable: 2,//是否启用全局搜索,
|
|
||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||
filterable: 0,//是否启用分类筛选,
|
|
||||
class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html', |
|
||||
play_parse: true, |
|
||||
lazy: '', |
|
||||
limit: 6, |
|
||||
推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', |
|
||||
double: true, // 推荐内容是否双层定位
|
|
||||
一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', |
|
||||
二级: { |
|
||||
"title": "h1&&Text;.tag-link&&Text", |
|
||||
"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", |
|
||||
"content": ".vod_content&&Text", |
|
||||
"tabs": ".module-tab-item", |
|
||||
"lists": ".module-player-list:eq(#id)&&.scroll-content&&a" |
|
||||
}, |
|
||||
搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href', |
|
||||
}, |
|
||||
首图: { |
|
||||
title: '', |
|
||||
host: '', |
|
||||
url: '/vodshow/fyclass--------fypage---/', |
|
||||
searchUrl: '/vodsearch/**----------fypage---.html', |
|
||||
searchable: 2,//是否启用全局搜索,
|
|
||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||
filterable: 0,//是否启用分类筛选,
|
|
||||
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
|
|
||||
'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', |
|
||||
play_parse: true, |
|
||||
lazy: '', |
|
||||
limit: 6, |
|
||||
推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href', |
|
||||
double: true, // 推荐内容是否双层定位
|
|
||||
一级: '.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", |
|
||||
"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", |
|
||||
"content": ".content&&Text", |
|
||||
"tabs": ".nav-tabs:eq(0) 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', |
|
||||
}, |
|
||||
首图2: { |
|
||||
title: '', |
|
||||
host: '', |
|
||||
url: '/list/fyclass-fypage.html', |
|
||||
searchUrl: '/vodsearch/**----------fypage---.html', |
|
||||
searchable: 2,//是否启用全局搜索,
|
|
||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||
filterable: 0,//是否启用分类筛选,
|
|
||||
headers: { |
|
||||
'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;.*/(.*?).html', |
|
||||
play_parse: true, |
|
||||
lazy: '', |
|
||||
limit: 6, |
|
||||
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', |
|
||||
double: true, // 推荐内容是否双层定位
|
|
||||
一级: '.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", |
|
||||
"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", |
|
||||
"content": ".detail&&Text", |
|
||||
"tabs": ".stui-vodlist__head h3", |
|
||||
"lists": ".stui-content__playlist:eq(#id) li" |
|
||||
}, |
|
||||
搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#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', |
|
||||
搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', |
|
||||
}, |
|
||||
默认: { |
|
||||
title: '', |
|
||||
host: '', |
|
||||
url: '/vodshow/fyclass--------fypage---.html', |
|
||||
searchUrl: '/vodsearch/-------------.html?wd=**', |
|
||||
searchable: 2,//是否启用全局搜索,
|
|
||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||
filterable: 0,//是否启用分类筛选,
|
|
||||
headers: { |
|
||||
'User-Agent': 'MOBILE_UA', |
|
||||
}, |
|
||||
play_parse: true, |
|
||||
lazy: '', |
|
||||
limit: 6, |
|
||||
double: true, // 推荐内容是否双层定位
|
|
||||
}, |
|
||||
vfed: { |
|
||||
title: '', |
|
||||
host: '', |
|
||||
url: '/index.php/vod/show/id/fyclass/page/fypage.html', |
|
||||
searchUrl: '/index.php/vod/search/page/fypage/wd/**.html', |
|
||||
searchable: 2,//是否启用全局搜索,
|
|
||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||
filterable: 0,//是否启用分类筛选,
|
|
||||
headers: { |
|
||||
'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;a&&Text;a&&href;.*/(.*?).html', |
|
||||
play_parse: true, |
|
||||
lazy: '', |
|
||||
limit: 6, |
|
||||
推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', |
|
||||
double: true, // 推荐内容是否双层定位
|
|
||||
一级: '.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", |
|
||||
"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", |
|
||||
"content": ".fed-part-esan&&Text", |
|
||||
"tabs": ".fed-drop-boxs&&.fed-part-rows&&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', |
|
||||
}, |
|
||||
海螺3: { |
|
||||
title: '', |
|
||||
host: '', |
|
||||
searchUrl: '/v_search/**----------fypage---.html', |
|
||||
url: '/vod_____show/fyclass--------fypage---.html', |
|
||||
headers: { |
|
||||
'User-Agent': 'MOBILE_UA' |
|
||||
}, |
|
||||
timeout: 5000, |
|
||||
class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html', |
|
||||
cate_exclude: '明星|专题|最新|排行', |
|
||||
limit: 40, |
|
||||
play_parse: true, |
|
||||
lazy: '', |
|
||||
推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href', |
|
||||
double: true, |
|
||||
一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', |
|
||||
二级: { |
|
||||
"title": ".hl-infos-title&&Text;.hl-text-conch&&Text", |
|
||||
"img": ".hl-lazy&&data-original", |
|
||||
"desc": ".hl-infos-content&&.hl-text-conch&&Text", |
|
||||
"content": ".hl-content-text&&Text", |
|
||||
"tabs": ".hl-tabs&&a", |
|
||||
"lists": ".hl-plays-list:eq(#id)&&li" |
|
||||
}, |
|
||||
搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', |
|
||||
searchable: 2,//是否启用全局搜索,
|
|
||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||
filterable: 0,//是否启用分类筛选,
|
|
||||
}, |
|
||||
海螺2: { |
|
||||
title: '', |
|
||||
host: '', |
|
||||
searchUrl: '/index.php/vod/search/page/fypage/wd/**/', |
|
||||
url: '/index.php/vod/show/id/fyclass/page/fypage/', |
|
||||
headers: { |
|
||||
'User-Agent': 'MOBILE_UA' |
|
||||
}, |
|
||||
timeout: 5000, |
|
||||
class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/', |
|
||||
limit: 40, |
|
||||
play_parse: true, |
|
||||
lazy: '', |
|
||||
推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href', |
|
||||
double: true, |
|
||||
一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href', |
|
||||
二级: { |
|
||||
"title": "h2&&Text;.deployment&&Text", |
|
||||
"img": ".lazy&&data-original", |
|
||||
"desc": ".deployment&&Text", |
|
||||
"content": ".ec-show&&Text", |
|
||||
"tabs": "#tag&&a", |
|
||||
"lists": ".play_list_box:eq(#id)&&li" |
|
||||
}, |
|
||||
搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href', |
|
||||
searchable: 2,//是否启用全局搜索,
|
|
||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||
filterable: 0,//是否启用分类筛选,
|
|
||||
}, |
|
||||
短视: { |
|
||||
title: '', |
|
||||
host: '', |
|
||||
// homeUrl:'/',
|
|
||||
url: '/channel/fyclass-fypage.html', |
|
||||
searchUrl: '/search.html?wd=**', |
|
||||
searchable: 2,//是否启用全局搜索,
|
|
||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||
filterable: 0,//是否启用分类筛选,
|
|
||||
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
|
|
||||
'User-Agent': 'MOBILE_UA', |
|
||||
// "Cookie": "searchneed=ok"
|
|
||||
}, |
|
||||
class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html', |
|
||||
cate_exclude: '解析|动态', |
|
||||
play_parse: true, |
|
||||
lazy: '', |
|
||||
limit: 6, |
|
||||
推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href', |
|
||||
double: true, // 推荐内容是否双层定位
|
|
||||
一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href', |
|
||||
二级: { |
|
||||
"title": "h1&&Text;.content-rt&&p:eq(0)&&Text", |
|
||||
"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", |
|
||||
"content": ".zkjj_a&&Text", |
|
||||
"tabs": ".py-tabs&&option", |
|
||||
"lists": ".player:eq(#id) li" |
|
||||
}, |
|
||||
搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href', |
|
||||
} |
|
||||
|
|
||||
}; |
|
||||
return JSON.parse(JSON.stringify(mubanDict)); |
|
||||
} |
|
||||
var mubanDict = getMubans(); |
|
||||
var muban = getMubans(); |
|
||||
export default {muban,getMubans}; |
|
34
libs/百忙无果.js
File diff suppressed because one or more lines are too long
View File
File diff suppressed because one or more lines are too long
View File
@ -1,39 +0,0 @@ |
|||||
var rule = { |
|
||||
title:'腾云驾雾', |
|
||||
host:'https://v.%71%71.com', |
|
||||
// homeUrl:'/channel/choice?listpage=1&channel=choice&sort=18&_all=1',
|
|
||||
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', |
|
||||
// searchUrl:'https://node.video.%71%71.com/x/api/msearch?keyWord=**',
|
|
||||
searchUrl:'/x/search/?q=**&stag=fypage', |
|
||||
// searchUrl:'http://s.video.qq.com/smartbox?plat=2&ver=0&num=29&otype=json&query=**',
|
|
||||
searchable:2, |
|
||||
filterable:1, |
|
||||
multi:1, |
|
||||
// url:'/channel/fyclass?listpage=fypage&channel=fyclass&sort=18&_all=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 18}}&year={{fl.year}}&pay={{fl.pay}}', |
|
||||
filter:{'choice': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'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'}]}], 'tv': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'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'}]}], 'movie': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'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'}]}], 'variety': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'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'}]}], 'cartoon': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'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'}]}], 'child': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'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'}]}], 'doco': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'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'}]}]}, |
|
||||
headers:{ |
|
||||
'User-Agent':'PC_UA' |
|
||||
}, |
|
||||
timeout:5000, |
|
||||
// class_parse:'.site_channel a;a&&Text;a&&href;channel/(.*)',
|
|
||||
cate_exclude:'会员|游戏|全部', |
|
||||
class_name:'精选&电视剧&电影&综艺&动漫&少儿&纪录片', |
|
||||
class_url:'choice&tv&movie&variety&cartoon&child&doco', |
|
||||
limit:20, |
|
||||
// play_parse:true,
|
|
||||
// 手动调用解析请求json的url,此lazy不方便
|
|
||||
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', |
|
||||
推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', |
|
||||
一级:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', |
|
||||
// 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites;data.playlinksdetail.#idv.quality","lists":"data.playlinksdetail.#idv.default_url"},
|
|
||||
// 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites","lists":"data.playlinksdetail.#idv.default_url"},
|
|
||||
二级:'', |
|
||||
二级:'js:VOD={};let d=[];let video_list=[];let video_lists=[];let list=[];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.%71%71.com/detail/m/"+cid+".html";log("详情页:"+detailUrl);var pdfh=jsp.pdfh;var pd=jsp.pd;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){log("解析片名海报等基础信息发生错误:"+e.message)}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,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,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];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=682&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 yg=d.filter(function(it){return it.type&&it.type!=="正片"});let zp=d.filter(function(it){return!(it.type&&it.type!=="正片")});VOD.vod_play_from=yg.length<1?"qq":"qq$$$qq 预告及花絮";VOD.vod_play_url=yg.length<1?d.map(function(it){return it.title+"$"+it.url}).join("#"):[zp,yg].map(function(it){return it.map(function(its){return its.title+"$"+its.url}).join("#")}).join("$$$");', |
|
||||
// 二级:'js:VOD={};let d=[];let video_list=[];let video_lists=[];let list=[];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.%71%71.com/detail/m/"+cid+".html";log("详情页:"+detailUrl);var pdfh=jsp.pdfh;var pd=jsp.pd;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){log("解析片名海报等基础信息发生错误:"+e.message)}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,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,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(json.c.type===10){let dataUrl="https://s.video.qq.com/get_playsource?id="+json.c.column_id+"&plat=2&type=2&data_type=3&video_type=8&plname=qq&otype=json";let o_html=fetch(dataUrl,fetch_params);eval(o_html);video_lists=[];let indexList=QZOutputJson.PlaylistItem.indexList;indexList.forEach(function(it){let dataUrl="https://s.video.qq.com/get_playsource?id="+json.c.column_id+"&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,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,url:item.playUrl})});video_lists=video_lists.concat(vdata)})}else if(video_lists.length===1){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=682&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 yg=d.filter(function(it){return it.type&&it.type!=="正片"});let zp=d.filter(function(it){return!(it.type&&it.type!=="正片")});VOD.vod_play_from=yg.length<1?"qq":"qq$$$qq 预告及花絮";VOD.vod_play_url=yg.length<1?d.map(function(it){return it.title+"$"+it.url}).join("#"):[zp,yg].map(function(it){return it.map(function(its){return its.title+"$"+its.url}).join("#")}).join("$$$");',
|
|
||||
// 搜索:'json:uiData;data[0].title;data[0].posterPic;.titleMarkLabelList[1].primeText;data[0].id;data[0].publishDate',
|
|
||||
搜索:'js:let d=[];pdfa=jsp.pdfa;pdfh=jsp.pdfh;pd=jsp.pd;let html=request(input);let baseList=pdfa(html,"body&&.result_item_v");baseList.forEach(function(it){let longText=pdfh(it,".result_title&&Text");let shortText=pdfh(it,".sub&&Text");let fromTag=pdfh(it,".result_source&&Text");let score=pdfh(it,".result_score&&Text");let content=pdfh(it,".desc_text&&Text");let url=pdfh(it,".result_title&&a&&href");let img=pd(it,".figure_pic&&src");url="https://node.video.qq.com/x/api/float_vinfo2?cid="+url.match(/.*\\/(.*?)\\.html/)[1];log(shortText+"|"+url);if(fromTag.match(/腾讯/)){d.push({title:longText.split(shortText)[0],img:img,url:url,content:content,desc:"⭐"+longText.split(shortText)[1]+"-"+shortText+" "+score})}});setResult(d);', |
|
||||
// 搜索:'json:item;word;dc;class;id;sn',
|
|
||||
} |
|
@ -1,696 +0,0 @@ |
|||||
var rule = { |
|
||||
title: 'drpy', |
|
||||
host: 'https://frodo.douban.com', |
|
||||
apidoc: 'https://www.doubanapi.com', |
|
||||
homeUrl: '', |
|
||||
searchUrl: '', |
|
||||
searchable: 1, |
|
||||
quickSearch: 1, |
|
||||
filterable: 1, |
|
||||
// 分类链接fypage参数支持1个()表达式
|
|
||||
url: '/?pg=fypage&class=fyclass&douban=$douban', |
|
||||
filter_url: 'fl={{fl}}', |
|
||||
图片来源: '@Referer=https://api.douban.com/@User-Agent=Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/113.0.0.0%20Safari/537.36', |
|
||||
headers: { |
|
||||
"Host": "frodo.douban.com", |
|
||||
// "Host": "api.douban.com",
|
|
||||
"Connection": "Keep-Alive", |
|
||||
"Referer": "https://servicewechat.com/wx2f9b06c1de1ccfca/84/page-frame.html", |
|
||||
// "content-type": "application/json",
|
|
||||
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat" |
|
||||
}, |
|
||||
timeout: 5000, |
|
||||
|
|
||||
class_name: '电影-热门&电视剧-热门&电影-筛选&电视剧-筛选&综艺-热门', |
|
||||
class_url: 'hot_gaia&tv_hot&movie&tv&show_hot', |
|
||||
|
|
||||
//class_name:'我的豆瓣&热门电影&热播剧集&热播综艺&电影筛选&电视筛选&电影榜单&电视榜单',
|
|
||||
//class_url:'interests&hot_gaia&tv_hot&show_hot&movie&tv&rank_list_movie&rank_list_tv',
|
|
||||
filter: { |
|
||||
'interests': [{ |
|
||||
'key': 'status', |
|
||||
'name': '状态', |
|
||||
'value': [{ |
|
||||
'n': '想看', |
|
||||
'v': 'mark' |
|
||||
}, { |
|
||||
'n': '在看', |
|
||||
'v': 'doing' |
|
||||
}, { |
|
||||
'n': '看过', |
|
||||
'v': 'done' |
|
||||
}] |
|
||||
}, { |
|
||||
'key': 'subtype_tag', |
|
||||
'name': '形式', |
|
||||
'value': [{ |
|
||||
'n': '全部', |
|
||||
'v': '' |
|
||||
}, { |
|
||||
'n': '电影', |
|
||||
'v': 'movie' |
|
||||
}, { |
|
||||
'n': '电视', |
|
||||
'v': 'tv' |
|
||||
}] |
|
||||
}, { |
|
||||
'key': 'year_tag', |
|
||||
'name': '年代', |
|
||||
'value': [{ |
|
||||
'n': '全部', |
|
||||
'v': '全部' |
|
||||
}, { |
|
||||
'n': '2023', |
|
||||
'v': '2023' |
|
||||
}, { |
|
||||
'n': '2022', |
|
||||
'v': '2022' |
|
||||
}, { |
|
||||
'n': '2021', |
|
||||
'v': '2021' |
|
||||
}, { |
|
||||
'n': '2020', |
|
||||
'v': '2020' |
|
||||
}, { |
|
||||
'n': '2019', |
|
||||
'v': '2019' |
|
||||
}, { |
|
||||
'n': '2010年代', |
|
||||
'v': '2010年代' |
|
||||
}, { |
|
||||
'n': '2000年代', |
|
||||
'v': '2000年代' |
|
||||
}, { |
|
||||
'n': '90年代', |
|
||||
'v': '90年代' |
|
||||
}, { |
|
||||
'n': '80年代', |
|
||||
'v': '80年代' |
|
||||
}, { |
|
||||
'n': '70年代', |
|
||||
'v': '70年代' |
|
||||
}, { |
|
||||
'n': '60年代', |
|
||||
'v': '60年代' |
|
||||
}, { |
|
||||
'n': '更早', |
|
||||
'v': '更早' |
|
||||
}] |
|
||||
}], |
|
||||
'hot_gaia': [{ |
|
||||
'key': 'sort', |
|
||||
'name': '排序', |
|
||||
'value': [{ |
|
||||
'n': '热度', |
|
||||
'v': 'recommend' |
|
||||
}, { |
|
||||
'n': '最新', |
|
||||
'v': 'time' |
|
||||
}, { |
|
||||
'n': '评分', |
|
||||
'v': 'rank' |
|
||||
}] |
|
||||
}, { |
|
||||
'key': 'area', |
|
||||
'name': '地区', |
|
||||
'value': [{ |
|
||||
'n': '全部', |
|
||||
'v': '全部' |
|
||||
}, { |
|
||||
'n': '华语', |
|
||||
'v': '华语' |
|
||||
}, { |
|
||||
'n': '欧美', |
|
||||
'v': '欧美' |
|
||||
}, { |
|
||||
'n': '韩国', |
|
||||
'v': '韩国' |
|
||||
}, { |
|
||||
'n': '日本', |
|
||||
'v': '日本' |
|
||||
}] |
|
||||
}], |
|
||||
'tv_hot': [{ |
|
||||
'key': 'type', |
|
||||
'name': '分类', |
|
||||
'value': [{ |
|
||||
'n': '综合', |
|
||||
'v': 'tv_hot' |
|
||||
}, { |
|
||||
'n': '国产剧', |
|
||||
'v': 'tv_domestic' |
|
||||
}, { |
|
||||
'n': '欧美剧', |
|
||||
'v': 'tv_american' |
|
||||
}, { |
|
||||
'n': '日剧', |
|
||||
'v': 'tv_japanese' |
|
||||
}, { |
|
||||
'n': '韩剧', |
|
||||
'v': 'tv_korean' |
|
||||
}, { |
|
||||
'n': '动画', |
|
||||
'v': 'tv_animation' |
|
||||
}] |
|
||||
}], |
|
||||
'show_hot': [{ |
|
||||
'key': 'type', |
|
||||
'name': '分类', |
|
||||
'value': [{ |
|
||||
'n': '综合', |
|
||||
'v': 'show_hot' |
|
||||
}, { |
|
||||
'n': '国内', |
|
||||
'v': 'show_domestic' |
|
||||
}, { |
|
||||
'n': '国外', |
|
||||
'v': 'show_foreign' |
|
||||
}] |
|
||||
}], |
|
||||
'movie': [{ |
|
||||
'key': '类型', |
|
||||
'name': '类型', |
|
||||
'value': [{ |
|
||||
'n': '全部类型', |
|
||||
'v': '' |
|
||||
}, { |
|
||||
'n': '喜剧', |
|
||||
'v': '喜剧' |
|
||||
}, { |
|
||||
'n': '爱情', |
|
||||
'v': '爱情' |
|
||||
}, { |
|
||||
'n': '动作', |
|
||||
'v': '动作' |
|
||||
}, { |
|
||||
'n': '科幻', |
|
||||
'v': '科幻' |
|
||||
}, { |
|
||||
'n': '动画', |
|
||||
'v': '动画' |
|
||||
}, { |
|
||||
'n': '悬疑', |
|
||||
'v': '悬疑' |
|
||||
}, { |
|
||||
'n': '犯罪', |
|
||||
'v': '犯罪' |
|
||||
}, { |
|
||||
'n': '惊悚', |
|
||||
'v': '惊悚' |
|
||||
}, { |
|
||||
'n': '冒险', |
|
||||
'v': '冒险' |
|
||||
}, { |
|
||||
'n': '音乐', |
|
||||
'v': '音乐' |
|
||||
}, { |
|
||||
'n': '历史', |
|
||||
'v': '历史' |
|
||||
}, { |
|
||||
'n': '奇幻', |
|
||||
'v': '奇幻' |
|
||||
}, { |
|
||||
'n': '恐怖', |
|
||||
'v': '恐怖' |
|
||||
}, { |
|
||||
'n': '战争', |
|
||||
'v': '战争' |
|
||||
}, { |
|
||||
'n': '传记', |
|
||||
'v': '传记' |
|
||||
}, { |
|
||||
'n': '歌舞', |
|
||||
'v': '歌舞' |
|
||||
}, { |
|
||||
'n': '武侠', |
|
||||
'v': '武侠' |
|
||||
}, { |
|
||||
'n': '情色', |
|
||||
'v': '情色' |
|
||||
}, { |
|
||||
'n': '灾难', |
|
||||
'v': '灾难' |
|
||||
}, { |
|
||||
'n': '西部', |
|
||||
'v': '西部' |
|
||||
}, { |
|
||||
'n': '纪录片', |
|
||||
'v': '纪录片' |
|
||||
}, { |
|
||||
'n': '短片', |
|
||||
'v': '短片' |
|
||||
}] |
|
||||
}, { |
|
||||
'key': '地区', |
|
||||
'name': '地区', |
|
||||
'value': [{ |
|
||||
'n': '全部地区', |
|
||||
'v': '' |
|
||||
}, { |
|
||||
'n': '华语', |
|
||||
'v': '华语' |
|
||||
}, { |
|
||||
'n': '欧美', |
|
||||
'v': '欧美' |
|
||||
}, { |
|
||||
'n': '韩国', |
|
||||
'v': '韩国' |
|
||||
}, { |
|
||||
'n': '日本', |
|
||||
'v': '日本' |
|
||||
}, { |
|
||||
'n': '中国大陆', |
|
||||
'v': '中国大陆' |
|
||||
}, { |
|
||||
'n': '美国', |
|
||||
'v': '美国' |
|
||||
}, { |
|
||||
'n': '中国香港', |
|
||||
'v': '中国香港' |
|
||||
}, { |
|
||||
'n': '中国台湾', |
|
||||
'v': '中国台湾' |
|
||||
}, { |
|
||||
'n': '英国', |
|
||||
'v': '英国' |
|
||||
}, { |
|
||||
'n': '法国', |
|
||||
'v': '法国' |
|
||||
}, { |
|
||||
'n': '德国', |
|
||||
'v': '德国' |
|
||||
}, { |
|
||||
'n': '意大利', |
|
||||
'v': '意大利' |
|
||||
}, { |
|
||||
'n': '西班牙', |
|
||||
'v': '西班牙' |
|
||||
}, { |
|
||||
'n': '印度', |
|
||||
'v': '印度' |
|
||||
}, { |
|
||||
'n': '泰国', |
|
||||
'v': '泰国' |
|
||||
}, { |
|
||||
'n': '俄罗斯', |
|
||||
'v': '俄罗斯' |
|
||||
}, { |
|
||||
'n': '加拿大', |
|
||||
'v': '加拿大' |
|
||||
}, { |
|
||||
'n': '澳大利亚', |
|
||||
'v': '澳大利亚' |
|
||||
}, { |
|
||||
'n': '爱尔兰', |
|
||||
'v': '爱尔兰' |
|
||||
}, { |
|
||||
'n': '瑞典', |
|
||||
'v': '瑞典' |
|
||||
}, { |
|
||||
'n': '巴西', |
|
||||
'v': '巴西' |
|
||||
}, { |
|
||||
'n': '丹麦', |
|
||||
'v': '丹麦' |
|
||||
}] |
|
||||
}, /*{ |
|
||||
'key': 'sort', |
|
||||
'name': '排序', |
|
||||
'value': [{ |
|
||||
'n': '近期热度', |
|
||||
'v': 'T' |
|
||||
}, { |
|
||||
'n': '首映时间', |
|
||||
'v': 'R' |
|
||||
}, { |
|
||||
'n': '高分优先', |
|
||||
'v': 'S' |
|
||||
}] |
|
||||
},*/ { |
|
||||
'key': '年代', |
|
||||
'name': '年代', |
|
||||
'value': [{ |
|
||||
'n': '全部年代', |
|
||||
'v': '' |
|
||||
}, { |
|
||||
'n': '2023', |
|
||||
'v': '2023' |
|
||||
}, { |
|
||||
'n': '2022', |
|
||||
'v': '2022' |
|
||||
}, { |
|
||||
'n': '2021', |
|
||||
'v': '2021' |
|
||||
}, { |
|
||||
'n': '2020', |
|
||||
'v': '2020' |
|
||||
}, { |
|
||||
'n': '2019', |
|
||||
'v': '2019' |
|
||||
}, { |
|
||||
'n': '2010年代', |
|
||||
'v': '2010年代' |
|
||||
}, { |
|
||||
'n': '2000年代', |
|
||||
'v': '2000年代' |
|
||||
}, { |
|
||||
'n': '90年代', |
|
||||
'v': '90年代' |
|
||||
}, { |
|
||||
'n': '80年代', |
|
||||
'v': '80年代' |
|
||||
}, { |
|
||||
'n': '70年代', |
|
||||
'v': '70年代' |
|
||||
}, { |
|
||||
'n': '60年代', |
|
||||
'v': '60年代' |
|
||||
}, { |
|
||||
'n': '更早', |
|
||||
'v': '更早' |
|
||||
}] |
|
||||
}], |
|
||||
'tv': [{ |
|
||||
'key': '类型', |
|
||||
'name': '类型', |
|
||||
'value': [{ |
|
||||
'n': '不限', |
|
||||
'v': '' |
|
||||
}, { |
|
||||
'n': '电视剧', |
|
||||
'v': '电视剧' |
|
||||
}, { |
|
||||
'n': '综艺', |
|
||||
'v': '综艺' |
|
||||
}] |
|
||||
}, { |
|
||||
'key': '电视剧形式', |
|
||||
'name': '电视', |
|
||||
'value': [{ |
|
||||
'n': '不限', |
|
||||
'v': '' |
|
||||
}, { |
|
||||
'n': '喜剧', |
|
||||
'v': '喜剧' |
|
||||
}, { |
|
||||
'n': '爱情', |
|
||||
'v': '爱情' |
|
||||
}, { |
|
||||
'n': '悬疑', |
|
||||
'v': '悬疑' |
|
||||
}, { |
|
||||
'n': '动画', |
|
||||
'v': '动画' |
|
||||
}, { |
|
||||
'n': '武侠', |
|
||||
'v': '武侠' |
|
||||
}, { |
|
||||
'n': '古装', |
|
||||
'v': '古装' |
|
||||
}, { |
|
||||
'n': '家庭', |
|
||||
'v': '家庭' |
|
||||
}, { |
|
||||
'n': '犯罪', |
|
||||
'v': '犯罪' |
|
||||
}, { |
|
||||
'n': '科幻', |
|
||||
'v': '科幻' |
|
||||
}, { |
|
||||
'n': '恐怖', |
|
||||
'v': '恐怖' |
|
||||
}, { |
|
||||
'n': '历史', |
|
||||
'v': '历史' |
|
||||
}, { |
|
||||
'n': '战争', |
|
||||
'v': '战争' |
|
||||
}, { |
|
||||
'n': '动作', |
|
||||
'v': '动作' |
|
||||
}, { |
|
||||
'n': '冒险', |
|
||||
'v': '冒险' |
|
||||
}, { |
|
||||
'n': '传记', |
|
||||
'v': '传记' |
|
||||
}, { |
|
||||
'n': '剧情', |
|
||||
'v': '剧情' |
|
||||
}, { |
|
||||
'n': '奇幻', |
|
||||
'v': '奇幻' |
|
||||
}, { |
|
||||
'n': '惊悚', |
|
||||
'v': '惊悚' |
|
||||
}, { |
|
||||
'n': '灾难', |
|
||||
'v': '灾难' |
|
||||
}, { |
|
||||
'n': '歌舞', |
|
||||
'v': '歌舞' |
|
||||
}, { |
|
||||
'n': '音乐', |
|
||||
'v': '音乐' |
|
||||
}] |
|
||||
}, { |
|
||||
'key': '综艺形式', |
|
||||
'name': '综艺', |
|
||||
'value': [{ |
|
||||
'n': '不限', |
|
||||
'v': '' |
|
||||
}, { |
|
||||
'n': '真人秀', |
|
||||
'v': '真人秀' |
|
||||
}, { |
|
||||
'n': '脱口秀', |
|
||||
'v': '脱口秀' |
|
||||
}, { |
|
||||
'n': '音乐', |
|
||||
'v': '音乐' |
|
||||
}, { |
|
||||
'n': '歌舞', |
|
||||
'v': '歌舞' |
|
||||
}] |
|
||||
}, { |
|
||||
'key': '地区', |
|
||||
'name': '地区', |
|
||||
'value': [{ |
|
||||
'n': '全部地区', |
|
||||
'v': '' |
|
||||
}, { |
|
||||
'n': '华语', |
|
||||
'v': '华语' |
|
||||
}, { |
|
||||
'n': '欧美', |
|
||||
'v': '欧美' |
|
||||
}, { |
|
||||
'n': '国外', |
|
||||
'v': '国外' |
|
||||
}, { |
|
||||
'n': '韩国', |
|
||||
'v': '韩国' |
|
||||
}, { |
|
||||
'n': '日本', |
|
||||
'v': '日本' |
|
||||
}, { |
|
||||
'n': '中国大陆', |
|
||||
'v': '中国大陆' |
|
||||
}, { |
|
||||
'n': '中国香港', |
|
||||
'v': '中国香港' |
|
||||
}, { |
|
||||
'n': '美国', |
|
||||
'v': '美国' |
|
||||
}, { |
|
||||
'n': '英国', |
|
||||
'v': '英国' |
|
||||
}, { |
|
||||
'n': '泰国', |
|
||||
'v': '泰国' |
|
||||
}, { |
|
||||
'n': '中国台湾', |
|
||||
'v': '中国台湾' |
|
||||
}, { |
|
||||
'n': '意大利', |
|
||||
'v': '意大利' |
|
||||
}, { |
|
||||
'n': '法国', |
|
||||
'v': '法国' |
|
||||
}, { |
|
||||
'n': '德国', |
|
||||
'v': '德国' |
|
||||
}, { |
|
||||
'n': '西班牙', |
|
||||
'v': '西班牙' |
|
||||
}, { |
|
||||
'n': '俄罗斯', |
|
||||
'v': '俄罗斯' |
|
||||
}, { |
|
||||
'n': '瑞典', |
|
||||
'v': '瑞典' |
|
||||
}, { |
|
||||
'n': '巴西', |
|
||||
'v': '巴西' |
|
||||
}, { |
|
||||
'n': '丹麦', |
|
||||
'v': '丹麦' |
|
||||
}, { |
|
||||
'n': '印度', |
|
||||
'v': '印度' |
|
||||
}, { |
|
||||
'n': '加拿大', |
|
||||
'v': '加拿大' |
|
||||
}, { |
|
||||
'n': '爱尔兰', |
|
||||
'v': '爱尔兰' |
|
||||
}, { |
|
||||
'n': '澳大利亚', |
|
||||
'v': '澳大利亚' |
|
||||
}] |
|
||||
}, |
|
||||
/*{ |
|
||||
'key': 'sort', |
|
||||
'name': '排序', |
|
||||
'value': [{ |
|
||||
'n': '近期热度', |
|
||||
'v': 'T' |
|
||||
}, { |
|
||||
'n': '首播时间', |
|
||||
'v': 'R' |
|
||||
}, { |
|
||||
'n': '高分优先', |
|
||||
'v': 'S' |
|
||||
}] |
|
||||
}, */ |
|
||||
{ |
|
||||
'key': '年代', |
|
||||
'name': '年代', |
|
||||
'value': [{ |
|
||||
'n': '全部', |
|
||||
'v': '' |
|
||||
}, { |
|
||||
'n': '2023', |
|
||||
'v': '2023' |
|
||||
}, { |
|
||||
'n': '2022', |
|
||||
'v': '2022' |
|
||||
}, { |
|
||||
'n': '2021', |
|
||||
'v': '2021' |
|
||||
}, { |
|
||||
'n': '2020', |
|
||||
'v': '2020' |
|
||||
}, { |
|
||||
'n': '2019', |
|
||||
'v': '2019' |
|
||||
}, { |
|
||||
'n': '2010年代', |
|
||||
'v': '2010年代' |
|
||||
}, { |
|
||||
'n': '2000年代', |
|
||||
'v': '2000年代' |
|
||||
}, { |
|
||||
'n': '90年代', |
|
||||
'v': '90年代' |
|
||||
}, { |
|
||||
'n': '80年代', |
|
||||
'v': '80年代' |
|
||||
}, { |
|
||||
'n': '70年代', |
|
||||
'v': '70年代' |
|
||||
}, { |
|
||||
'n': '60年代', |
|
||||
'v': '60年代' |
|
||||
}, { |
|
||||
'n': '更早', |
|
||||
'v': '更早' |
|
||||
}] |
|
||||
}, { |
|
||||
'key': '平台', |
|
||||
'name': '平台', |
|
||||
'value': [{ |
|
||||
'n': '全部', |
|
||||
'v': '' |
|
||||
}, { |
|
||||
'n': '腾讯视频', |
|
||||
'v': '腾讯视频' |
|
||||
}, { |
|
||||
'n': '爱奇艺', |
|
||||
'v': '爱奇艺' |
|
||||
}, { |
|
||||
'n': '优酷', |
|
||||
'v': '优酷' |
|
||||
}, { |
|
||||
'n': '湖南卫视', |
|
||||
'v': '湖南卫视' |
|
||||
}, { |
|
||||
'n': 'Netflix', |
|
||||
'v': 'Netflix' |
|
||||
}, { |
|
||||
'n': 'HBO', |
|
||||
'v': 'HBO' |
|
||||
}, { |
|
||||
'n': 'BBC', |
|
||||
'v': 'BBC' |
|
||||
}, { |
|
||||
'n': 'NHK', |
|
||||
'v': 'NHK' |
|
||||
}, { |
|
||||
'n': 'CBS', |
|
||||
'v': 'CBS' |
|
||||
}, { |
|
||||
'n': 'NBC', |
|
||||
'v': 'NBC' |
|
||||
}, { |
|
||||
'n': 'tvN', |
|
||||
'v': 'tvN' |
|
||||
}] |
|
||||
}], |
|
||||
'rank_list_movie': [{ |
|
||||
'key': '榜单', |
|
||||
'name': '榜单', |
|
||||
'value': [{ |
|
||||
'n': '实时热门电影', |
|
||||
'v': 'movie_real_time_hotest' |
|
||||
}, { |
|
||||
'n': '一周口碑电影榜', |
|
||||
'v': 'movie_weekly_best' |
|
||||
}, { |
|
||||
'n': '豆瓣电影Top250', |
|
||||
'v': 'movie_top250' |
|
||||
}] |
|
||||
}], |
|
||||
'rank_list_tv': [{ |
|
||||
'key': '榜单', |
|
||||
'name': '榜单', |
|
||||
'value': [{ |
|
||||
'n': '实时热门电视', |
|
||||
'v': 'tv_real_time_hotest' |
|
||||
}, { |
|
||||
'n': '华语口碑剧集榜', |
|
||||
'v': 'tv_chinese_best_weekly' |
|
||||
}, { |
|
||||
'n': '全球口碑剧集榜', |
|
||||
'v': 'tv_global_best_weekly' |
|
||||
}, { |
|
||||
'n': '国内口碑综艺榜', |
|
||||
'v': 'show_chinese_best_weekly' |
|
||||
}, { |
|
||||
'n': '国外口碑综艺榜', |
|
||||
'v': 'show_global_best_weekly' |
|
||||
}] |
|
||||
}] |
|
||||
}, |
|
||||
limit: 20, |
|
||||
play_parse: false, |
|
||||
推荐: '', |
|
||||
推荐: 'js:let d=[];let douban_api_host="http://api.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function subject_real_time_hotest(){try{let res=miniapp_request("/subject_collection/subject_real_time_hotest/items",{});let lists=[];let arr=res.subject_collection_items||[];arr.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"暂无评分";let honnor=(item.honor_infos||[]).map(function(it){return it.title}).join("|");lists.append({vod_id:"msearch:"+TYPE,vod_name:item.title||"",vod_pic:item.pic.normal,vod_remarks:rating+" "+honnor})}});return lists}catch(e){print("发生了错误:"+e.message);return[]}}VODS=subject_real_time_hotest();print(VODS);', |
|
||||
// 手动调用解析请求json的url,此lazy不方便
|
|
||||
lazy: '', |
|
||||
// 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
|
|
||||
一级: '', |
|
||||
一级: 'js:let d=[];let douban=input.split("douban=")[1].split("&")[0];let douban_api_host="http://api.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);if(/request_error/.test(html)){print(html)}return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function cate_filter(d,douban){douban=douban||"";try{let res={};if(MY_CATE==="interests"){if(douban){let status=MY_FL.status||"mark";let subtype_tag=MY_FL.subtype_tag||"";let year_tag=MY_FL.year_tag||"全部";let path="/user/"+douban+"/interests";res=miniapp_request(path,{type:"movie",status:status,subtype_tag:subtype_tag,year_tag:year_tag,start:(MY_PAGE-1)*count,count:count})}else{return{}}}else if(MY_CATE==="hot_gaia"){let sort=MY_FL.sort||"recommend";let area=MY_FL.area||"全部";let path="/movie/"+MY_CATE;res=miniapp_request(path,{area:area,sort:sort,start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE==="tv_hot"||MY_CATE==="show_hot"){let stype=MY_FL.type||MY_CATE;let path="/subject_collection/"+stype+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE.startsWith("rank_list")){let id=MY_CATE==="rank_list_movie"?"movie_real_time_hotest":"tv_real_time_hotest";id=MY_FL.榜单||id;let path="/subject_collection/"+id+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else{let path="/"+MY_CATE+"/recommend";let selected_categories;let tags;let sort;if(Object.keys(MY_FL).length>0){sort=MY_FL.sort||"T";tags=Object.values(MY_FL).join(",");if(MY_CATE==="movie"){selected_categories={"类型":MY_FL.类型||"","地区":MY_FL.地区||""}}else{selected_categories={"类型":MY_FL.类型||"","形式":MY_FL.类型?MY_FL.类型+"地区":"","地区":MY_FL.地区||""}}}else{sort="T";tags="";if(MY_CATE==="movie"){selected_categories={"类型":"","地区":""}}else{selected_categories={"类型":"","形式":"","地区":""}}}let params={tags:tags,sort:sort,refresh:0,selected_categories:stringify(selected_categories),start:(MY_PAGE-1)*count,count:count};res=miniapp_request(path,params)}let result={page:MY_PAGE,pagecount:Math.ceil(res.total/count),limit:count,total:res.total};let items=[];if(/^rank_list|tv_hot|show_hot/.test(MY_CATE)){items=res["subject_collection_items"]}else if(MY_CATE==="interests"){res["interests"].forEach(function(it){items.push(it.subject)})}else{items=res.items}let lists=[];items.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"";let rat_str=rating||"暂无评分";let title=item.title;let honor=item.honor_infos||[];let honor_str=honor.map(function(it){return it.title}).join("|");let vod_obj={vod_name:title!=="未知电影"?title:"暂不支持展示",vod_pic:item.pic.normal,vod_remarks:rat_str+" "+honor_str};let vod_obj_d={url:item.type+"$"+item.id,title:title!=="未知电影"?title:"暂不支持展示",pic_url:item.pic.normal,desc:rat_str+" "+honor_str};lists.push(vod_obj);d.push(vod_obj_d)}});result.list=lists;return result}catch(e){print(e.message)}return{}}let res=cate_filter(d,douban);setResult2(res);', |
|
||||
二级: '', |
|
||||
搜索: '', |
|
||||
} |
|
Loading…
Reference in new issue