上传文件至 lib
This commit is contained in:
parent
cbeab8a729
commit
eb9796b662
189
lib/cctv.py
Normal file
189
lib/cctv.py
Normal file
@ -0,0 +1,189 @@
|
||||
#coding=utf-8
|
||||
#!/usr/bin/python
|
||||
import sys
|
||||
sys.path.append('..')
|
||||
from base.spider import Spider
|
||||
import json
|
||||
import time
|
||||
import base64
|
||||
|
||||
class Spider(Spider): # 元类 默认的元类 type
|
||||
def getName(self):
|
||||
return "央视"
|
||||
def init(self,extend=""):
|
||||
print("============{0}============".format(extend))
|
||||
pass
|
||||
def isVideoFormat(self,url):
|
||||
pass
|
||||
def manualVideoCheck(self):
|
||||
pass
|
||||
def homeContent(self,filter):
|
||||
result = {}
|
||||
cateManual = {
|
||||
"等着我": "TOPC1451378757637200",
|
||||
"我爱发明": "TOPC1569314345479107",
|
||||
"动物世界": "TOPC1451378967257534",
|
||||
"我爱发明2021": "TOPC1451557970755294",
|
||||
"自然传奇": "TOPC1451558150787467",
|
||||
"探索发现": "TOPC1451557893544236",
|
||||
"地理中国": "TOPC1451557421544786",
|
||||
"人与自然": "TOPC1451525103989666",
|
||||
"远方的家": "TOPC1451541349400938",
|
||||
"动画大放映": "TOPC1451559025546574",
|
||||
"新闻联播": "TOPC1451528971114112",
|
||||
"焦点访谈": "TOPC1451558976694518",
|
||||
"海峡两岸": "TOPC1451540328102649",
|
||||
"今日关注": "TOPC1451540389082713",
|
||||
"今日亚洲": "TOPC1451540448405749",
|
||||
"防务新观察": "TOPC1451526164984187",
|
||||
"共同关注": "TOPC1451558858788377",
|
||||
"深度国际": "TOPC1451540709098112",
|
||||
"环宇视野": "TOPC1451469241240836",
|
||||
"环球视线": "TOPC1451558926200436",
|
||||
"世界周刊": "TOPC1451558687534149",
|
||||
"东方时空": "TOPC1451558532019883",
|
||||
"新闻调查": "TOPC1451558819463311",
|
||||
"环球科技视野": "TOPC1451463780801881",
|
||||
"讲武堂": "TOPC1451526241359341",
|
||||
"国宝发现": "TOPC1571034869935436",
|
||||
"国宝档案": "TOPC1451540268188575",
|
||||
"天下财经": "TOPC1451531385787654",
|
||||
"走进科学": "TOPC1451558190239536",
|
||||
"解码科技史": "TOPC1570876640457386",
|
||||
"法律讲堂": "TOPC1451542824484472",
|
||||
"百家讲坛": "TOPC1451557052519584",
|
||||
"名家书场": "TOPC1579401761622774",
|
||||
"星光大道": "TOPC1451467630488780",
|
||||
"非常6+1": "TOPC1451467940101208",
|
||||
"中国节拍": "TOPC1570025984977611",
|
||||
"一鸣惊人": "TOPC1451558692971175",
|
||||
"金牌喜剧班": "TOPC1611826337610628",
|
||||
"九州大戏台": "TOPC1451558399948678",
|
||||
"乡村大舞台": "TOPC1563179546003162",
|
||||
"家庭幽默大赛": "TOPC1451375222891702",
|
||||
"综艺盛典": "TOPC1451985071887935",
|
||||
"环球综艺": "TOPC1571300682556971",
|
||||
"中国好歌曲": "TOPC1451984949453678",
|
||||
"广场舞金曲": "TOPC1528685010104859",
|
||||
"曲苑杂谈": "TOPC1451984417763860",
|
||||
"锦绣梨园": "TOPC1451558363250650",
|
||||
"梨园周刊": "TOPC1574909786070351",
|
||||
"外国人在中国": "TOPC1451541113743615",
|
||||
"华人世界": "TOPC1451539822927345",
|
||||
"武林大会": "TOPC1451551891055866",
|
||||
"棋牌乐": "TOPC1451550531682936",
|
||||
"动物传奇": "TOPC1451984181884527",
|
||||
"美食中国": "TOPC1571034804976375",
|
||||
"田间示范秀": "TOPC1563178908227191",
|
||||
"三农群英会": "TOPC1600745974233265",
|
||||
"乡村振兴面对面": "TOPC1568966531726705",
|
||||
"超级新农人": "TOPC1597627647957699",
|
||||
"印象乡村": "TOPC1563178734372977" }
|
||||
classes = []
|
||||
for k in cateManual:
|
||||
classes.append({
|
||||
'type_name':k,
|
||||
'type_id':cateManual[k]
|
||||
})
|
||||
result['class'] = classes
|
||||
if(filter):
|
||||
result['filters'] = self.config['filter']
|
||||
return result
|
||||
def homeVideoContent(self):
|
||||
result = {
|
||||
'list':[]
|
||||
}
|
||||
return result
|
||||
def categoryContent(self,tid,pg,filter,extend):
|
||||
result = {}
|
||||
extend['id'] = tid
|
||||
extend['p'] = pg
|
||||
filterParams = ["id", "p", "d"]
|
||||
params = ["", "", ""]
|
||||
for idx in range(len(filterParams)):
|
||||
fp = filterParams[idx]
|
||||
if fp in extend.keys():
|
||||
params[idx] = '{0}={1}'.format(filterParams[idx],extend[fp])
|
||||
suffix = '&'.join(params)
|
||||
url = 'https://api.cntv.cn/NewVideo/getVideoListByColumn?{0}&n=20&sort=desc&mode=0&serviceId=tvcctv&t=json'.format(suffix)
|
||||
if not tid.startswith('TOPC'):
|
||||
url = 'https://api.cntv.cn/NewVideo/getVideoListByAlbumIdNew?{0}&n=20&sort=desc&mode=0&serviceId=tvcctv&t=json'.format(suffix)
|
||||
rsp = self.fetch(url,headers=self.header)
|
||||
jo = json.loads(rsp.text)
|
||||
vodList = jo['data']['list']
|
||||
videos = []
|
||||
for vod in vodList:
|
||||
guid = vod['guid']
|
||||
title = vod['title']
|
||||
img = vod['image']
|
||||
brief = vod['brief']
|
||||
videos.append({
|
||||
"vod_id":guid+"###"+img,
|
||||
"vod_name":title,
|
||||
"vod_pic":img,
|
||||
"vod_remarks":''
|
||||
})
|
||||
result['list'] = videos
|
||||
result['page'] = pg
|
||||
result['pagecount'] = 9999
|
||||
result['limit'] = 90
|
||||
result['total'] = 999999
|
||||
return result
|
||||
def detailContent(self,array):
|
||||
aid = array[0].split('###')
|
||||
tid = aid[0]
|
||||
url = "https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid={0}".format(tid)
|
||||
|
||||
rsp = self.fetch(url,headers=self.header)
|
||||
jo = json.loads(rsp.text)
|
||||
title = jo['title'].strip()
|
||||
link = jo['hls_url'].strip()
|
||||
vod = {
|
||||
"vod_id":tid,
|
||||
"vod_name":title,
|
||||
"vod_pic":aid[1],
|
||||
"type_name":'',
|
||||
"vod_year":"",
|
||||
"vod_area":"",
|
||||
"vod_remarks":"",
|
||||
"vod_actor":"",
|
||||
"vod_director":"",
|
||||
"vod_content":""
|
||||
}
|
||||
vod['vod_play_from'] = 'CCTV'
|
||||
vod['vod_play_url'] = title+"$"+link
|
||||
|
||||
result = {
|
||||
'list':[
|
||||
vod
|
||||
]
|
||||
}
|
||||
return result
|
||||
def searchContent(self,key,quick):
|
||||
result = {
|
||||
'list':[]
|
||||
}
|
||||
return result
|
||||
def playerContent(self,flag,id,vipFlags):
|
||||
result = {}
|
||||
rsp = self.fetch(id,headers=self.header)
|
||||
content = rsp.text.strip()
|
||||
arr = content.split('\n')
|
||||
urlPrefix = self.regStr(id,'(http[s]?://[a-zA-z0-9.]+)/')
|
||||
url = urlPrefix + arr[-1]
|
||||
result["parse"] = 0
|
||||
result["playUrl"] = ''
|
||||
result["url"] = url
|
||||
result["header"] = ''
|
||||
return result
|
||||
|
||||
config = {
|
||||
"player": {},
|
||||
"filter": {"TOPC1451557970755294": [{"key": "d", "name": "年份", "value": [{"n": "全部", "v": ""}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014", "v": "2014"}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {"n": "2010", "v": "2010"}, {"n": "2009", "v": "2009"}]}]}
|
||||
}
|
||||
header = {
|
||||
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"
|
||||
}
|
||||
|
||||
def localProxy(self,param):
|
||||
return [200, "video/MP2T", action, ""]
|
130
lib/jianpian.js
130
lib/jianpian.js
@ -1,90 +1,48 @@
|
||||
var rule={
|
||||
title: '荐片',
|
||||
host: 'http://api2.rinhome.com',
|
||||
// homeUrl:'https://yjpapipxblwdohpakljwg.hxhzs.com/api/tag/hand?code=unknown601193cf375db73d&channel=wandoujia',//网站的首页链接,用于分类获取和推荐获取
|
||||
homeUrl: '/api/tag/hand?code=unknown601193cf375db73d&channel=wandoujia',//网站的首页链接,用于分类获取和推荐获取
|
||||
// url:'/api/crumb/list?area=0&category_id=fyclass&page=fypage&type=0&limit=24&fyfilter',
|
||||
url: '/api/crumb/list?area=0&page=fypage&type=0&limit=24&fyfilter',
|
||||
class_name: '全部&电影&电视剧&动漫&综艺', // 筛选 /api/term/ad_fenlei?limit=10&page=1
|
||||
class_url: '0&1&2&3&4',
|
||||
detailUrl: '/api/node/detail?channel=wandoujia&token=&id=fyid',//二级详情拼接链接(json格式用)
|
||||
searchUrl: '/api/video/search?key=**&page=fypage',
|
||||
searchable: 2,
|
||||
quickSearch: 0,
|
||||
filterable: 1,
|
||||
filter: {
|
||||
"0": [{ "key": "year", "name": "年代", "value": [{ "n": "全部", "v": "0" }, { "n": "2023", "v": "153" }, { "n": "2022", "v": "101" }, { "n": "2021", "v": "118" }, { "n": "2020", "v": "16" }, { "n": "2019", "v": "7" }, { "n": "2018", "v": "2" }, { "n": "2017", "v": "3" }, { "n": "2016", "v": "22" }] }, { "key": "sort", "name": "排序", "value": [{ "n": "热门", "v": "hot" }, { "n": "评分", "v": "rating" }, { "n": "更新", "v": "update" }] }],
|
||||
"1": [{ "key": "cateId", "name": "分类", "value": [{ "n": "全部", "v": "1" }, { "n": "首推", "v": "5" }, { "n": "动作", "v": "6" }, { "n": "喜剧", "v": "7" }, { "n": "战争", "v": "8" }, { "n": "恐怖", "v": "9" }, { "n": "剧情", "v": "10" }, { "n": "爱情", "v": "11" }, { "n": "科幻", "v": "12" }, { "n": "动画", "v": "13" }] }, { "key": "year", "name": "年代", "value": [{ "n": "全部", "v": "0" }, { "n": "2023", "v": "153" }, { "n": "2022", "v": "101" }, { "n": "2021", "v": "118" }, { "n": "2020", "v": "16" }, { "n": "2019", "v": "7" }, { "n": "2018", "v": "2" }, { "n": "2017", "v": "3" }, { "n": "2016", "v": "22" }] }, { "key": "sort", "name": "排序", "value": [{ "n": "热门", "v": "hot" }, { "n": "评分", "v": "rating" }, { "n": "更新", "v": "update" }] }],
|
||||
"2": [{ "key": "cateId", "name": "分类", "value": [{ "n": "全部", "v": "2" }, { "n": "首推", "v": "14" }, { "n": "国产", "v": "15" }, { "n": "港台", "v": "16" }, { "n": "日韩", "v": "17" }, { "n": "海外", "v": "18" }] }, { "key": "year", "name": "年代", "value": [{ "n": "全部", "v": "0" }, { "n": "2023", "v": "153" }, { "n": "2022", "v": "101" }, { "n": "2021", "v": "118" }, { "n": "2020", "v": "16" }, { "n": "2019", "v": "7" }, { "n": "2018", "v": "2" }, { "n": "2017", "v": "3" }, { "n": "2016", "v": "22" }] }, { "key": "sort", "name": "排序", "value": [{ "n": "热门", "v": "hot" }, { "n": "评分", "v": "rating" }, { "n": "更新", "v": "update" }] }],
|
||||
"3": [{ "key": "cateId", "name": "分类", "value": [{ "n": "全部", "v": "3" }, { "n": "首推", "v": "19" }, { "n": "海外", "v": "20" }, { "n": "日本", "v": "21" }, { "n": "国产", "v": "22" }] }, { "key": "year", "name": "年代", "value": [{ "n": "全部", "v": "0" }, { "n": "2023", "v": "153" }, { "n": "2022", "v": "101" }, { "n": "2021", "v": "118" }, { "n": "2020", "v": "16" }, { "n": "2019", "v": "7" }, { "n": "2018", "v": "2" }, { "n": "2017", "v": "3" }, { "n": "2016", "v": "22" }] }, { "key": "sort", "name": "排序", "value": [{ "n": "热门", "v": "hot" }, { "n": "评分", "v": "rating" }, { "n": "更新", "v": "update" }] }],
|
||||
"4": [{ "key": "cateId", "name": "分类", "value": [{ "n": "全部", "v": "4" }, { "n": "首推", "v": "23" }, { "n": "国产", "v": "24" }, { "n": "海外", "v": "25" }, { "n": "港台", "v": "26" }] }, { "key": "year", "name": "年代", "value": [{ "n": "全部", "v": "0" }, { "n": "2023", "v": "153" }, { "n": "2022", "v": "101" }, { "n": "2021", "v": "118" }, { "n": "2020", "v": "16" }, { "n": "2019", "v": "7" }, { "n": "2018", "v": "2" }, { "n": "2017", "v": "3" }, { "n": "2016", "v": "22" }] }, { "key": "sort", "name": "排序", "value": [{ "n": "热门", "v": "hot" }, { "n": "评分", "v": "rating" }, { "n": "更新", "v": "update" }] }]
|
||||
},
|
||||
// filter_url:'sort={{fl.sort or "hot"}}&year={{fl.year or "0"}}',
|
||||
filter_url: 'sort={{fl.sort or "update"}}&year={{fl.year or "0"}}&category_id={{fl.cateId}}',
|
||||
filter_def: {
|
||||
0: { cateId: '0' },
|
||||
1: { cateId: '1' },
|
||||
2: { cateId: '2' },
|
||||
3: { cateId: '3' },
|
||||
4: { cateId: '4' }
|
||||
},
|
||||
headers: {
|
||||
'User-Agent': 'jianpian-android/350',
|
||||
'JPAUTH': 'y261ow7kF2dtzlxh1GS9EB8nbTxNmaK/QQIAjctlKiEv'
|
||||
},
|
||||
timeout: 5000,
|
||||
limit: 8,
|
||||
play_parse: true,
|
||||
play_json: [{
|
||||
re: '*',
|
||||
json: {
|
||||
parse: 0,
|
||||
jx: 0
|
||||
}
|
||||
var rule = {
|
||||
title:'荐片',
|
||||
host:'http://api2.rinhome.com',
|
||||
//homeUrl:'https://yjpapipxblwdohpakljwg.hxhzs.com/api/tag/hand?code=unknown601193cf375db73d&channel=wandoujia',//网站的首页链接,用于分类获取和推荐获取
|
||||
homeUrl:'https://api2.rinhome.com/api/tag/hand?code=unknown601193cf375db73d&channel=wandoujia',
|
||||
url:'/api/crumb/list?area=0&category_id=fyclass&page=fypage&type=0&limit=24&fyfilter',
|
||||
class_name:'电视剧&综艺&电影&动漫&全部',
|
||||
class_url:'2&4&1&3&0',
|
||||
detailUrl:'/api/node/detail?channel=wandoujia&token=&id=fyid',//二级详情拼接链接(json格式用)
|
||||
searchUrl:'/api/video/search?key=**&page=fypage',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
filterable:1,
|
||||
filter:{'0': [{'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '0'}, {'n': '2023', 'v': '153'}, {'n': '2022', 'v': '101'}, {'n': '2021', 'v': '118'}, {'n': '2020', 'v': '16'}, {'n': '2019', 'v': '7'}, {'n': '2018', 'v': '2'}, {'n': '2017', 'v': '3'}, {'n': '2016', 'v': '22'}]}, {'key': 'sort', 'name': '排序', 'value': [{'n': '热门', 'v': 'hot'}, {'n': '评分', 'v': 'rating'}, {'n': '更新', 'v': 'update'}]}], '1': [{'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '0'}, {'n': '2023', 'v': '153'}, {'n': '2022', 'v': '101'}, {'n': '2021', 'v': '118'}, {'n': '2020', 'v': '16'}, {'n': '2019', 'v': '7'}, {'n': '2018', 'v': '2'}, {'n': '2017', 'v': '3'}, {'n': '2016', 'v': '22'}]}, {'key': 'sort', 'name': '排序', 'value': [{'n': '热门', 'v': 'hot'}, {'n': '评分', 'v': 'rating'}, {'n': '更新', 'v': 'update'}]}], '2': [{'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '0'}, {'n': '2023', 'v': '153'}, {'n': '2022', 'v': '101'}, {'n': '2021', 'v': '118'}, {'n': '2020', 'v': '16'}, {'n': '2019', 'v': '7'}, {'n': '2018', 'v': '2'}, {'n': '2017', 'v': '3'}, {'n': '2016', 'v': '22'}]}, {'key': 'sort', 'name': '排序', 'value': [{'n': '热门', 'v': 'hot'}, {'n': '评分', 'v': 'rating'}, {'n': '更新', 'v': 'update'}]}], '3': [{'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '0'}, {'n': '2023', 'v': '153'}, {'n': '2022', 'v': '101'}, {'n': '2021', 'v': '118'}, {'n': '2020', 'v': '16'}, {'n': '2019', 'v': '7'}, {'n': '2018', 'v': '2'}, {'n': '2017', 'v': '3'}, {'n': '2016', 'v': '22'}]}, {'key': 'sort', 'name': '排序', 'value': [{'n': '热门', 'v': 'hot'}, {'n': '评分', 'v': 'rating'}, {'n': '更新', 'v': 'update'}]}], '4': [{'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '0'}, {'n': '2023', 'v': '153'}, {'n': '2022', 'v': '101'}, {'n': '2021', 'v': '118'}, {'n': '2020', 'v': '16'}, {'n': '2019', 'v': '7'}, {'n': '2018', 'v': '2'}, {'n': '2017', 'v': '3'}, {'n': '2016', 'v': '22'}]}, {'key': 'sort', 'name': '排序', 'value': [{'n': '热门', 'v': 'hot'}, {'n': '评分', 'v': 'rating'}, {'n': '更新', 'v': 'update'}]}]},
|
||||
filter_url:'sort={{fl.sort or "hot"}}&year={{fl.year or "0"}}',
|
||||
headers:{
|
||||
'User-Agent':'jianpian-android/350',
|
||||
'JPAUTH':'y261ow7kF2dtzlxh1GS9EB8nbTxNmaK/QQIAjctlKiEv'
|
||||
},
|
||||
timeout:5000,
|
||||
limit:8,
|
||||
play_parse:true,
|
||||
play_json:[{
|
||||
re:'*',
|
||||
json:{
|
||||
parse:0,
|
||||
jx:0
|
||||
}
|
||||
}],
|
||||
lazy: '',
|
||||
lazy:'',
|
||||
// double:true,
|
||||
图片来源: '@Referer=www.jianpianapp.com@User-Agent=jianpian-version353',
|
||||
// 推荐:'json:data;room;*;cover;*;*',
|
||||
推荐: 'json:.video;*;*;*;*',
|
||||
一级: 'json:data;title;path;playlist.title;id',
|
||||
二级: {
|
||||
// title:'data.title',
|
||||
title: 'data.title;data.types[0].name',
|
||||
// desc:';data.description;data.id',
|
||||
desc: 'data.score;data.year.title;data.area.title;data.actors[0].name;data.directors[0].name',
|
||||
img: 'data.thumbnail',
|
||||
// content:'data.thumbnail',
|
||||
content: 'data.description',
|
||||
is_json: 1,
|
||||
tabs: `js:
|
||||
TABS = [];
|
||||
if (html.data.have_ftp_ur == 1) {
|
||||
TABS.push("边下边播蓝光版(东辰影视2群:783264601)")
|
||||
}
|
||||
if (html.data.have_m3u8_ur == 1) {
|
||||
TABS.push("在线点播普清版")
|
||||
}
|
||||
`,
|
||||
lists: `js:
|
||||
log(TABS);
|
||||
LISTS = [];
|
||||
TABS.forEach(function(tab) {
|
||||
if (/边下边播/.test(tab)) {
|
||||
let ftp = html.data.new_ftp_list;
|
||||
let d = ftp.map(function(it) {
|
||||
return it.title + "$" + (/m3u8/.test(it.url) ? play_url + it.url : "tvbox-xg:" + it.url)
|
||||
});
|
||||
LISTS.push(d)
|
||||
} else if (/在线点播/.test(tab)) {
|
||||
let m3u = html.data.new_m3u8_list;
|
||||
let d = m3u.map(function(it) {
|
||||
return it.title + "$" + (/m3u8/.test(it.url) ? play_url + it.url : "tvbox-xg:" + it.url)
|
||||
});
|
||||
LISTS.push(d)
|
||||
}
|
||||
});
|
||||
`,
|
||||
图片来源:'@Referer=www.jianpianapp.com@User-Agent=jianpian-version353',
|
||||
// 推荐:'json:data;room;*;cover;*;*',
|
||||
推荐:'json:.video;*;*;*;*',
|
||||
一级:'json:data;title;path;playlist.title;id',
|
||||
二级:{
|
||||
title:'data.title',
|
||||
//desc:';data.description;data.id',
|
||||
desc:';data.year.title;data.area.title;data.actors[0].name;data.directors[0].name',
|
||||
img:'data.thumbnail',
|
||||
//content:'data.thumbnail',
|
||||
content:'data.description',
|
||||
is_json:1,
|
||||
tabs:'js:TABS=[];if(html.data.have_ftp_ur == 1){TABS.push("边下边播超清版")}if(html.data.have_m3u8_ur == 1){TABS.push("在线点播普清版")}',
|
||||
lists:'js:log(TABS);LISTS=[];TABS.forEach(function(tab){if(/边下边播/.test(tab)){let ftp=html.data.new_ftp_list;let d=ftp.map(function(it){return it.title+"$"+(/m3u8/.test(it.url)?play_url+it.url:"tvbox-xg:"+it.url)});LISTS.push(d)}else if(/在线点播/.test(tab)){let m3u=html.data.new_m3u8_list;let d=m3u.map(function(it){return it.title+"$"+(/m3u8/.test(it.url)?play_url+it.url:"tvbox-xg:"+it.url)});LISTS.push(d)}});',
|
||||
},
|
||||
搜索: 'json:data;*;thumbnail;mask;*',
|
||||
搜索:'json:data;*;thumbnail;mask;*',
|
||||
}
|
34
lib/mangguo.js
Normal file
34
lib/mangguo.js
Normal file
File diff suppressed because one or more lines are too long
189
lib/nangua.js
Normal file
189
lib/nangua.js
Normal file
@ -0,0 +1,189 @@
|
||||
// 注入全局方法 (仅支持tvbox的js1以及c#版drpy的js0,暂不支持drpy官方py版的js0)
|
||||
// 注入全局方法 (仅支持tvbox的js1以及c#版drpy的js0,暂不支持drpy官方py版的js0)
|
||||
// 注入全局方法 (仅支持tvbox的js1以及c#版drpy的js0,暂不支持drpy官方py版的js0)
|
||||
globalThis.getHeaders= function(input){
|
||||
let t = new Date().getTime().toString();
|
||||
let headers = {
|
||||
'version_name': '1.0.6',
|
||||
'version_code': '6',
|
||||
'package_name': 'com.app.nanguatv',
|
||||
'sign': md5('c431ea542cee9679#uBFszdEM0oL0JRn@' + t).toUpperCase(),
|
||||
'imei': 'c431ea542cee9679',
|
||||
'timeMillis': t,
|
||||
'User-Agent': 'okhttp/4.6.0'
|
||||
};
|
||||
return headers
|
||||
}
|
||||
|
||||
var rule = {
|
||||
title:'南瓜影视',
|
||||
host:'http://ys.changmengyun.com',
|
||||
homeUrl:'/api.php/provide/vod_rank?app=ylys&sort_type=month&imei=c431ea542cee9679&id=2&page=1',
|
||||
url:'/api.php/provide/vod_list?app=ylys&id=fyclassfyfilter&page=fypage&imei=c431ea542cee9679',
|
||||
detailUrl:'/api.php/provide/vod_detail?app=ylys&imei=c431ea542cee9679&id=fyid',
|
||||
searchUrl:'/api.php/provide/search_result_more?app=ylys&video_name=**&pageSize=20&tid=0&imei=c431ea542cee9679&page=fypage',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
filterable:1,
|
||||
filter_url:'&area={{fl.area}}&year={{fl.year}}&type={{fl.class}}&total={{fl.total or "状态"}}&order={{fl.by or "新上线"}}',
|
||||
filter:{
|
||||
"2":[{"key":"class","name":"类型","value":[{"n":"全部","v":"类型"},{"n":"国产剧","v":"国产剧"},{"n":"港台剧","v":"港台剧"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":"地区"},{"n":"内地","v":"内地"},{"n":"香港地区","v":"香港地区"},{"n":"台湾地区","v":"台湾地区"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":"年份"},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"10年代","v":"10年代"},{"n":"00年代","v":"00年代"},{"n":"90年代","v":"90年代"},{"n":"80年代","v":"80年代"}]},{"key":"by","name":"排序","value":[{"n":"热播榜","v":"热播榜"},{"n":"好评榜","v":"好评榜"},{"n":"新上线","v":"新上线"}]}],
|
||||
"1":[{"key":"class","name":"类型","value":[{"n":"全部","v":"类型"},{"n":"动作片","v":"动作片"},{"n":"喜剧片","v":"喜剧片"},{"n":"爱情片","v":"爱情片"},{"n":"科幻片","v":"科幻片"},{"n":"恐怖片","v":"恐怖片"},{"n":"剧情片","v":"剧情片"},{"n":"战争片","v":"战争片"},{"n":"惊悚片","v":"惊悚片"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":"地区"},{"n":"华语","v":"华语"},{"n":"香港地区","v":"香港地区"},{"n":"美国","v":"美国"},{"n":"欧洲","v":"欧洲"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"台湾地区","v":"台湾地区"},{"n":"泰国","v":"泰国"},{"n":"台湾地区","v":"台湾地区"},{"n":"印度","v":"印度"},{"n":"其它","v":"其它"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":"年份"},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"10年代","v":"10年代"},{"n":"00年代","v":"00年代"},{"n":"90年代","v":"90年代"},{"n":"80年代","v":"80年代"}]},{"key":"by","name":"排序","value":[{"n":"热播榜","v":"热播榜"},{"n":"好评榜","v":"好评榜"},{"n":"新上线","v":"新上线"}]}],
|
||||
"4":[{"key":"class","name":"类型","value":[{"n":"全部","v":"类型"},{"n":"国产漫","v":"国产漫"},{"n":"欧美漫","v":"欧美漫"},{"n":"日韩漫","v":"日韩漫"},{"n":"港台漫","v":"港台漫"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":"地区"},{"n":"中国大陆","v":"中国大陆"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"欧美","v":"欧美"},{"n":"其它","v":"其它"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":"年份"},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"10年代","v":"10年代"},{"n":"00年代","v":"00年代"},{"n":"90年代","v":"90年代"},{"n":"80年代","v":"80年代"}]},{"key":"by","name":"排序","value":[{"n":"热播榜","v":"热播榜"},{"n":"新上线","v":"新上线"}]},{"key":"total","name":"状态","value":[{"n":"全部","v":"状态"},{"n":"连载","v":"连载"},{"n":"完结","v":"完结"}]}],
|
||||
"3":[{"key":"class","name":"类型","value":[{"n":"全部","v":"类型"},{"n":"大陆","v":"大陆"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":"地区"},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"},{"n":"其它","v":"其它"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":"年份"},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"10年代","v":"10年代"},{"n":"00年代","v":"00年代"},{"n":"90年代","v":"90年代"},{"n":"80年代","v":"80年代"}]},{"key":"by","name":"排序","value":[{"n":"热播榜","v":"热播榜"},{"n":"新上线","v":"新上线"}]}],
|
||||
"46":[{"key":"class","name":"类型","value":[{"n":"全部","v":"类型"},{"n":"日韩剧","v":"日韩剧"},{"n":"欧美剧","v":"欧美剧"},{"n":"海外剧","v":"海外剧"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":"地区"},{"n":"韩国","v":"韩国"},{"n":"美剧","v":"美剧"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":"年份"},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"10年代","v":"10年代"},{"n":"00年代","v":"00年代"},{"n":"90年代","v":"90年代"},{"n":"80年代","v":"80年代"}]},{"key":"by","name":"排序","value":[{"n":"热播榜","v":"热播榜"},{"n":"好评榜","v":"好评榜"},{"n":"新上线","v":"新上线"}]}]
|
||||
},
|
||||
headers:{
|
||||
"User-Agent":"okhttp/4.6.0"
|
||||
},
|
||||
timeout:5000,
|
||||
class_name:'电视剧&电影&动漫&综艺&海外精选', // /api.php/provide/home_nav
|
||||
class_url:'2&1&4&3&46',
|
||||
limit:20,
|
||||
play_parse:true,
|
||||
lazy:`js:
|
||||
try {
|
||||
function getvideo(url) {
|
||||
let jData = JSON.parse(request(url, {
|
||||
headers: getHeaders(url)
|
||||
}));
|
||||
if (jData.code == 1) {
|
||||
return jData.data.url
|
||||
} else {
|
||||
return 'http://43.154.104.152:1234/jhapi/cs.php?url=' + url.split('=')[1]
|
||||
}
|
||||
}
|
||||
if (/,/.test(input)) {
|
||||
let mjurl = input.split(',')[1]
|
||||
let videoUrl = getvideo(mjurl);
|
||||
input = {
|
||||
jx: 0,
|
||||
url: videoUrl,
|
||||
parse: 0,
|
||||
header: JSON.stringify({
|
||||
'user-agent': 'Lavf/58.12.100'
|
||||
})
|
||||
}
|
||||
} else {
|
||||
let videoUrl = getvideo(input);
|
||||
if (/jhapi/.test(videoUrl)) {
|
||||
videoUrl = getvideo(videoUrl);
|
||||
input = {
|
||||
jx: 0,
|
||||
url: videoUrl,
|
||||
parse: 0,
|
||||
header: JSON.stringify({
|
||||
'user-agent': 'Lavf/58.12.100'
|
||||
})
|
||||
}
|
||||
} else {
|
||||
input = {
|
||||
jx: 0,
|
||||
url: videoUrl,
|
||||
parse: 0
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
log(e.toString())
|
||||
}
|
||||
`,
|
||||
推荐:`js:
|
||||
var d = [];
|
||||
let html = request(input, {
|
||||
headers: getHeaders(input)
|
||||
});
|
||||
html = JSON.parse(html);
|
||||
html.forEach(function(it) {
|
||||
d.push({
|
||||
title: it.name,
|
||||
img: it.img,
|
||||
desc: it.remarks,
|
||||
url: it.id
|
||||
})
|
||||
});
|
||||
setResult(d);
|
||||
`,
|
||||
一级:`js:
|
||||
var d = [];
|
||||
let html = request(input, {
|
||||
headers: getHeaders(input)
|
||||
});
|
||||
html = JSON.parse(html);
|
||||
html.list.forEach(function(it) {
|
||||
d.push({
|
||||
title: it.name,
|
||||
img: it.img,
|
||||
desc: it.msg,
|
||||
url: it.id
|
||||
})
|
||||
});
|
||||
setResult(d);
|
||||
`,
|
||||
二级:`js:
|
||||
var d = [];
|
||||
VOD = {
|
||||
vod_id: input.split('id=')[1]
|
||||
};
|
||||
try {
|
||||
let html = request(input, {
|
||||
headers: getHeaders(input)
|
||||
});
|
||||
html = JSON.parse(html);
|
||||
let node = html.data;
|
||||
VOD = {
|
||||
vod_name: node['name'],
|
||||
vod_pic: node['img'],
|
||||
type_name: node['type'],
|
||||
vod_year: node['year'],
|
||||
vod_remarks: '更新至: ' + node['msg'] + ' / 评分: ' + node['score'],
|
||||
vod_content: node['info'].strip()
|
||||
};
|
||||
let episodes = node.player_info;
|
||||
let playMap = {};
|
||||
if (typeof play_url === 'undefined') {
|
||||
var play_url = ''
|
||||
}
|
||||
episodes.forEach(function(ep) {
|
||||
let playurls = ep['video_info'];
|
||||
playurls.forEach(function(playurl) {
|
||||
let source = ep['show'];
|
||||
if (!playMap.hasOwnProperty(source)) {
|
||||
playMap[source] = []
|
||||
}
|
||||
playMap[source].append(playurl['name'].strip() + '$' + play_url + urlencode(playurl['url']))
|
||||
})
|
||||
});
|
||||
let playFrom = [];
|
||||
let playList = [];
|
||||
Object.keys(playMap)
|
||||
.forEach(function(key) {
|
||||
playFrom.append(key);
|
||||
playList.append(playMap[key].join('#'))
|
||||
});
|
||||
let vod_play_from = playFrom.join('$$$');
|
||||
let vod_play_url = playList.join('$$$');
|
||||
VOD['vod_play_from'] = vod_play_from;
|
||||
VOD['vod_play_url'] = vod_play_url
|
||||
} catch (e) {
|
||||
log('获取二级详情页发生错误:' + e.message)
|
||||
}
|
||||
`,
|
||||
搜索:`js:
|
||||
var d = [];
|
||||
let html = request(input, {
|
||||
headers: getHeaders(input)
|
||||
});
|
||||
html = JSON.parse(html);
|
||||
html.data.forEach(function(it) {
|
||||
d.push({
|
||||
title: it.video_name,
|
||||
img: it.img,
|
||||
desc: it.qingxidu + '/' + it.category,
|
||||
url: it.id,
|
||||
content: it.blurb
|
||||
})
|
||||
});
|
||||
setResult(d);
|
||||
`,
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user