diff --git a/base/rules.db b/base/rules.db index 897d69a99932d26bbcd90831a5e0eea154eba47d..3847956e9e4b487df81b21c9a8c96dd4233cd70a 100644 Binary files a/base/rules.db and b/base/rules.db differ diff --git a/controllers/cms.py b/controllers/cms.py index d4d65b398c1a02a767885ad752b8038693c8ac36..ff62444788de82fc064d11b70e843a73a7656ac3 100644 --- a/controllers/cms.py +++ b/controllers/cms.py @@ -555,7 +555,8 @@ class CMS: # print(html) try: if self.double: - items = pdfa(html, p[0]) + items = pdfa(html, p[0].replace('json:','')) + # print(p[0]) # print(items) # print(len(items)) for item in items: @@ -1022,7 +1023,7 @@ class CMS: 'list': [] } logger.info(f'{self.getName()}获取详情页耗时:{get_interval(t1)}毫秒,发生错误:{e}') - # print(result) + print(result) return result def searchContent(self, key, fypage=1,show_name=False): diff --git "a/js/\351\205\267\344\272\22177.js" "b/js/\351\205\267\344\272\22177.js" new file mode 100644 index 0000000000000000000000000000000000000000..66be074c93fc00b0c1eb5ec173f848d6e3cea332 --- /dev/null +++ "b/js/\351\205\267\344\272\22177.js" @@ -0,0 +1,35 @@ +var rule = { + title:'酷云77', + host:'http://api.kunyu77.com', + homeUrl:'/api.php/provide/homeBlock?type_id=0', + searchUrl:'/api.php/provide/searchVideo?searchName=**', + searchable:2, + quickSearch:0, + filterable:1, + multi:1, + // 分类链接fypage参数支持1个()表达式 + url:'/api.php/provide/searchFilter?type_id=fyclass&pagesize=24&pagenum=fypage', + detailUrl:'/api.php/provide/videoDetail?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&version=1.8.7&ids=fyid', + filter_url:'year={{fl.y}}&category={{fl.scat}}&area={{fl.a}}', + filter:{0: [{'key': 'y', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'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': '2015之前', 'v': 'lt|2015'}]}, {'key': 'a', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '日本', 'v': '日本'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '欧洲', 'v': '欧洲'}, {'n': '其他', 'v': '泰国'}]}, {'key': 'scat', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '剧情', 'v': '剧情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '战争', 'v': '战争'}, {'n': '爱情', 'v': '爱情'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '伦理', 'v': '伦理'}]}], 1: [{'key': 'y', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'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': '2015之前', 'v': 'lt|2015'}]}, {'key': 'a', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '日本', 'v': '日本'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '欧洲', 'v': '欧洲'}, {'n': '其他', 'v': '泰国'}]}, {'key': 'scat', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '剧情', 'v': '剧情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '战争', 'v': '战争'}, {'n': '爱情', 'v': '爱情'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '伦理', 'v': '伦理'}]}], 2: [{'key': 'y', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'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': '2015之前', 'v': 'lt|2015'}]}, {'key': 'a', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '日本', 'v': '日本'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '欧洲', 'v': '欧洲'}, {'n': '其他', 'v': '泰国'}]}, {'key': 'scat', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '剧情', 'v': '剧情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '战争', 'v': '战争'}, {'n': '爱情', 'v': '爱情'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '伦理', 'v': '伦理'}]}], 3: [{'key': 'y', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'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': '2015之前', 'v': 'lt|2015'}]}, {'key': 'a', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '日本', 'v': '日本'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '欧洲', 'v': '欧洲'}, {'n': '其他', 'v': '泰国'}]}, {'key': 'scat', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '剧情', 'v': '剧情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '战争', 'v': '战争'}, {'n': '爱情', 'v': '爱情'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '伦理', 'v': '伦理'}]}], 4: [{'key': 'y', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'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': '2015之前', 'v': 'lt|2015'}]}, {'key': 'a', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '日本', 'v': '日本'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '欧洲', 'v': '欧洲'}, {'n': '其他', 'v': '泰国'}]}, {'key': 'scat', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '剧情', 'v': '剧情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '战争', 'v': '战争'}, {'n': '爱情', 'v': '爱情'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '伦理', 'v': '伦理'}]}]}, + headers:{ + "User-Agent": "Dalvik/2.1.0" + }, + timeout:5000, + class_name:'全部&电影&电视剧&综艺&动漫', + class_url:'0&1&2&3&4', + limit:20, + play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:input={parse:1,url:input};', + lazy:'js:function GetPlayUrl(playUrl){let realPlay={parse:0,url:playUrl};if(/mgtv|sohu/.test(playUrl)){realPlay.headers={"User-Agent":"Mozilla/5.0"}}else if(/bili/.test(playUrl)){realPlay.headers={"User-Agent":"Mozilla/5.0",Referer:"https://www.bilibili.com"}}else if(/ixigua/.test(playUrl)){realPlay.headers={"User-Agent":"Mozilla/5.0",Referer:"https://www.ixigua.com"}}return realPlay}if(/\\.m3u8|\\.mp4/.test(input)){input={parse:0,url:input}}else{try{let url="http://api.kunyu77.com/api.php/provide/parserUrl?url="+input;let html=request(url);let urll=JSON.parse(html).data.url;let playhtml=request(urll);let playurl=JSON.parse(playhtml).url;input=GetPlayUrl(playurl)}catch(e){input={parse:1,url:input}}}', + 推荐:'json:data.blocks;contents;title;videoCover;msg;id', + double:true, + // 一级:'json:data.filterData.listData;title;img;subTitle;videoLink;summary', + 一级:'', + 一级:'json:data.result;title;videoCover;msg;id', + 二级:'', + 二级:'js:var d=[];var vod={vod_id:input};try{let html=request(input);html=JSON.parse(html);let node=html.data;vod={vod_id:node["id"],vod_name:node["videoName"],vod_pic:node["videoCover"],type_name:node["subCategory"],vod_year:node["year"],vod_area:node["area"],vod_remarks:node["msg"],vod_actor:node["actor"],vod_director:node["director"],vod_content:node["brief"].strip()};let tid=input.split("ids=")[1];let listUrl="http://api.kunyu77.com/api.php/provide/videoPlaylist?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&version=1.8.7&ids="+tid;html=request(listUrl);html=JSON.parse(html);let episodes=html.data.episodes;let playMap={};play_url=play_url.replace("&play_url=","&type=json&play_url=");episodes.forEach(function(ep){let playurls=ep["playurls"];playurls.forEach(function(playurl){source=playurl["playfrom"];if(!playMap.hasOwnProperty(source)){playMap[source]=[]}playMap[source].append(playurl["title"].strip()+"$"+play_url+urlencode(playurl["playurl"]))})});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)}', + 搜索:'', + 搜索:'json:data;videoName;videoCover;msg;id', +} \ No newline at end of file diff --git a/libs/pre.js b/libs/pre.js index 14e1f00a0dcb039ccd36c8c0de1bf0ad23b78338..2b83f0fafb8de6091380f72bbe57fe2cfc6f9b9e 100644 --- a/libs/pre.js +++ b/libs/pre.js @@ -109,6 +109,7 @@ Array.prototype.join = function (emoji) { return str; }; Array.prototype.append = Array.prototype.push; +String.prototype.strip = String.prototype.trim; function 是否正版(vipUrl){ let flag = new RegExp('qq\.com|iqiyi\.com|youku\.com|mgtv\.com|bilibili\.com|sohu\.com|ixigua\.com|pptv\.com|miguvideo\.com|le\.com|1905\.com|fun\.tv'); return flag.test(vipUrl); diff --git "a/py/\351\205\267\344\272\221\344\272\214\347\272\247.js" "b/py/\351\205\267\344\272\221\344\272\214\347\272\247.js" new file mode 100644 index 0000000000000000000000000000000000000000..181e45f435ad5848f82fc1bd4ecfd5dc6429a5d3 --- /dev/null +++ "b/py/\351\205\267\344\272\221\344\272\214\347\272\247.js" @@ -0,0 +1,56 @@ +js: +var d=[]; +var vod={vod_id:input}; +// print(input); +try { +let html=request(input); +html = JSON.parse(html); +let node = html.data; +vod = { + "vod_id":node['id'], + "vod_name":node['videoName'], + "vod_pic":node['videoCover'], + "type_name":node['subCategory'], + "vod_year":node['year'], + "vod_area":node['area'], + "vod_remarks":node['msg'], + "vod_actor":node['actor'], + "vod_director":node['director'], + "vod_content":node['brief'].strip() +} +// print(vod); +let tid = input.split('ids=')[1]; +let listUrl = 'http://api.kunyu77.com/api.php/provide/videoPlaylist?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&version=1.8.7&ids='+tid; +html = request(listUrl); +html = JSON.parse(html); +let episodes = html.data.episodes; +let playMap = {}; +play_url = play_url.replace('&play_url=','&type=json&play_url='); +episodes.forEach(function (ep){ + let playurls = ep['playurls']; + playurls.forEach(function (playurl){ + source = playurl['playfrom']; + if(!playMap.hasOwnProperty(source)){ + playMap[source] = []; + } + playMap[source].append(playurl['title'].strip() + '$' + play_url+urlencode(playurl['playurl'])); + }); + +}); + +let playFrom = []; +let playList = []; +Object.keys(playMap).forEach(function (key){ + playFrom.append(key); + playList.append(playMap[key].join('#')); +}); +// print(playFrom); +// print(playList); +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; +// print(vod); +}catch (e) { + log('获取二级详情页发生错误:'+e.message); +} \ No newline at end of file diff --git "a/py/\351\205\267\344\272\221\345\205\215\345\227\205.js" "b/py/\351\205\267\344\272\221\345\205\215\345\227\205.js" new file mode 100644 index 0000000000000000000000000000000000000000..2d3d285a349931591416c54eea34953091810b04 --- /dev/null +++ "b/py/\351\205\267\344\272\221\345\205\215\345\227\205.js" @@ -0,0 +1,26 @@ +js: +function GetPlayUrl(playUrl) { + let realPlay = {parse:0,url:playUrl}; + if (/mgtv|sohu/.test(playUrl)) { + realPlay.headers = {'User-Agent':'Mozilla/5.0'}; + } else if (/bili/.test(playUrl)) { + realPlay.headers ={'User-Agent':'Mozilla/5.0','Referer':'https://www.bilibili.com'}; + } else if (/ixigua/.test(playUrl)) { + realPlay.headers = {'User-Agent':'Mozilla/5.0','Referer':'https://www.ixigua.com'}; + } + return realPlay +} +if (/\.m3u8|\.mp4/.test(input)) { + input={parse:0,url:input}; +} else { + try { + let url = "http://api.kunyu77.com/api.php/provide/parserUrl?url=" + input; + let html = request(url); + let urll = JSON.parse(html).data.url; + let playhtml = request(urll); + let playurl = JSON.parse(playhtml).url; + input = GetPlayUrl(playurl); + }catch (e) { + input = {parse:1,url:input}; + } +} \ No newline at end of file diff --git "a/py/\351\205\267\344\272\221\347\255\233\351\200\211.py" "b/py/\351\205\267\344\272\221\347\255\233\351\200\211.py" new file mode 100644 index 0000000000000000000000000000000000000000..78fe01a785b304bc710db6c185d5dd39372ddfe2 --- /dev/null +++ "b/py/\351\205\267\344\272\221\347\255\233\351\200\211.py" @@ -0,0 +1,65 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# File : 酷云筛选.py +# Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------ +# Date : 2022/9/24 +import requests + +headers = { +"User-Agent": "Dalvik/2.1.0" +} + + +def getClass(): + url = 'http://api.kunyu77.com/api.php/provide/filter' + r = requests.get(url, headers=headers) + html = r.json() + class_names = [] + class_urls = [] + data = html['data'] + for i in data: + class_names.append(data[i][0]['cat']) + class_urls.append(i) + print('&'.join(class_names)) + print('&'.join(class_urls)) + +ft_dict = {} + +def getCate(): + # url = 'http://api.kunyu77.com/api.php/provide/searchFilter?devid=EA83E58357FC020ABA526E9620AD7E89&package=com.sevenVideo.app.android&pcode=010110004&year=&category=&area=&pagenum=1&type_id=0&pagesize=24' + url = 'http://api.kunyu77.com/api.php/provide/searchFilter?year=&category=&area=&pagenum=1&type_id=1&pagesize=24' + r = requests.get(url,headers=headers) + html = r.json() + print(html) + filters = html['data']['conditions'] + print(filters) + + cates = [0,1,2,3,4] # 全部&电影&电视剧&综艺&动漫 + for cate in cates: + getOne(cate,filters) + print(ft_dict) + +def getOne(cate_id,filters): + ft_dict[cate_id] = [] + print(filters) + if 'cat' in filters.keys(): + del filters['cat'] + for key in (filters): + value = [{"n":"全部","v":""}] + name_dict = { + 'y':'年代', + 'a':'地区', + 'scat':'类型', + } + # value = [] + vl = [{"n": i['name'], "v": i.get('value', '')} for i in filters[key]] + value.extend(vl) + ft_dict[cate_id].append({ + 'key': key, + 'name': name_dict[key], + 'value': value + }) + return ft_dict + +if __name__ == '__main__': + getCate() \ No newline at end of file diff --git a/txt/py/py_kunyu77.py b/txt/py/py_kunyu77.py new file mode 100644 index 0000000000000000000000000000000000000000..b4c15fa50cf9cfb5ba6a112e5d155c655849cd07 --- /dev/null +++ b/txt/py/py_kunyu77.py @@ -0,0 +1,175 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json + +class Spider(Spider): + def getName(self): + return "77" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def homeContent(self,filter): + result = {} + url = 'http://api.kunyu77.com/api.php/provide/filter' + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + classes = [] + jData = jo['data'] + for cKey in jData.keys(): + classes.append({ + 'type_name':jData[cKey][0]['cat'], + 'type_id':cKey + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + url = 'http://api.kunyu77.com/api.php/provide/homeBlock?type_id=0' + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + blockList = jo['data']['blocks'] + videos = [] + for block in blockList: + vodList = block['contents'] + for vod in vodList: + videos.append({ + "vod_id":vod['id'], + "vod_name":vod['title'], + "vod_pic":vod['videoCover'], + "vod_remarks":vod['msg'] + }) + result = { + 'list':videos + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + if 'type_id' not in extend.keys(): + extend['type_id'] = tid + extend['pagenum'] = pg + filterParams = ["type_id", "pagenum"] + params = ["", ""] + for idx in range(len(filterParams)): + fp = filterParams[idx] + if fp in extend.keys(): + params[idx] = '&'+filterParams[idx]+'='+extend[fp] + suffix = ''.join(params) + url = 'http://api.kunyu77.com/api.php/provide/searchFilter?pagesize=24{0}'.format(suffix) + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + vodList = jo['data']['result'] + videos = [] + for vod in vodList: + videos.append({ + "vod_id":vod['id'], + "vod_name":vod['title'], + "vod_pic":vod['videoCover'], + "vod_remarks":vod['msg'] + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + tid = array[0] + url = 'http://api.kunyu77.com/api.php/provide/videoDetail?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&version=1.8.7&ids={0}'.format(tid) + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + node = jo['data'] + vod = { + "vod_id":node['id'], + "vod_name":node['videoName'], + "vod_pic":node['videoCover'], + "type_name":node['subCategory'], + "vod_year":node['year'], + "vod_area":node['area'], + "vod_remarks":node['msg'], + "vod_actor":node['actor'], + "vod_director":node['director'], + "vod_content":node['brief'].strip() + } + listUrl = 'http://api.kunyu77.com/api.php/provide/videoPlaylist?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&version=1.8.7&ids={0}'.format(tid) + listRsp = self.fetch(listUrl,headers=self.header) + listJo = json.loads(listRsp.text) + playMap = {} + episodes = listJo['data']['episodes'] + for ep in episodes: + playurls = ep['playurls'] + for playurl in playurls: + source = playurl['playfrom'] + if source not in playMap.keys(): + playMap[source] = [] + playMap[source].append(playurl['title'].strip() + '$' + playurl['playurl']) + + playFrom = [] + playList = [] + for key in playMap.keys(): + playFrom.append(key) + playList.append('#'.join(playMap[key])) + + vod_play_from = '$$$' + vod_play_from = vod_play_from.join(playFrom) + vod_play_url = '$$$' + vod_play_url = vod_play_url.join(playList) + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + + result = { + 'list':[ + vod + ] + } + return result + + def searchContent(self,key,quick): + url = 'http://api.kunyu77.com/api.php/provide/searchVideo?searchName={0}'.format(key) + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + vodList = jo['data'] + videos = [] + for vod in vodList: + videos.append({ + "vod_id":vod['id'], + "vod_name":vod['videoName'], + "vod_pic":vod['videoCover'], + "vod_remarks":vod['msg'] + }) + result = { + 'list':videos + } + return result + + config = { + "player": {}, + "filter": {} + } + header = { + "User-Agent":"Dalvik/2.1.0" + } + def playerContent(self,flag,id,vipFlags): + result = {} + url = 'http://api.kunyu77.com/api.php/provide/parserUrl?url={0}'.format(id) + jo = self.fetch(url,headers=self.header).json() + result = { + 'parse':0, + 'jx':0, + 'playUrl':'', + 'url':id, + 'header':'' + } + if flag in vipFlags: + result['parse'] = 1 + result['jx'] = 1 + return result + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file