ysp.js created online with Bitbucket

main
ygbhbox 1 month ago
parent c5bc8212ed
commit 58218e2462

@ -0,0 +1,128 @@
/**
* 央视频 720P
* 作者deepseek
* 版本1.0
* 最后更新2026-1-2 02:46:31
* 发布页 https://m.yangshipin.cn/
* @config
* debug: true
* blockList: *.[ico|png|jpeg|jpg|gif|webp]*|*.css
*/
const baseUrl = 'https://m.yangshipin.cn/';
const headers = {
'user-agent': 'Mozilla/5.0 (Linux; Android 12; HarmonyOS; ELS-AN10; HMSCore 6.11.0.302) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.88 HuaweiBrowser/13.0.3.320 Mobile Safari/537.36'
};
/**
* 初始化配置
*/
async function init(cfg) {
return {};
}
/**
* 首页分类
*/
async function homeContent(filter) {
return {
class: [
{ type_id: "1", type_name: "央视" },
{ type_id: "2", type_name: "卫视" }
]
};
}
/**
* 首页推荐视频
*/
async function homeVideoContent() {
return { list: [] };
}
/**
* 分类内容
*/
async function categoryContent(tid, pg, filter, extend) {
const res = await Java.req('https://h5access.yangshipin.cn/web/tv_web_share?raw=1&pid=600002485');
const jsonData = JSON.parse(res.body);
const pidInfo = jsonData?.data?.pidInfo || [];
const isCentralTV = (name) => name.startsWith('CCTV') || name.startsWith('CGTN');
const getChannelPic = (name, fallback) => {
if (name == 'CCTV5+') return 'https://lp.live.cntv.cn/pic/cctv5plus_2.png';
const match = name.match(/^CCTV(\d{1,2})$/i);
if (match) return `https://lp.live.cntv.cn/pic/cctv${match[1]}_2.png`;
return fallback || '';
};
const vods = pidInfo
.filter(item => {
if (item.vipInfo?.isVip !== false) return false;
if (!item.pid || !item.channelName) return false;
const isCentral = isCentralTV(item.channelName);
return tid === '1' ? isCentral : !isCentral;
})
.map(item => {
const isCentral = isCentralTV(item.channelName);
const vodPic = getChannelPic(item.channelName, item.audioPosterUrl);
return {
vod_id: item.pid,
vod_name: item.channelName,
vod_pic: vodPic,
style: { type: "rect", ratio: isCentral ? 1.66 : 1 }
};
})
.filter(item => item.vod_pic);
return {
code: 1,
msg: "数据列表",
list: vods,
page: 1,
pagecount: 1,
limit: vods.length,
total: vods.length
};
}
/**
* 详情页
*/
async function detailContent(ids) {
const list = [{
vod_id: ids[0],
vod_name: 'cctv',
vod_play_from: 'cctv',
// vod_play_url: '播放$https://m.yangshipin.cn/tv?pid=' + ids[0] + '&ptag=4_1.0.5.15187_copy,4_1.0.0.20034_copy'
vod_play_url: `播放$https://w.yangshipin.cn/video?type=1&vid=2000204603&pid=${ids[0]}&ptag=4_2.7.2.23316_wxf`
}];
return { code: 1, msg: "数据列表", page: 1, pagecount: 1, limit: 1, total: 1, list };
}
/**
* 搜索
*/
async function searchContent(key, quick, pg) {
return { list: [] };
}
/**
* 播放器
*/
async function playerContent(flag, id, vipFlags) {
// Java.showWebView();
return {
type: 'sniff',
url: id,
headers: headers,
script: `let t=setInterval(()=>{let p=document.querySelector("#v-live-video");if(p?.play){p.play();clearInterval(t)}},100);`,
timeout: 15
};
}
/* ---------------- 导出对象 ---------------- */
const spider = { init, homeContent, homeVideoContent, categoryContent, detailContent, searchContent, playerContent};
spider;
Loading…
Cancel
Save