diff --git a/.vscode/launch.json b/.vscode/launch.json index e1194256..afa3bfc5 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,6 +4,7 @@ // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + { "name": "Python: 当前文件", "type": "python", diff --git a/js/testSpider.js b/js/testSpider.js index b14c3594..62dd7da3 100644 --- a/js/testSpider.js +++ b/js/testSpider.js @@ -1,4 +1,4 @@ -import {__jsEvalReturn} from './wogg.js'; +import {__jsEvalReturn} from '../js/jianpian.js'; import * as Utils from "../lib/utils.js"; @@ -51,7 +51,7 @@ async function testMusicPlay(vodDetail) { } async function test() { - let siteKey = 'wogg'; + let siteKey = 'jianpian'; let siteType = 3; await spider.init({ skey: siteKey, stype: siteType, ext: { @@ -68,17 +68,22 @@ async function test() { let classes = JSON.parse(await spider.home(true)); console.debug(JSON.stringify(classes)) + + //测试首页列表 + let homeVod = JSON.parse(await spider.homeVod()) + console.debug(JSON.stringify(homeVod)); // 测试详情 - let detail1 = JSON.parse(await spider.detail("/index.php/voddetail/84022.html")) + let detail1 = JSON.parse(await spider.detail("562381")) await testPlay(detail1) + /*** + * + * "HD粤语中英双字$ftp://a.gbl.114s.com:20320/9607/潜行-2023_HD粤语中英双字.mp4#HD国语中英双字$ftp://a.gbl.114s.com:20320/8224/潜行-2023_HD国语中英双字.mp4#BD国粤双语中字$ftp://a.gbl.114s.com:20320/1413/潜行-2023_BD国粤双语中字.mp4" + */ + - - //测试首页列表 - let homeVod = JSON.parse(await spider.homeVod()) - console.debug(JSON.stringify(homeVod)); diff --git a/js/xgcartoon.js b/js/xgcartoon.js new file mode 100644 index 00000000..2ec1c82d --- /dev/null +++ b/js/xgcartoon.js @@ -0,0 +1,143 @@ +/* +* @Author: jadehh +* @Date: 2024-06-21 15:47:27 +* @LastEditTime: 2024-06-21 16:20:30 +* @LastEditors: jadehh +* @Description: +* @FilePath: \TVSpider\js\xgcartoon.js +* @ +*/ +import * as Utils from "../lib/utils.js"; +import {_, load} from "../lib/cat.js"; +import {VodDetail, VodShort} from "../lib/vod.js"; +import {Spider} from "./spider.js"; + + +class XGCartoonSpider extends Spider { + constructor() { + super(); + this.siteUrl = "https://cn.xgcartoon.com/" + this.nextObj = {} + } + + + getName() { + return `🍉┃西瓜卡通┃🍉` + } + + getAppName() { + return "西瓜卡通" + } + + + getJSName() { + return "xgcartoon" + } + + getType() { + return 3 + } + + + async setClasses() { + let $ = await this.getHtml(this.siteUrl) + let navElements = $('[class="index-tab"]').find("a") + for (const navElement of navElements){ + let type_name = $(navElement).text() + let type_id = navElement.attribs.href + this.classes.push(this.getTypeDic(type_name,type_id)) + } + let x = 0 + } + + + async parseVodShortListFromJson(obj) { + let vod_list = [] + for (const data of obj) { + let vodShort = new VodShort() + vodShort.vod_id = data["vodId"] + vodShort.vod_name = data["vodName"] + vodShort.vod_remarks = data["watchingCountDesc"] + vodShort.vod_pic = data["coverImg"] + vod_list.push(vodShort) + } + return vod_list + } + + async parseVodDetailfromJson(obj) { + let vodDetail = new VodDetail() + + return vodDetail + } + + async setHomeVod() { + + } + + async setCategory(tid, pg, filter, extend) { + + + + } + + async setDetail(id) { + + } + + async setPlay(flag, id, flags) { + + } + + async setSearch(wd, quick) { + + } + +} + +let spider = new XGCartoonSpider() + +async function init(cfg) { + await spider.init(cfg) +} + +async function home(filter) { + return await spider.home(filter) +} + +async function homeVod() { + return await spider.homeVod() +} + +async function category(tid, pg, filter, extend) { + return await spider.category(tid, pg, filter, extend) +} + +async function detail(id) { + return await spider.detail(id) +} + +async function play(flag, id, flags) { + return await spider.play(flag, id, flags) +} + +async function search(wd, quick) { + return await spider.search(wd, quick) +} + +async function proxy(segments, headers) { + return await spider.proxy(segments, headers) +} + +export function __jsEvalReturn() { + return { + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search, + proxy: proxy + }; +} +export {spider} \ No newline at end of file diff --git a/lib/bilibili_ASS_Danmaku_Downloader.js b/lib/bilibili_ASS_Danmaku_Downloader.js index 889606e9..913e7ea3 100644 --- a/lib/bilibili_ASS_Danmaku_Downloader.js +++ b/lib/bilibili_ASS_Danmaku_Downloader.js @@ -8,18 +8,6 @@ */ function parseXML(json) { let list = []; - /** - * - * - * {Text} - * timeΪĻƵʱ --> - * typeΪĻ --> - * sizeΪС --> - * colorΪʮƵRGBɫ16ת10ƣ --> - * timestampΪĻʱunixʱ --> - * poolΪĻ --> - * uid_crc32Ϊuidcrc32 --> - */ Array.from(json.danmuku).forEach(x => { let start = Number(x[0]); let content = x[4];