pull/22/head
qist 2 years ago
parent 6605d4f19e
commit a585001061

4
cat/dist/index.js vendored

File diff suppressed because one or more lines are too long

@ -1 +1 @@
880995fd4c5d4db2a34315a562333cf8 4c0357154fb6018c7a01bd8623f71eb3

@ -485,7 +485,7 @@
{ {
"name": "live", "name": "live",
"type": 0, "type": 0,
"url": "https://agit.ai/fantaiying/0/raw/branch/main/tvlive.txt", "url": "https://gh.con.sh/https://github.com/jadehh/LiveSpider/blob/main/live/live.txt",
"playerType": 1, "playerType": 1,
"ua": "okhttp/3.15", "ua": "okhttp/3.15",
"epg": "http://epg.112114.xyz/?ch={name}&date={date}", "epg": "http://epg.112114.xyz/?ch={name}&date={date}",

@ -10,11 +10,13 @@ import {Spider} from "./spider.js";
import {_} from "../lib/cat.js"; import {_} from "../lib/cat.js";
import * as Utils from "../lib/utils.js"; import * as Utils from "../lib/utils.js";
import {VodDetail, VodShort} from "../lib/vod.js"; import {VodDetail, VodShort} from "../lib/vod.js";
class CNTVSpider extends Spider { class CNTVSpider extends Spider {
constructor() { constructor() {
super(); super();
this.siteUrl = "https://tv.cctv.com/m/index.shtml" this.siteUrl = "https://tv.cctv.com/m/index.shtml"
this.apiUrl = "https://api.app.cctv.com" this.apiUrl = "https://api.app.cctv.com"
this.liveJsonUrl = "https://gh.con.sh/https://github.com/jadehh/LiveSpider/blob/main/json/live.json"
} }
@ -34,6 +36,15 @@ class CNTVSpider extends Spider {
return 3 return 3
} }
async spiderInit() {
await super.spiderInit();
this.liveJson = JSON.parse(await this.fetch(this.liveJsonUrl, null, null))
}
async init(cfg) {
await super.init(cfg);
await this.spiderInit()
}
async getFilterByLive(dataList) { async getFilterByLive(dataList) {
let extend_list = [] let extend_list = []
@ -150,15 +161,23 @@ class CNTVSpider extends Spider {
let liveResponse = await req(liveApiUrl, {"headers": this.getHeader()}) let liveResponse = await req(liveApiUrl, {"headers": this.getHeader()})
let liveJson = JSON.parse(liveResponse["content"]) let liveJson = JSON.parse(liveResponse["content"])
let playList = {} let playList = {}
playList["直播"] = ["点击播放$" + liveJson["hls_url"]["hls2"]] let channelName = obj["channelName"].split(" ")[0].replaceAll("-", "").toLowerCase()
let liveUrl = this.liveJson[channelName] ?? liveJson["hls_url"]["hls2"]
playList["直播"] = ["点击播放$" + liveUrl]
await this.jadeLog.info(`liveJson:${JSON.stringify(liveJson)}`) await this.jadeLog.info(`liveJson:${JSON.stringify(liveJson)}`)
let vod_items = [] let vod_items = []
if (this.liveJson[channelName] !== undefined) {
} else {
for (const data of obj["program"]) { for (const data of obj["program"]) {
let episodeName = data["showTime"] + "-" + data["t"] let episodeName = data["showTime"] + "-" + data["t"]
let episodeUrl = liveJson["hls_url"]["hls1"] + `?begintimeabs=${data["st"] * 1000}&endtimeabs=${data["et"] * 1000}` let episodeUrl = liveUrl + `?begintimeabs=${data["st"] * 1000}&endtimeabs=${data["et"] * 1000}`
vod_items.push(episodeName + "$" + episodeUrl) vod_items.push(episodeName + "$" + episodeUrl)
} }
}
if (vod_items.length > 0){
playList["点播"] = vod_items.join("#") playList["点播"] = vod_items.join("#")
}
return playList return playList
} }

@ -1,4 +1,4 @@
import {__jsEvalReturn} from './lovemovie18.js'; import {__jsEvalReturn} from './cntv.js';
import * as Utils from "../lib/utils.js"; import * as Utils from "../lib/utils.js";
@ -51,29 +51,33 @@ async function testMusicPlay(vodDetail) {
} }
async function test() { async function test() {
let siteKey = 'lovemovie18'; let siteKey = 'cntv';
let siteType = 3; let siteType = 3;
await spider.init({ await spider.init({
skey: siteKey, stype: siteType, ext: { skey: siteKey, stype: siteType, ext: {
"token": "6827db23e5474d02a07fd7431d3d5a5a", "token": "6827db23e5474d02a07fd7431d3d5a5a",
"box": "TV", "box": "TV",
"code": "1", "code": "1",
"from": "lovemovie18", "from": "cntv",
"danmu": true, "danmu": true,
"cookie": "buvid3=02675249-8ED3-C418-87F5-59E18316459714816infoc; b_nut=1704421014; _uuid=5D435F74-F574-D9AB-62C1-B9294DE465D913102infoc; buvid_fp=e8c5650c749398e9b5cad3f3ddb5081e; buvid4=007E85D1-52C1-7E6E-07CF-837FFBC9349516677-024010502-J5vTDSZDCw4fNnXRejbSVg%3D%3D; rpdid=|()kYJmulRu0J'u~|RRJl)JR; PVID=1; SESSDATA=3be091d3%2C1720332009%2C699ed%2A11CjAcCdwXG5kY1umhCOpQHOn_WP7L9xFBfWO7KKd4BPweodpR6VyIfeNyPiRmkr5jCqsSVjg0R0dZOVVHRUo3RnhPRTZFc3JPbGdiUjFCdHpiRDhiTkticmdKTjVyS1VhbDdvNjFMSDJlbUJydUlRdjFUNGFBNkJlV2ZTa0N1Q1BEVi1QYTQzTUh3IIEC; bili_jct=b0ee7b5d3f27df893545d811d95506d4; DedeUserID=78014638; DedeUserID__ckMd5=4c8c5d65065e468a; enable_web_push=DISABLE; header_theme_version=CLOSE; home_feed_column=5; CURRENT_BLACKGAP=0; CURRENT_FNVAL=4048; b_lsid=75E916AA_18EA1A8D995; bsource=search_baidu; FEED_LIVE_VERSION=V_HEADER_LIVE_NO_POP; browser_resolution=1507-691; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTIzNjk5MTMsImlhdCI6MTcxMjExMDY1MywicGx0IjotMX0.8zQW_fNTCSBlK_JkHnzu3gDw62wuTK1qgKcbGec3swM; bili_ticket_expires=171236985" "cookie": "buvid3=02675249-8ED3-C418-87F5-59E18316459714816infoc; b_nut=1704421014; _uuid=5D435F74-F574-D9AB-62C1-B9294DE465D913102infoc; buvid_fp=e8c5650c749398e9b5cad3f3ddb5081e; buvid4=007E85D1-52C1-7E6E-07CF-837FFBC9349516677-024010502-J5vTDSZDCw4fNnXRejbSVg%3D%3D; rpdid=|()kYJmulRu0J'u~|RRJl)JR; PVID=1; SESSDATA=3be091d3%2C1720332009%2C699ed%2A11CjAcCdwXG5kY1umhCOpQHOn_WP7L9xFBfWO7KKd4BPweodpR6VyIfeNyPiRmkr5jCqsSVjg0R0dZOVVHRUo3RnhPRTZFc3JPbGdiUjFCdHpiRDhiTkticmdKTjVyS1VhbDdvNjFMSDJlbUJydUlRdjFUNGFBNkJlV2ZTa0N1Q1BEVi1QYTQzTUh3IIEC; bili_jct=b0ee7b5d3f27df893545d811d95506d4; DedeUserID=78014638; DedeUserID__ckMd5=4c8c5d65065e468a; enable_web_push=DISABLE; header_theme_version=CLOSE; home_feed_column=5; CURRENT_BLACKGAP=0; CURRENT_FNVAL=4048; b_lsid=75E916AA_18EA1A8D995; bsource=search_baidu; FEED_LIVE_VERSION=V_HEADER_LIVE_NO_POP; browser_resolution=1507-691; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTIzNjk5MTMsImlhdCI6MTcxMjExMDY1MywicGx0IjotMX0.8zQW_fNTCSBlK_JkHnzu3gDw62wuTK1qgKcbGec3swM; bili_ticket_expires=171236985"
} }
}); });
let classes = JSON.parse(await spider.home(true)); let classes = JSON.parse(await spider.home(true));
console.debug(JSON.stringify(classes)) console.debug(JSON.stringify(classes))
//测试首页列表
let homeVod = JSON.parse(await spider.homeVod())
console.debug(JSON.stringify(homeVod));
// 测试分类
let catePage = JSON.parse(await spider.category("72", "2", undefined, {"live":"101"}));
console.debug(JSON.stringify(catePage))
// 测试详情 // 测试详情
let detail1 = JSON.parse(await spider.detail("/shechu/HODV21864binv1riSEXyoutiancaiyexiangqibing/")) let detail1 = JSON.parse(await spider.detail("live-cctv2-https://app.cctv.com/special/appchannellogo/rectangle/l/cctv1.png?q=75"))
await testPlay(detail1) await testPlay(detail1)
// 测试搜索 // 测试搜索
let search_page = JSON.parse(await spider.search("完美世界", false, 1)) let search_page = JSON.parse(await spider.search("完美世界", false, 1))
console.debug(JSON.stringify(search_page)) console.debug(JSON.stringify(search_page))
@ -81,23 +85,6 @@ async function test() {
// 测试分类
let catePage = JSON.parse(await spider.category("/tvb/", "2", undefined, {"class":"/guochan/"}));
console.debug(JSON.stringify(catePage));
//测试首页列表
let homeVod = JSON.parse(await spider.homeVod())
console.debug(JSON.stringify(homeVod));
// 测试详情 // 测试详情
if (search_page.list && search_page.list.length > 0) { if (search_page.list && search_page.list.length > 0) {
for (const k in search_page.list) { for (const k in search_page.list) {

@ -16,7 +16,7 @@ import {Spider} from "./spider.js";
class WoggSpider extends Spider { class WoggSpider extends Spider {
constructor() { constructor() {
super(); super();
this.siteUrl = 'https://tvfan.xxooo.cf'; this.siteUrl = 'https://www.wogg.xyz';
this.woggTypeObj = {"玩偶电影":"电影","玩偶剧集":"电视剧"} this.woggTypeObj = {"玩偶电影":"电影","玩偶剧集":"电视剧"}
} }

@ -725,7 +725,7 @@
{ {
"name": "live", "name": "live",
"type": 0, "type": 0,
"url": "https://agit.ai/fantaiying/0/raw/branch/main/tvlive.txt", "url": "https://gh.con.sh/https://github.com/jadehh/LiveSpider/blob/main/live/live.txt",
"playerType": 1, "playerType": 1,
"ua": "okhttp/3.15", "ua": "okhttp/3.15",
"epg": "http://epg.112114.xyz/?ch={name}&date={date}", "epg": "http://epg.112114.xyz/?ch={name}&date={date}",

Loading…
Cancel
Save