parent
6e407159a3
commit
ddd2ab9a25
|
|
@ -1,261 +1,130 @@
|
||||||
/*
|
//bbAsgBdGh0dHBzOi8vYW5kcm9pZGNhdHZvZHNwaWRlci5wYWdlcy5kZXYvanNvbi9qcy9uZXd2aXNp
|
||||||
* @File : newvision.js
|
b24uanMaLi4vbGliL3ZvZC5qcx4uLi9saWIvdXRpbHMuanMWLi9zcGlkZXIuanMaLi4vbGliL2Nh
|
||||||
* @Author : jade
|
dC5qcxxfX2pzRXZhbFJldHVybgxzcGlkZXISVm9kRGV0YWlsEFZvZFNob3J0DFNwaWRlcgxDcnlw
|
||||||
* @Date : 2024/2/20 14:14
|
dG8eTmV3VmlzaW9uU3BpZGVyClV0aWxzCGluaXQIaG9tZQ5ob21lVm9kEGNhdGVnb3J5DGRldGFp
|
||||||
* @Email : jadehh@1ive.com
|
bAhwbGF5DHNlYXJjaBRnZXRBcHBOYW1lDmdldE5hbWUSZ2V0SlNOYW1lDmdldFR5cGUUc2V0Q2xh
|
||||||
* @Software : Samples
|
c3NlcxJnZXRGaWx0ZXIYc2V0RmlsdGVyT2JqMHBhcnNlVm9kU2hvcnRMaXN0RnJvbURvYzJwYXJz
|
||||||
* @Desc : 新视觉影院
|
ZVZvZFNob3J0TGlzdEZyb21Kc29uKnBhcnNlVm9kRGV0YWlsRnJvbURvYxRzZXRIb21lVm9kFnNl
|
||||||
*/
|
dENhdGVnb3J5EnNldERldGFpbAZ1aWMOc2V0UGxheRJzZXRTZWFyY2guaHR0cHM6Ly93d3cuNjA4
|
||||||
import {VodDetail, VodShort} from "../lib/vod.js"
|
MHl5My5jb20Oc2l0ZVVybAuwZcaJyYlxX2KWFz3YPNwDJbBlxonJiXFfYpYDJT3YPNwSbmV3dmlz
|
||||||
import * as Utils from "../lib/utils.js";
|
aW9uAiQWbmF2RWxlbWVudHMUbmF2RWxlbWVudA50eXBlX2lkEnR5cGVfbmFtZQ5nZXRIdG1sMFtj
|
||||||
import {Spider} from "./spider.js";
|
bGFzcz0ibmF2LW1lbnUtaXRlbXMiXQhmaW5kAmEaZ2V0U3RyQnlSZWdleA5hdHRyaWJzCGhyZWYK
|
||||||
import {Crypto} from "../lib/cat.js";
|
dGl0bGUSaXNOdW1lcmljDmNsYXNzZXMIcHVzaBRnZXRUeXBlRGljEGVsZW1lbnRzFmV4dGVuZF9s
|
||||||
|
aXN0GnR5cGVfa2V5X2xpc3QCaRRleHRlbmRfZGljBmVsZRh0eXBlX2lkX2xpc3QwW2NsYXNzPSdz
|
||||||
|
Y3JvbGwtY29udGVudCddCnNsaWNlCHRleHQGa2V5BWhR6JACbgJ2Ai0kZGVjb2RlVVJJQ29tcG9u
|
||||||
class NewVisionSpider extends Spider {
|
ZW50EHR5cGVfZGljBnVybAkAZ9GP9GawZRIvdm9kc2hvdy8gLS0tLS0tLS0tLS0uaHRtbBJmaWx0
|
||||||
constructor() {
|
ZXJPYmoKaXRlbXMQdm9kX2xpc3QIaXRlbRB2b2RTaG9ydAhvbmVBGC5tb2R1bGUtaXRlbUoubW9k
|
||||||
super();
|
dWxlLWl0ZW0tY292ZXIgLm1vZHVsZS1pdGVtLXBpYyBhCmZpcnN0CGF0dHIMdm9kX2lkEHZvZF9u
|
||||||
this.siteUrl = "https://www.6080yy3.com"
|
YW1lTi5tb2R1bGUtaXRlbS1jb3ZlciAubW9kdWxlLWl0ZW0tcGljIGltZxBkYXRhLXNyYw52b2Rf
|
||||||
}
|
cGljDmluZGV4T2YYaW1nLnBocD91cmw9Ii5tb2R1bGUtaXRlbS10ZXh0FnZvZF9yZW1hcmtzBm9i
|
||||||
|
agxyZXN1bHQIRGF0YQ52b2RfdXJsFHJlcGxhY2VBbGwIaHRtbBJ2b2REZXRhaWwgdm9kRGV0YWls
|
||||||
getAppName() {
|
RWxlbWVudBh0eXBlRWxlbWVudHMSdHlwZV9saXN0FnR5cGVFbGVtZW50GGl0ZW1FbGVtZW50cxRh
|
||||||
return "新视觉影院"
|
Y3Rvcl9saXN0GGFjdG9yRWxlbWVudChwbGF5ZXJmb3JtYXRFbGVtZW50cx5wbGF5VXJsRWxlbWVu
|
||||||
}
|
dHMkdm9kX3BsYXlfZnJvbV9saXN0GnZvZF9wbGF5X2xpc3QicGxheUZvcm1hdEVsZW1lbnQWZm9y
|
||||||
|
bWF0X25hbWUQdm9kSXRlbXMccGxheVVybEVsZW1lbnQWZXBpc29kZU5hbWUUZXBpc29kZVVybDRb
|
||||||
getName() {
|
Y2xhc3M9ImJveCB2aWV3LWhlYWRpbmciXShbY2xhc3M9InBhZ2UtdGl0bGUiXSRbY2xhc3M9InRh
|
||||||
return "🐼┃新视觉影院┃🐼"
|
Zy1saW5rIl0Qdm9kX2FyZWECLzRbY2xhc3M9InZpZGVvLWluZm8taXRlbXMiXRh2b2RfZGlyZWN0
|
||||||
}
|
b3IyW2NsYXNzPSJtb2R1bGUtaXRlbS1waWMiXQZpbWcSdm9kX2FjdG9yMltjbGFzcz0idmlkZW8t
|
||||||
getJSName() {
|
aW5mby1pdGVtIl0Qdm9kX3llYXJwW2NsYXNzPSJ2aWRlby1pbmZvLWl0ZW0gdmlkZW8taW5mby1j
|
||||||
return "newvision"
|
b250ZW50IHZvZF9jb250ZW50Il0CCgIJBwkANmV3jRZ2b2RfY29udGVudERbY2xhc3M9Im1vZHVs
|
||||||
}
|
ZS10YWItaXRlbSB0YWItaXRlbSJdMFtjbGFzcz0ic2Nyb2xsLWNvbnRlbnQiXSZkYXRhLWRyb3Bk
|
||||||
|
b3duLXZhbHVlBThZS1ECIwYkJCQadm9kX3BsYXlfZnJvbRh2b2RfcGxheV91cmwWaG9tZVZvZExp
|
||||||
getType() {
|
c3QGdGlkBHBnDGZpbHRlcgxleHRlbmQSdXJsUGFyYW1zDHJlcVVybAloUeiQZ1LFYAloUeiQ9mX0
|
||||||
return 3
|
lQloUeiQMFc6Uwn2ZfSVkmOPXiYvaW5kZXgucGhwL3ZvZHNob3cvCi5odG1sDnZvZExpc3QEaWQG
|
||||||
}
|
dWlkBHV0BG1tEmRlY3J5cHRlZAZlbmMIVXRmOApwYXJzZQx0Qjk1OUMgMkYxMzFCRTkxMjQ3ODY2
|
||||||
async setClasses() {
|
RQZBRVMOZGVjcnlwdARpdghtb2RlBkNCQwZwYWQKUGtjczcOcGFkZGluZxJzdHJpbmdpZnkIZmxh
|
||||||
let $ = await this.getHtml()
|
Zw5wbGF5VXJsDG5ld1VybApwbGF5JBBwbGF5SHRtbBRwbGF5Q29uZmlnGFtpZD0iYmZ1cmwiXQho
|
||||||
let navElements = $($("[class=\"nav-menu-items\"]")[0]).find("a")
|
dHRwoAFodHRwczovL2ppZXhpLnhuLS0xbHE5MGkxM214azVib2xobThrLnhuLS1maXFzOHMvcGxh
|
||||||
for (const navElement of navElements) {
|
eWVyL2VjLnBocD9jb2RlPWFrJmlmPTEmdXJsPQxjb25maWcEd2QKcXVpY2sOY29udGVudH5odHRw
|
||||||
let type_id = Utils.getStrByRegex(/\/vodtype\/(.*?).html/, navElement.attribs.href)
|
Oi8vMTIzLjIwNy4xNTAuMjUzL3p4YXBpL3B1YmxpYy8/c2VydmljZT1BcHAuRi5GZXRjaCZyZXFf
|
||||||
let type_name = navElement.attribs.title
|
cD0UJnR5cGU9NjA4MApmZXRjaBJnZXRIZWFkZXIGY2ZnEHNlZ21lbnRzDmhlYWRlcnMPwgMExAPG
|
||||||
if (Utils.isNumeric(type_id)) {
|
A8gDygMCAA/MAwAGzgMABQDQAwAB0gMAAvoBAQPUAwIE1gMDDgAGAaABAAIAAxAa1wEC2AMCADDs
|
||||||
this.classes.push(this.getTypeDic(type_name, type_id))
|
AQMBcNADAAzSAwEM2gMCDdQDAwzWAwQM2AMACc4DAQncAwIB3gMDAeADBAHiAwUB5AMGAeYDBwHo
|
||||||
}
|
AwgBhgIJAcwDCgEI6i/AEV8HAMASXwgAwBNfCQDAFF8KAMAVXwsAwBZfDADAF18NAMAYXw4AwBlf
|
||||||
}
|
DwApYQAAZQMAYQEAvwBW7AAAAAHAAVT1AAAAAMACVPYAAAAAwANU9wAAAADABFT4AAAAAMAFVPkA
|
||||||
}
|
AAAAwAZU+gAAAADAB1T7AAAAAMAIVPwAAAAAwAlU/QAAAADAClT+AAAAAMALVP8AAAAAwAxUAAEA
|
||||||
|
AADADVQBAQAAAMAOVAIBAAAAwA9UAwEAAADAEFQEAQAAAAbKDs1oAQBfBQBlBQARIQAAXwYAKcID
|
||||||
async getFilter($) {
|
ATcBADEeABEQAAgILQAICAAIFgAIKAAIFgAIJAAIGAAIXgAICgAIKAAICgAIDgAIHgAIDCw2AApe
|
||||||
let elements = $("[class='scroll-content']").slice(1)
|
DsYHAQAAAwADAQA0A+QBAAEA4gEAAQAQAAEg7AEBDQwCyQwDymECACvFNMYhAAARZAIAZQAAEeoI
|
||||||
let extend_list = []
|
YgIAGyQAAA4OYgIABAUBAABDBgEAAGICACjCAxAENYBEEg5CBwEAAAAAAQAABgAEBwEAACjCAxUC
|
||||||
let type_key_list = [3, 1, 11, 2]
|
AxwOQgcBAAAAAAEAAAYABAgBAAAowgMZAgMcDkIHAQAAAAABAAAGAAQJAQAAKMIDHAIDHA5CBwEA
|
||||||
for (let i = 0; i < elements.length; i++) {
|
AAAAAQAAAgC4KMIDIAIDCA5iBwEAAAYACQECpwEGlAQBACCWBAEBIJgEAgIwmgQDAyCcBAMEIBAA
|
||||||
let name = $($(elements[i]).find("a")[0]).text()
|
AQDaAwIMCMMFYQEAYQAAwgVCDwEAACQAAIvJYgAAYgAABBABAADvtUfvQhEBAAAEEgEAACQBAMph
|
||||||
let extend_dic = {"key": name, "name": name, "value": []}
|
AgBiAQB97GXLYQQAYQMAZQAAQhMBAAC/AL8BM2ICAEEUAQAAQRUBAAAkAgDMYgIAQRQBAABBFgEA
|
||||||
extend_dic["name"] = name
|
AMMEZQAAQhcBAABiAwAkAQDqIcIFQRgBAABCGQEAAMIFQhoBAABiBABiAwAkAgAkAQAOgADqmQ6D
|
||||||
extend_dic["value"].push({"n": "全部", "v": "0"})
|
Bi7CAyMJMD+UU5lOU6QhBypcL3ZvZHR5cGVcLyguKj8pLmh0bWwHnAEAAgBHAAAACAYAAAAEB/X/
|
||||||
for (const ele of $(elements[i]).find("a").slice(1)) {
|
//8LAAEvAAF2AAFvAAFkAAF0AAF5AAFwAAFlAAEvAAsBCAYAAAADB/X///8MAQMBaAABdAABbQAB
|
||||||
let type_id_list = Utils.getStrByRegex(/\/vodshow\/(.*?).html/, ele.attribs.href).split("-")
|
bAAMAAoOYgcBAAEIAQoBA+QCCZQEAAEAtgQBACC4BAEBILoEAQIgvAQCAyBsAwQgvgQDBSDABAQG
|
||||||
extend_dic["value"].push({
|
MMIEBQcg2gMCDGECAGEBAGEAANEEIgEAAO9CIwEAALYkAQDJJgAAyri2vQu3JgQAy2EDALXMYgMA
|
||||||
"n": $(ele).text(), "v": decodeURIComponent(type_id_list[type_key_list[i]])
|
YgAA6aNpKwEAAGEFAGEEANHRYgAAYgMAR+9CEQEAAAQSAQAAJAEAtUfvQiQBAAAkAADDBAtiBABM
|
||||||
})
|
JQEAAGIEAEw2AAAAJgAATEAAAADDBWIFAAQ2AAAAcWIEAEliBQAEQAAAAEdCGQEAAAsEJgEAAEwn
|
||||||
}
|
AQAAvwBMKAEAACQBAA5hBgDRYgAAYgMAR+9CEQEAAAQSAQAAJAEAQiMBAAC2JAEAfextwwZhBwBl
|
||||||
extend_list.push(extend_dic)
|
AABCEwEAAL8BvwIzYgYAQRQBAABBFQEAACQCAEJdAAAABCkBAAAkAQDDB2IFAARAAAAAR0IZAQAA
|
||||||
}
|
C9FiBgDvQiQBAAAkAABMJwEAADgqAQAAYgcAYgIAYgMAR0fvTCgBAAAkAQAOgADqkQ6DYgEAQhkB
|
||||||
return extend_list
|
AABiBQAkAQAOYgMAkWMDAA7tzv5iAQAuwgMvETBYFzB7t4pEt9XfTssXIU46BwIwBypcL3ZvZHNo
|
||||||
}
|
b3dcLyguKj8pLmh0bWwHnAEAAgBHAAAACAYAAAAEB/X///8LAAEvAAF2AAFvAAFkAAFzAAFoAAFv
|
||||||
|
AAF3AAEvAAsBCAYAAAADB/X///8MAQMBaAABdAABbQABbAAMAAoOYgcBAAAFAAgAAH4F1gQCADCa
|
||||||
async setFilterObj() {
|
BAMBINgEBQIglAQFAyAQAAEACMMEYQAAwgRBGAEAAH3sZ8lhAQBiAAAEDQEAAEfKYgEABC0BAACs
|
||||||
for (const type_dic of this.classes) {
|
6k5hAwBhAgDCBEEGAQAABC4BAABCXAAAAGIBAAQvAQAAJAIAncvCBEIPAQAAYgIAJAEAi8zCBEEw
|
||||||
let type_id = type_dic["type_id"]
|
AQAAYgEAccIEQvoAAABiAwAkAQCLSYAA6pcOgwYuwgNDCBJYNViZToYhDmIHAQABBQEHAQCkAgaU
|
||||||
if (type_id !== "最近更新") {
|
BAABAOIEAQAg5AQBASDmBAICMOgEAwMg6gQDBCDSAwEMYQEAYQAA0QQ2AQAA78kmAADKYQIAYgAA
|
||||||
let url = this.siteUrl + `/vodshow/${type_id}-----------.html`
|
fe39AMthBABhAwBlAAARIQAAzNFiAgDvQhEBAAAENwEAACQBAEI4AQAAJAAAwwRiAwBiBABCOQEA
|
||||||
let $ = await this.getHtml(url)
|
AAQVAQAAJAEAQzoBAABiAwBiBABCOQEAAAQWAQAAJAEAQzsBAABiAwDRYgIA70IRAQAABDwBAAAk
|
||||||
this.filterObj[type_id] = await this.getFilter($)
|
AQBCOAEAACQAAEI5AQAABD0BAAAkAQBDPgEAAGIDAEE+AQAAQj8BAAAEQAEAACQBALWl6iBiAwBi
|
||||||
}
|
AwBBPgEAAEJdAAAABEABAAAkAQC2R0M+AQAAYgMA0WICAO9CEQEAAARBAQAAJAEAQjgBAAAkAABC
|
||||||
}
|
JAEAACQAAENCAQAAYgEAQhkBAABiAwAkAQAOgABpAv///w6DYgEALsIDTg4hKxdYK497e+6An9VO
|
||||||
}
|
MA5iBwEAAQQBCAEAgwEFhgUAAQDkBAEAIIgFAgEw6AQDAiAQAAEA0gMBDAjMYQAAJgAAyWEBANEE
|
||||||
|
RQEAAEcERAEAAEd97F7KYQIAZQAAESEAAMtiAgBiAQAERgEAAEdCRwEAAMhBBgEAAMEkAgBDOgEA
|
||||||
async parseVodShortListFromDoc($) {
|
AGICAGIBAAQ+AQAAR0M+AQAAYgIAYgEABDsBAABHQzsBAABiAABCGQEAAGICACQBAA6AAOqgDoNi
|
||||||
let items = $('.module-item');
|
AAAuwgNgCRwXdiujWFhOIQ5iBwEAARQBBwEAiQcVlAQAAQCQBQEAIJIFAQEglAUBAiCWBQEDIJgF
|
||||||
let vod_list = [];
|
AQQgmgUCDTCcBQEFIJ4FAQcgoAUEDTCiBQEIIKQFAQogpgUBCyCoBQEMILwEBg0gqgUHDiCsBQcP
|
||||||
for (const item of items) {
|
IK4FCRAgsAUKETCyBQsSILQFCxMg0AMADGEMAGELAGEKAGEJAGEHAGEGAGEEAGEDAGECAGEBAGEA
|
||||||
let vodShort = new VodShort()
|
ANFCSAEAACQAAMllAAARIQAAytEEWwEAAO/LYgEA0dFiAgDvQhEBAAAEXAEAACQBAO9CJAEAACQA
|
||||||
let oneA = $(item).find('.module-item-cover .module-item-pic a').first();
|
AEM7AQAA0dFiAgDvQhEBAAAEXQEAACQBAEIRAQAABBIBAAAkAQDvzGIBANHRYgIA70IRAQAABF0B
|
||||||
vodShort.vod_id = oneA.attr('href');
|
AAAkAQBCIwEAALQkAQC1R+9CJAEAACQAAENeAQAAJgAAwwRhBQBiAwB97BzDBWIEAEIZAQAA0WIF
|
||||||
vodShort.vod_name = oneA.attr('title');
|
AO9CJAEAACQAACQBAA6AAOriDoNiAQBiBABCWwAAAARfAQAAJAEAQw4BAADRYgIA70IRAQAABGAB
|
||||||
vodShort.vod_pic = $(item).find('.module-item-cover .module-item-pic img').first().attr('data-src');
|
AAAkAQDDBmIBANHRYgYAtUfvQhEBAAAEEgEAACQBAO9CJAEAACQAAENhAQAAJgAAwwdhCADRYgYA
|
||||||
if (vodShort.vod_pic.indexOf("img.php?url=") > 0) {
|
tkfvQhEBAAAEEgEAACQBAH3sHMMIYgcAQhkBAADRYggA70IkAQAAJAAAJAEADoAA6uIOg2IBANHR
|
||||||
vodShort.vod_pic = vodShort.vod_pic.split("img.php?url=")[1]
|
YgIA70IRAQAABGIBAAAkAQDvQhEBAAAEYwEAACQBALVHQRQBAAAEPQEAAEdDPgEAAGIBAGIHAEJb
|
||||||
}
|
AAAABF8BAAAkAQBDZAEAAGIBANHRYgYAt0fvQhEBAAAEZQEAACQBAO9CJAEAACQAAENmAQAAYgEA
|
||||||
vodShort.vod_remarks = $(item).find('.module-item-text').first().text();
|
0dFiBgC4R+9CEQEAAARlAQAAJAEA70IkAQAAJAAAQ0IBAABiAQDR0WIGALpH70IRAQAABGcBAAAk
|
||||||
vod_list.push(vodShort)
|
AQDvQiQBAAAkAABCRwEAAARoAQAABGkBAAAkAgBCRwEAAARqAQAAwSQCAENrAQAA0QRsAQAA78MJ
|
||||||
}
|
0QRtAQAA78MKJgAAwwsmAADDDGENALXDDWINAGIJAOmjadkAAABhDwBhDgBiCQBiDQBHww5iDgBB
|
||||||
return vod_list
|
FAEAAARuAQAAR8MPYg8AQj8BAAAEbwEAACQBALSraZgAAABhEABiCwBCGQEAAGIPACQBAA4mAADD
|
||||||
}
|
EGERANFiCgBiDQBH70IRAQAABBIBAAAkAQB97EDDEWETAGESANFiEQDvQiQBAAAkAADDEmIRAEEU
|
||||||
|
AQAAQRUBAADDE2IQAEIZAQAAYhIABAoBAACdYhMAnSQBAA6AAOq+DoNiDABCGQEAAGIQAEJbAAAA
|
||||||
async parseVodShortListFromJson(obj) {
|
BHABAAAkAQAkAQAOYg0AkWMNAA7tIP9iAQBiCwBCWwAAAARxAQAAJAEAQ3IBAABiAQBiDABCWwAA
|
||||||
let vod_list = []
|
AARxAQAAJAEAQ3MBAABiAQAuwgNsLqg1Kyu3re4cOoAhe2fBHI+AIQA2AnvBwQBGAjAwHByAMFOF
|
||||||
for (const result of obj["Data"]["result"]){
|
Thy3Tk6AIZE6e3sOYgcBAAACAAQAACUClAQBACAQAAEACMphAADGQg8BAAAkAACLycbGQvwAAABi
|
||||||
let vodShort = new VodShort()
|
AAAkAQCLQ3QBAAAGLsIDmwEDHDpiDmIHAQAEBQQMAASzAgnqBQABAOwFAAEA7gUAAQDwBQABAPIF
|
||||||
vodShort.vod_id = result["vod_url"].replaceAll(this.siteUrl,"")
|
AQAgugQBASD0BQECIJQEAQMgEAABAAjDBGEDAGECAGEBAGEAANFCNwAAACQAAMHBwcHBwcHSQjcA
|
||||||
vodShort.vod_pic = result["vod_pic"]
|
AAAkAADBwcEmDADJuL0LtrcmBADK1AR7AQAARzhFAAAArOoe1AR7AQAAR78ArOoSYgAAYgEAtUdx
|
||||||
vodShort.vod_name = result["vod_name"]
|
1AR7AQAAR0nUBHwBAABHOEUAAACs6h7UBHwBAABHvwGs6hJiAABiAQC2R3HUBHwBAABHSdQEfQEA
|
||||||
vod_list.push(vodShort)
|
AEc4RQAAAKzqHtQEfQEAAEe/AqzqEmIAAGIBALdHcdQEfQEAAEdJ1AR+AQAARzhFAAAArOoe1AR+
|
||||||
}
|
AQAAR78DrOoSYgAAYgEAuEdx1AR+AQAAR0nCBEEGAQAABH8BAACdYgAAQlsAAAAEKQEAACQBAJ0E
|
||||||
return vod_list
|
gAEAAJ3LwgRCDwEAAGICACQBAIvMwgTCBEL8AAAAYgMAJAEAi0OBAQAABi7CA6ABDk6jMIpZilmK
|
||||||
}
|
WYpZvE5sBwIwBwIwBwIwBwIwDmIHAQABAgEEAAAtA4QGAAEAlAQBACAQAAEACMphAADGQg8BAADG
|
||||||
|
QQYBAADRnSQBAIvJxsZC/gAAAGIAACQBAItDSQEAAAYuwgO0AQMcYmIOQgcBAAIDAgYBAZ4BBdgE
|
||||||
async parseVodDetailFromDoc($) {
|
AAEAhgYAAQCIBgEAIIoGAQEgjAYBAiDWAwQMYQIAYQEAYQAAZQAAQYcBAABBiAEAAEKJAQAAvwDS
|
||||||
let html = $.html()
|
nQSKAQAAnSQBAMllAABBhwEAAEGIAQAAQokBAAAEiwEAACQBAMplAABBjAEAAEKNAQAA0WIAAAti
|
||||||
let vodDetail = new VodDetail()
|
AQBMjgEAAGUAAEGPAQAAQZABAABMjwEAAGUAAEGRAQAAQZIBAABMkwEAACQDAMtlAABBhwEAAEGI
|
||||||
let vodDetailElement = $("[class=\"box view-heading\"]")
|
AQAAQpQBAABiAgAlAQDCA7kBBjCjigBCAgcIMjg5MA5iBwEAAwcDBgEC0wEKqgYAAQCEBgABANoB
|
||||||
vodDetail.vod_name = $($(vodDetailElement).find("[class=\"page-title\"]")).text()
|
AAEAlAQBACCsBgEBIK4GBAIgsAYEAyCyBgQEILQGBAUgEAABANoDAgwIwwZhAQBhAADCBkIPAQAA
|
||||||
let typeElements = $($(vodDetailElement).find("[class=\"tag-link\"]").find("a"))
|
wgZBBgEAANKdJAEAi8liAAAEmwEAAO+1R0EUAQAAQRUBAADKYgEAQj8BAAAEnAEAACQBALSl6g3C
|
||||||
vodDetail.vod_area = $($(vodDetailElement).find("[class=\"tag-link\"]").slice(-1)[0]).text()
|
BmIBAEOWAQAA7H5hBQBhBABhAwBhAgAEnQEAAGIBAJ3LwgZCDwEAAGICACQBAIvMYgMAQkgBAAAk
|
||||||
let type_list = []
|
AADDBDieAAAAQokBAABlAABCEwEAAL8AvwEzYgQAJAIAJAEAwwXCBsIGQgIBAABiBQAELAEAAEdi
|
||||||
for (const typeElement of typeElements) {
|
BQAEngEAAEcEgwEAAEckAgBDlgEAAAYuwgPAAQswbHFnNUo1TkSt0QcybGV0IENvbkZpZyA9ICgu
|
||||||
type_list.push($(typeElement).text())
|
Kj8pLGJveCA9IAfEAQACAFsAAAAIBgAAAAQH9f///wsAAWwAAWUAAXQAASAAAUMAAW8AAW4AAUYA
|
||||||
}
|
AWkAAWcAASAAAT0AASAACwEIBgAAAAMH9f///wwBASwAAWIAAW8AAXgAASAAAT0AASAADAAKDmIH
|
||||||
vodDetail.type_name = type_list.join("/")
|
AQACAwIGAABWBb4GAAEAwAYAAQDYBAEAIMIGAQEgEAABAAjLYQEAYQAABKIBAABCXAAAANEEowEA
|
||||||
let itemElements = $(vodDetailElement).find("[class=\"video-info-items\"]")
|
ACQCAMnHQqQBAABiAAAHx0KlAQAAJAAAJAMAi8rHx0L9AAAAOJ4AAABCiQEAAGIBACQBACQBAItD
|
||||||
vodDetail.vod_director = $($(itemElements[0]).find("a")).text()
|
gQEAAAYuwgPPAQQrZ3ujDmIGAdwDAQABAwEAEAHMBgABAM4DBghlAABC7gAAANEkAQCLDgYuwgPZ
|
||||||
let actor_list = []
|
AQIDSQ5iBgHeAwEAAQMBAA4B7gUAAQDOAwYIZQAAQu8AAADRJAEAiy7CA90BAQMOYgYB4AMAAAAC
|
||||||
for (const actorElement of $(itemElements[1]).find("a")) {
|
AQANAM4DBghlAABC8AAAACQAAIsuwgPhAQEDDmIGAeIDBAAEBgEAEQTqBQABAOwFAAEA7gUAAQDw
|
||||||
actor_list.push($(actorElement).text())
|
BQABAM4DBghlAABC8QAAANHS09QkBACLLsID5QEBAw5iBgHkAwEAAQMBAA4BhAYAAQDOAwYIZQAA
|
||||||
}
|
QvIAAADRJAEAiy7CA+kBAQMOYgYB5gMDAAMFAQAQA6oGAAEAhAYAAQDaAQABAM4DBghlAABC8wAA
|
||||||
vodDetail.vod_pic = $($(vodDetailElement).find("[class=\"module-item-pic\"]")).find("img")[0].attribs["data-src"]
|
ANHS0yQDAIsuwgPtAQEDDmIGAegDAgACBAEADwK+BgABAMAGAAEAzgMGCGUAAEL0AAAA0dIkAgCL
|
||||||
vodDetail.vod_actor = actor_list.join("/")
|
LsID8QEBAw5iBgGGAgIAAgQBAA8CzgYAAQDQBgABAM4DBghlAABCgwAAANHSJAIAiy7CA/UBAQMO
|
||||||
vodDetail.vod_year = $($(itemElements[2]).find("[class=\"video-info-item\"]")).text()
|
QwYBzAMAAAACCAA6ANwDBwDeAwgA4AMJAOIDCgDkAwsA5gMMAOgDDQCGAg4AC91M7gAAAN5M7wAA
|
||||||
vodDetail.vod_remarks = $($(itemElements[3]).find("[class=\"video-info-item\"]")).text()
|
AN9M8AAAAOBM8QAAAF4EAEzyAAAAXgUATPMAAABeBgBM9AAAAF4HAEyDAAAAKMID+QEKAwghISEh
|
||||||
vodDetail.vod_content = $($(itemElements[5]).find("[class=\"video-info-item video-info-content vod_content\"]")).text().replaceAll("\n", "\t").replaceAll("\t收起", "")
|
KysrLA==
|
||||||
let playerformatElements = $("[class=\"module-tab-item tab-item\"]")
|
|
||||||
let playUrlElements = $("[class=\"scroll-content\"]")
|
|
||||||
let vod_play_from_list = []
|
|
||||||
let vod_play_list = []
|
|
||||||
for (let i = 0; i < playerformatElements.length; i++) {
|
|
||||||
let playFormatElement = playerformatElements[i]
|
|
||||||
let format_name = playFormatElement.attribs["data-dropdown-value"]
|
|
||||||
if (format_name.indexOf("夸克") === -1) {
|
|
||||||
vod_play_from_list.push(format_name)
|
|
||||||
let vodItems = []
|
|
||||||
for (const playUrlElement of $(playUrlElements[i]).find("a")) {
|
|
||||||
let episodeName = $(playUrlElement).text()
|
|
||||||
let episodeUrl = playUrlElement.attribs.href
|
|
||||||
vodItems.push(episodeName + "$" + episodeUrl)
|
|
||||||
}
|
|
||||||
vod_play_list.push(vodItems.join("#"))
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
vodDetail.vod_play_from = vod_play_from_list.join("$$$")
|
|
||||||
vodDetail.vod_play_url = vod_play_list.join("$$$")
|
|
||||||
return vodDetail
|
|
||||||
}
|
|
||||||
|
|
||||||
async setHomeVod() {
|
|
||||||
let $ = await this.getHtml()
|
|
||||||
this.homeVodList = await this.parseVodShortListFromDoc($)
|
|
||||||
}
|
|
||||||
|
|
||||||
async setCategory(tid, pg, filter, extend) {
|
|
||||||
let urlParams = [tid.toString(), "", "", "", "", "", "", "", pg.toString(), "", "", ""]
|
|
||||||
let type_key_list = [3, 11, 1, 2]
|
|
||||||
if (extend["全部剧情"] !== undefined && extend["全部剧情"] !== "0") {
|
|
||||||
urlParams[type_key_list[0]] = extend["全部剧情"]
|
|
||||||
}
|
|
||||||
if (extend["全部时间"] !== undefined && extend["全部时间"] !== "0") {
|
|
||||||
urlParams[type_key_list[1]] = extend["全部时间"]
|
|
||||||
}
|
|
||||||
if (extend["全部地区"] !== undefined && extend["全部地区"] !== "0") {
|
|
||||||
urlParams[type_key_list[2]] = extend["全部地区"]
|
|
||||||
}
|
|
||||||
if (extend["时间排序"] !== undefined && extend["时间排序"] !== "0") {
|
|
||||||
urlParams[type_key_list[3]] = extend["时间排序"]
|
|
||||||
}
|
|
||||||
let reqUrl = this.siteUrl + '/index.php/vodshow/' + urlParams.join("-") + '.html';
|
|
||||||
let $ = await this.getHtml(reqUrl)
|
|
||||||
this.vodList = await this.parseVodShortListFromDoc($)
|
|
||||||
}
|
|
||||||
|
|
||||||
async setDetail(id) {
|
|
||||||
let $ = await this.getHtml(this.siteUrl + id)
|
|
||||||
this.vodDetail = await this.parseVodDetailFromDoc($)
|
|
||||||
}
|
|
||||||
|
|
||||||
uic(url,uid){
|
|
||||||
let ut = Crypto.enc.Utf8.parse('2890'+uid+'tB959C')
|
|
||||||
let mm = Crypto.enc.Utf8.parse("2F131BE91247866E")
|
|
||||||
let decrypted = Crypto.AES.decrypt(url, ut, {iv: mm, mode: Crypto.mode.CBC, padding: Crypto.pad.Pkcs7});
|
|
||||||
return Crypto.enc.Utf8.stringify(decrypted);
|
|
||||||
}
|
|
||||||
|
|
||||||
async setPlay(flag, id, flags) {
|
|
||||||
let $ = await this.getHtml(this.siteUrl + id)
|
|
||||||
let playUrl = $("[id=\"bfurl\"]")[0].attribs.href
|
|
||||||
if (playUrl.indexOf("http") > -1){
|
|
||||||
this.playUrl = playUrl
|
|
||||||
}else{
|
|
||||||
//需要解析URL,支持弹幕
|
|
||||||
let newUrl = "https://jiexi.xn--1lq90i13mxk5bolhm8k.xn--fiqs8s/player/ec.php?code=ak&if=1&url=" + playUrl
|
|
||||||
let play$ = await this.getHtml(newUrl)
|
|
||||||
let playHtml = play$.html()
|
|
||||||
let playConfig = JSON.parse(Utils.getStrByRegex(/let ConFig = (.*?),box = /,playHtml))
|
|
||||||
this.playUrl = this.uic(playConfig["url"],playConfig["config"]["uid"])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
async setSearch(wd, quick) {
|
|
||||||
let url = `http://123.207.150.253/zxapi/public/?service=App.F.Fetch&req_p=${wd}&type=6080`
|
|
||||||
let content = await this.fetch(url,null,this.getHeader())
|
|
||||||
this.vodList = await this.parseVodShortListFromJson(JSON.parse(content))
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
let spider = new NewVisionSpider()
|
|
||||||
|
|
||||||
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}
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue