update ALL

This commit is contained in:
qist
2024-05-13 09:18:33 +08:00
parent d00445bc1f
commit 55034358cb
34 changed files with 708 additions and 522 deletions

View File

@@ -45,6 +45,17 @@
"playerType": 0,
"type": 3
},
{
"key": "jiujiuliu",
"name": "🔞┃九九六影视┃🔞",
"api": "./js/jiujiuliu.js",
"timeout": 30,
"ext": {
"box": "CatOpen"
},
"playerType": 0,
"type": 3
},
{
"key": "sehuatang",
"name": "🔞┃色花堂BT┃🔞",

View File

@@ -44,6 +44,17 @@
"playerType": 0,
"type": 3
},
{
"key": "jiujiuliu",
"name": "🔞┃九九六影视┃🔞",
"api": "./js/jiujiuliu.js",
"timeout": 30,
"ext": {
"box": "TVBox"
},
"playerType": 0,
"type": 3
},
{
"key": "sehuatang",
"name": "🔞┃色花堂BT┃🔞",

View File

@@ -114,7 +114,7 @@ class AiYingShiSpider extends Spider {
vodShort.vod_id = $(item).find(".video-serial")[0].attribs.href;
vodShort.vod_name = $(item).find(".video-serial")[0].attribs.title;
vodShort.vod_pic = $(item).find(".module-item-pic > img")[0].attribs['data-src']
vodShort.vod_remarks = '';
vodShort.vod_remarks = $($(item).find(".video-serial")[0]).text();
vod_list.push(vodShort);
}
return vod_list

View File

@@ -47,7 +47,7 @@ class GitCafeSpider extends Spider {
return {
"User-Agent":Utils.CHROME,
"Connection": "keep-alive",
"Cookie":"_ga=GA1.1.1506025676.1708225506;FCNEC=%5B%5B%22AKsRol9sCpH4JteOAAMprJLQxCHddrtkOFinxqt1cs8x3fKzbBZ5Ll76VvjATz1Ejf6NoayGSONFl2gfn6PbVAG97MlHjhp6cY5NFLQtLIUy0TuzI1_ThHnANe8fW03fHdU2-cx5yM3MftaHt4awEGBWhgtE9H_P5w%3D%3D%22%5D%5D;_cc_id=cc82bd83ea8936df45fe63c887a6f221;mysession=MTcwOTYyMjMxMHxEdi1CQkFFQ180SUFBUkFCRUFBQU1fLUNBQUVHYzNSeWFXNW5EQXdBQ25ObFlYSmphRjlyWlhrR2MzUnlhVzVuREJFQUQtV1JxT1draE9tWnBPUzRpZVd1c3c9PXyjHmLCdFvUlsW_gilBojjCq1ak-ffOud6aZKm3kxzJ4w==;Hm_lvt_02f69e0ba673e328ef49b5fb98dd4601=1708225506,1709622301,1710414091;_bid=28d3966abb8cf873ea912b715552f587;cf_clearance=6LuYs83fWIZlcwwzZkgRyYyFrP6Hndxe_CgByMe.pMs-1710414092-1.0.1.1-V44M.u7MNIozBytYixxp4Qe1OVr.CBH78.IEK2QJTWGQ7.HQBR0DoUgiSfpa23U.nxtOfhkrASpqogvz53knnw;cto_bundle=-WbYyl9VWGZjQkhzZ0gyQjE4VXNlcTJnYTNaV3dMaTdVV0xST3p5RkVnUTNxVWpxYVElMkZtNnVsaWtQSzdQU3JJY0slMkYxc3R5SXdyQlRzbkp1clVNZk84OElTR2MlMkJPeGx0bGtsUHk2VzhGdk1yYyUyRnB5eUNNblhKbWpzcjY1SVI1ODlWRGZXemgzUU51bGF5UWxFNVljcUZpd252bnVZZ1R1d0VXRmJ3S1FXQ1RCMXhVNCUzRA;Hm_lpvt_02f69e0ba673e328ef49b5fb98dd4601=1710416656;_ga_NYNC791BP2=GS1.1.1710414091.2.1.1710416656.0.0.0;_ga_0B2NFC7Z09=GS1.1.1710414091.2.1.1710416656.60.0.0;_egg=16a87a4666714be885e814217b225d50e"}
"Cookie":"mysession=MTcxNTQwNTU3N3xEdi1CQkFFQ180SUFBUkFCRUFBQUxmLUNBQUVHYzNSeWFXNW5EQXdBQ25ObFlYSmphRjlyWlhrR2MzUnlhVzVuREFzQUNlZVVoT1dzbS1TOG9BPT183zSLJi-U9NmKMODipFB6EPuVUbUbmCgYTaJrdiPwsLU="}
}
async getContentHtml() {

View File

@@ -83,6 +83,7 @@ class BQQSpider extends Spider {
bookDetail.book_content = $('[property$=description]')[0].attribs.content
bookDetail.book_pic = $($("[class=\"cover\"]")).find("img")[0].attribs.src
bookDetail.book_id = id
let playBook = {}
if (id !== undefined) {
$ = await this.getHtml(this.siteUrl + id + `list.html`);
let urls = [];
@@ -92,9 +93,13 @@ class BQQSpider extends Spider {
const link = l.attribs.href;
urls.push(name + '$' + link);
}
bookDetail.volumes = '全卷';
bookDetail.urls = urls.join('#');
playBook["最新章节"] = urls.slice(-10).join('#');
playBook["目录"] = urls.join('#');
}
bookDetail.volumes = _.keys(playBook).join('$$$');
bookDetail.urls = _.values(playBook).join('$$$');
return bookDetail
}

View File

@@ -16,7 +16,7 @@ import {_, load} from "../lib/cat.js";
class MoviePortSpider extends Spider {
constructor() {
super();
this.siteUrl = "https://www.dygangs.xyz"
this.siteUrl = "https://www.dygangs.org"
}
getAppName() {

View File

@@ -66,28 +66,15 @@ class JianPianSpider extends Spider {
let vodShort = new VodShort();
vodShort.vod_id = data["id"]
if (data["path"] !== undefined) {
if (!this.catOpenStatus) {
vodShort.vod_pic = data["path"] + "@Referer=www.jianpianapp.com@User-Agent=jianpian-version353@JPAUTH=y261ow7kF2dtzlxh1GS9EB8nbTxNmaK/QQIAjctlKiEv"
} else {
vodShort.vod_pic = this.jsBase + Utils.base64Encode(data["path"])
}
vodShort.vod_pic = this.jsBase + Utils.base64Encode(data["path"])
} else {
if (!this.catOpenStatus) {
vodShort.vod_pic = data["thumbnail"] + "@Referer=www.jianpianapp.com@User-Agent=jianpian-version353@JPAUTH=y261ow7kF2dtzlxh1GS9EB8nbTxNmaK/QQIAjctlKiE"
} else {
vodShort.vod_pic = this.jsBase + Utils.base64Encode(data["thumbnail"])
}
vodShort.vod_pic = this.jsBase + Utils.base64Encode(data["thumbnail"])
}
vodShort.vod_name = data["title"]
if (this.catOpenStatus) {
vodShort.vod_remarks = `评分:${data["score"]}`
} else {
if (data["playlist"] !== undefined) {
vodShort.vod_remarks = `评分:${data["score"]}` + " " + data["playlist"]["title"]
} else {
vodShort.vod_remarks = `评分:${data["score"]}`
}
if (data["mask"] !== undefined){
vodShort.vod_remarks = data["mask"]
}else{
vodShort.vod_remarks = data["playlist"]["title"]
}
vod_list.push(vodShort)
}

View File

@@ -15,11 +15,11 @@ import * as Utils from "../lib/utils.js";
class JiuJiuLiuSpider extends Spider {
constructor() {
super();
this.siteUrl = "https://www.cs1369.com"
this.siteUrl = "https://www.ojig519d8se.icu"
}
getName() {
return "🥃┃九九六影视┃🥃"
return "🔞┃九九六影视┃🔞"
}
getAppName() {
@@ -91,7 +91,7 @@ class JiuJiuLiuSpider extends Spider {
}
async setClasses() {
let html = await this.fetch(this.siteUrl, null, this.getHeader())
let html = await this.fetch(this.siteUrl, null, this.getHeader(),false,false,0,true)
if (html !== null) {
let $ = load(html)
let menuElements = $("[class=\"stui-header__menu type-slide\"]").find("a")

View File

@@ -121,9 +121,11 @@ class LiuJiuShuSpider extends Spider {
}
let name = $($(urlElemnet).find("[class=\"title jcc\"]")).text()
if (_.isEmpty(name)) {
playBook[$(sectionElement).text()] = vodItems.join("#")
let text = $(sectionElement).text().split("")[0]
playBook[text] = vodItems.join("#")
} else {
playBook[name] = vodItems.join("#")
name = name.replaceAll("《","").replaceAll("》","").replaceAll(bookDetail.book_name,"")
playBook[name] = vodItems.reverse().join("#")
}
}
bookDetail.volumes = _.keys(playBook).join('$$$');

View File

@@ -324,7 +324,7 @@ class Spider {
method: "get", headers: headers, buffer: buffer, data: null, redirect: 2, proxy: proxy
})
} else {
response = await req(uri.toString(), {method: "get", headers: headers, buffer: buffer, data: null,proxy:proxy});
response = await req(uri.toString(), {method: "get", headers: headers, buffer: buffer, data: null,proxy:proxy,timeout:10000});
}
if (response.code === 200 || response.code === 302 || response.code === 301 || return_cookie) {
return await this.getResponse(reqUrl, params, headers, redirect_url, return_cookie, buffer, response,proxy)

View File

@@ -93,7 +93,7 @@ class StarSpider extends Spider {
}
async setFilterObj() {
for (const type_dic of this.classes.slice(1, 5)) {
for (const type_dic of this.classes.slice(0, 4)) {
let type_id = type_dic["type_id"]
if (type_id !== "最近更新") {
let url = this.siteUrl + `${type_id}/all/all/all`

View File

@@ -1,4 +1,4 @@
import {__jsEvalReturn} from './ttkan.js';
import {__jsEvalReturn} from './mxanime.js';
import * as Utils from "../lib/utils.js";
@@ -51,14 +51,14 @@ async function testMusicPlay(vodDetail) {
}
async function test() {
let siteKey = 'ttkan';
let siteType = 10;
let siteKey = 'mxanime';
let siteType = 3;
await spider.init({
skey: siteKey, stype: siteType, ext: {
"token": "6827db23e5474d02a07fd7431d3d5a5a",
"box": "CatOpen",
"token": "51427b95ab9d47a6921a27951ebd3f1e",
"box": "TV",
"code": "1",
"from": "cntv",
"from": "star",
"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"
}
@@ -66,22 +66,32 @@ async function test() {
let classes = JSON.parse(await spider.home(true));
console.debug(JSON.stringify(classes))
// 测试详情
let detail1 = JSON.parse(await spider.detail("/novel/chapters/wanxiangzhiwang-tiancantudou"))
await testMusicPlay(detail1)
// 测试搜索
let search_page = JSON.parse(await spider.search("甄嬛传", false, 1))
console.debug(JSON.stringify(search_page))
//测试首页列表
let homeVod = JSON.parse(await spider.homeVod())
console.debug(JSON.stringify(homeVod));
// 测试详情
let detail1 = JSON.parse(await spider.detail("1872"))
await testPlay(detail1)
// 测试分类
let catePage = JSON.parse(await spider.category("/novel/class/lianzai", "1", undefined, {"sort":"/novel/class/lianzai_efgh"}));
let catePage = JSON.parse(await spider.category("2", "1", undefined, {}));
console.debug(JSON.stringify(catePage))
// 测试搜索
let search_page = JSON.parse(await spider.search("完美世界", false, 1))
console.debug(JSON.stringify(search_page))

View File

@@ -146,7 +146,7 @@ class TTKanSpider extends Spider {
const playUrl = epName + "+" + `${id.replaceAll("/novel/chapters/","")}_${page}.html` ;
nearVodItems.push(epName + '$' + playUrl)
}
playBook["最近章节"] = nearVodItems.join("#")
playBook["最近章节"] = nearVodItems.reverse().join("#")
let params = {"language":"cn","novel_id":id.replaceAll("/novel/chapters/",""),"__amp_source_origin":encodeURIComponent(this.siteUrl)}
let resJSon = JSON.parse(await this.fetch(this.apiUrl + "/nq/amp_novel_chapters" ,params,this.getHeader()))
let allVodItems = []
@@ -156,7 +156,7 @@ class TTKanSpider extends Spider {
allVodItems.push(epName + '$' + playUrl)
}
playBook["目录"] = allVodItems.join("#")
bookDetail.volumes = _.keys(playBook).join('$$$');
bookDetail.volumes = _.keys(playBook).join('$$$');
bookDetail.urls = _.values(playBook).join('$$$');
return bookDetail
}

View File

@@ -104,7 +104,7 @@ class WoggSpider extends Spider {
vodShort.vod_id = $(item).find(".video-serial")[0].attribs.href;
vodShort.vod_name = $(item).find(".video-serial")[0].attribs.title;
vodShort.vod_pic = $(item).find(".module-item-pic > img")[0].attribs['data-src'];
vodShort.vod_remarks = '';
vodShort.vod_remarks = $($(item).find(".video-serial")[0]).text();
vod_list.push(vodShort);
}
return vod_list

View File

@@ -135,11 +135,18 @@ class DanmuSpider {
}
async downloadDanmu(url) {
let json = JSON.parse(await this.fetch(url, null, this.getHeader()))
let xml = parseXML(json)
let params = {"do": "set", "key": "danmu", "value": xml}
await req("http://127.0.0.1:9978/cache", {method: "post", data: params, postType: "form-data"});
return "http://127.0.0.1:9978/cache?do=get&key=danmu"
// 如果没有找到弹幕的话,容易导致卡在这一步,从而导致结果加载不出来
let response = await req(url,{headers:this.getHeader()})
if (response.code === 200){
let xml = parseXML(JSON.parse(response.content))
let params = {"do": "set", "key": "danmu", "value": xml}
await req("http://127.0.0.1:9978/cache", {method: "post", data: params, postType: "form-data"});
return "http://127.0.0.1:9978/cache?do=get&key=danmu"
}
else{
this.jadeLog.error(`弹幕请求失败,返回结果为:${JSON.stringify(response)}`)
return ""
}
}
async search(vodDetail, episodeId) {

View File

@@ -34,4 +34,4 @@ const Indexes = {
'x-mac-cyrillic': [1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]
}
export default Indexes
export {Indexes}

View File

@@ -1,5 +1,5 @@
import { inRange } from './text_decoder_utils.js'
import Indexes from './encoding-indexes.js'
import {Indexes} from './encoding-indexes.js'
//
// 6. Indexes

View File

@@ -103,17 +103,6 @@
"playerType": 0,
"type": 3
},
{
"key": "jiujiuliu",
"name": "🥃┃九九六影视┃🥃",
"api": "./js/jiujiuliu.js",
"timeout": 30,
"ext": {
"box": "CatOpen"
},
"playerType": 0,
"type": 3
},
{
"key": "bilibili",
"name": "🏰┃哔哩哔哩┃🏰",

View File

@@ -102,17 +102,6 @@
"playerType": 0,
"type": 3
},
{
"key": "jiujiuliu",
"name": "🥃┃九九六影视┃🥃",
"api": "./js/jiujiuliu.js",
"timeout": 30,
"ext": {
"box": "TVBox"
},
"playerType": 0,
"type": 3
},
{
"key": "bilibili",
"name": "🏰┃哔哩哔哩┃🏰",