xxxx
This commit is contained in:
@@ -0,0 +1,156 @@
|
||||
/*
|
||||
* @File : haiwaikan.js
|
||||
* @Author : jade
|
||||
* @Date : 2024/04/02 9:15
|
||||
* @Email : jadehh@1ive.com
|
||||
* @Software : Samples
|
||||
* @Desc : 海外看
|
||||
*/
|
||||
import {VodSpider} from "./vodSpider.js";
|
||||
class HaiWaiKanSpider extends VodSpider {
|
||||
constructor() {
|
||||
super();
|
||||
this.siteUrl = "https://haiwaikan.com"
|
||||
this.remove18 = true
|
||||
this.type_id_18 = 0
|
||||
}
|
||||
|
||||
async spiderInit(inReq) {
|
||||
await super.spiderInit(inReq);
|
||||
}
|
||||
|
||||
|
||||
|
||||
async init(cfg) {
|
||||
await super.init(cfg);
|
||||
await this.spiderInit(null)
|
||||
|
||||
}
|
||||
|
||||
getAppName() {
|
||||
return "海外看"
|
||||
}
|
||||
|
||||
getName() {
|
||||
return "☕┃海外看┃☕墙"
|
||||
}
|
||||
|
||||
getJSName() {
|
||||
return "haiwaikan"
|
||||
}
|
||||
|
||||
getType() {
|
||||
return 3
|
||||
}
|
||||
|
||||
async setClasses() {
|
||||
let content = await this.fetch(this.siteUrl + "/api.php/provide/vod/from", {"ac": "list"}, this.getHeader())
|
||||
let content_json = JSON.parse(content)
|
||||
for (const class_dic of content_json["class"]) {
|
||||
if (class_dic["type_id"] < 26 ) {
|
||||
this.classes.push(this.getTypeDic(class_dic["type_name"], class_dic["type_id"].toString()))
|
||||
}
|
||||
}
|
||||
this.content_json = content_json
|
||||
}
|
||||
|
||||
async getFilter(type_id,obj) {
|
||||
let extend_list = []
|
||||
let extend_dic = {"key": "1", "name": "全部类别", "value": [{"n":"全部类别","v":type_id.toString()}]}
|
||||
for (const type_dic of obj["class"]){
|
||||
let a_type_id = type_dic["type_id"]
|
||||
let max_type_id = 0
|
||||
let min_type_id = 0
|
||||
if (type_id === 20){
|
||||
max_type_id = 50
|
||||
min_type_id = 27
|
||||
}
|
||||
if (type_id === 21){
|
||||
max_type_id = 128
|
||||
min_type_id = 100
|
||||
}
|
||||
if (type_id === 22){
|
||||
max_type_id = 143
|
||||
min_type_id = 134
|
||||
}
|
||||
if (type_id === 23){
|
||||
max_type_id = 135
|
||||
min_type_id = 127
|
||||
}
|
||||
if (a_type_id < max_type_id && a_type_id > min_type_id){
|
||||
extend_dic["value"].push({"n":type_dic["type_name"],"v":a_type_id.toString()})
|
||||
}
|
||||
}
|
||||
if (extend_dic["value"].length > 1){
|
||||
extend_list.push(extend_dic)
|
||||
return extend_list
|
||||
}else{
|
||||
return null
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
async setFilterObj() {
|
||||
let content = await this.fetch(this.siteUrl + "/api.php/provide/vod/from", {"ac": "list"}, this.getHeader())
|
||||
let content_json = JSON.parse(content)
|
||||
for (const type_dic of this.classes){
|
||||
let type_id = type_dic["type_id"]
|
||||
if (type_id !== "最近更新"){
|
||||
let extend_list = await this.getFilter(parseInt(type_id),content_json)
|
||||
if (extend_list !== null){
|
||||
this.filterObj[type_id] = extend_list
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
let spider = new HaiWaiKanSpider()
|
||||
|
||||
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}
|
||||
Reference in New Issue
Block a user