diff --git a/JN/EXT/OPENJS/open/JOJO.js b/JN/EXT/OPENJS/open/JOJO.js new file mode 100644 index 00000000..0a52c13e --- /dev/null +++ b/JN/EXT/OPENJS/open/JOJO.js @@ -0,0 +1,244 @@ + +let root = 'https://jiohub.top'; +let header = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36', + 'Referer': 'https://jiohub.top' +}; + +const wpurl = 'about:jojo'; + +const wpHtml = ` + + + +`; + +async function init(ext) { + if (ext.indexOf('http') == 0) { + root = ext; + } + + const purl = getAddress(true) + 'webparse/' + wpurl + '<(.+?)<\/p>/)[1], + 'vod_pic': v.match(/src="(.+?)"/)[1], + 'vod_remarks': v.match(/

(.+?)<\/p>/)[1] + ' ' + v.match(/

(.+?)<\/p>/)[1] + }; + videos.push(video); + } + } + + return JSON.stringify({ + 'list': videos, + 'type_des': '' + }); +} + +async function category(tid, page, filter, extend) { + + let videos = []; + if (page < 1) page = 1; + + const label = extend.label ? '/' + extend.label : ''; + + const url = `${root}/video/${tid}${label}?page=${page}&size=18`; + console.log(url); + + let res = await req(url, { + headers: header, + method: 'GET' + }); + const html = res.content; + + const data = html.match(/(.+?)<\/p>/)[1], + 'vod_pic': v.match(/src="(.+?)"/)[1], + 'vod_remarks': v.match(/

(.+?)<\/p>/)[1] + ' ' + v.match(/

(.+?)<\/p>/)[1] + }; + videos.push(video); + } + } + + // console.log(JSON.stringify(videos)); + + return JSON.stringify({ + 'page': page, + 'pagecount': page + 1, + 'limit': videos.length, + 'total': videos.length * (page + 1), + 'list': videos, + 'type_des': '' + }); +} + +async function detail(tid) { + const url = root + tid; + console.log(url); + let res = await req(url, { + headers: header, + method: 'GET' + }); + + let html = res.content; + const div = html.match(/

([\s\S]+?)<\/div>/)[1]; + const vod = { + "vod_id": tid, + "vod_name": div.match(/(.+?)<\/h3>/)[1], + "vod_pic": '', + "type_name": div.match(/

类型:(.+?)<\/p>/)[1], + "vod_year": div.match(/

年份:(.+?)<\/p>/)[1], + "vod_area": '', + "vod_remarks": '', + "vod_actor": div.match(/

主演:(.+?)<\/p>/)[1], + "vod_director": div.match(/

导演:(.+?)<\/p>/)[1], + "vod_content": div.match(/class="detail-sketch hide">([\s\S]+?)<\/span>/)[1], + "vod_play_from": 'JOJO', + "vod_play_url": '' + }; + + const urls = html.match(/let urls = "(.+?)"/)[1]; + // console.log(urls); + + const purl = getAddress(true) + 'webparse/' + wpurl + '<(.+?)<\/p>/)[1], + 'vod_pic': v.match(/src="(.+?)"/)[1], + 'vod_remarks': v.match(/

(.+?)<\/p>/)[1] + ' ' + v.match(/

(.+?)<\/p>/)[1] + }; + videos.push(video); + } + } + + return JSON.stringify({ + 'list': videos, + 'type_des': '' + }); +} + +__JS_SPIDER__ = { + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search, + extResult: null +}; + + + \ No newline at end of file