提交 9b2ae86a 编写于 作者: H hjdhnx

高级玩意儿哟,记得更

上级 6e3751cd
3.2.6
\ No newline at end of file
3.2.7
\ No newline at end of file
var rule = {
title:'腾云驾雾',
host:'https://v.qq.com',
host:'https://v.%71%71.com',
homeUrl:'/channel/choice?listpage=1&channel=choice&sort=18&_all=1',
detailUrl:'https://node.video.qq.com/x/api/float_vinfo2?cid=fyid',
detailUrl:'https://node.video.%71%71.com/x/api/float_vinfo2?cid=fyid',
searchUrl:'https://node.video.%71%71.com/x/api/msearch?keyWord=**',
searchable:1,
quickSearch:1,
......@@ -23,6 +23,7 @@ var rule = {
一级:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
// 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites;data.playlinksdetail.#idv.quality","lists":"data.playlinksdetail.#idv.default_url"},
// 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites","lists":"data.playlinksdetail.#idv.default_url"},
二级:'js:print(input);let html=JSON.parse(fetch(input,fetch_params));let data=html.data;let tilte=data.title;let img=data.cdncover;let vod_type=data.moviecategory.join(",");let area=data.area.join(",");let director=data.director.join(",");let actor=data.actor.join(",");let content=data.description;base_vod={vod_id:input,vod_name:tilte,type_name:vod_type,vod_actor:actor,vod_director:director,vod_content:content,vod_remarks:area,vod_pic:urljoin2(input,img)};let delta=200;let vod_play={};let sites=data.playlink_sites;for(let i in sites){let site=sites[i];let playList="";let vodItems=[];if(data.allupinfo){let total=parseInt(data.allupinfo[site]);for(let j=1;j<total;j+=delta){let end=Math.min(total,j+delta-1);let url2=buildUrl(input,{start:j,end:end,site:site});let vod_data=JSON.parse(fetch(url2),fetch_params).data;if(vod_data.allepidetail){vod_data=vod_data.allepidetail[site];vod_data.forEach(function(item,index){vodItems.push((item.playlink_num||"")+"$"+(item.url||""))})}else{vod_data=vod_data.defaultepisode;vod_data.forEach(function(item,index){vodItems.push((item.period||"")+(item.name||"")+"$"+item.url||"")})}}}else{let item=data.playlinksdetail[site];vodItems.push((item.sort||"")+"$"+(item.default_url||""))}if(vodItems.length>0){playList=vodItems.join("#")}if(playList.length<1){continue}vod_play[site]=playList}let tabs=Object.keys(vod_play);let playUrls=[];for(let id in tabs){playUrls.push(vod_play[tabs[id]])}if(tabs.length>0){vod_play_from=tabs.join("$$$");vod_play_url=playUrls.join("$$$");base_vod.vod_play_from=vod_play_from;base_vod.vod_play_url=vod_play_url}vod=base_vod;',
二级:'',
二级:'js:var vod={};let d=[];let video_list=[];let video_lists=[];let list=[];let html=fetch(input,fetch_params);let sourceId=/get_playsource/.test(input)?input.match(/id=(\\d*?)&/)[1]:input.split("cid=")[1];let cid=sourceId;let detailUrl="https://v.%71%71.com/detail/m/"+cid+".html";log("详情页:"+detailUrl);var pdfh=jsp.pdfh;var pd=jsp.pd;try{let json=JSON.parse(html);vod={vod_id:json.c.vid,vod_url:input,vod_name:json.c.title,type_name:json.typ.join(","),vod_actor:json.nam.join(","),vod_year:json.c.year,vod_content:json.c.description,vod_remarks:json.rec,vod_pic:urljoin2(input,json.c.pic)}}catch(e){log("解析片名海报等基础信息发生错误:"+e.message)}if(/get_playsource/.test(input)){eval(html);let indexList=QZOutputJson.PlaylistItem.indexList;indexList.forEach(function(it){let dataUrl="https://s.video.qq.com/get_playsource?id="+sourceId+"&plat=2&type=4&data_type=3&range="+it+"&video_type=10&plname=qq&otype=json";eval(fetch(dataUrl,fetch_params));let vdata=QZOutputJson.PlaylistItem.videoPlayList;vdata.forEach(function(item){d.push({title:item.title,pic_url:item.pic,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,url:item.playUrl})});video_lists=video_lists.concat(vdata)})}else{let json=JSON.parse(html);video_lists=json.c.video_ids;let url="https://v.qq.com/x/cover/"+sourceId+".html";if(json.c.type===10){let dataUrl="https://s.video.qq.com/get_playsource?id="+json.c.column_id+"&plat=2&type=2&data_type=3&video_type=8&plname=qq&otype=json";let o_html=fetch(dataUrl,fetch_params);eval(o_html);video_lists=[];let indexList=QZOutputJson.PlaylistItem.indexList;indexList.forEach(function(it){let dataUrl="https://s.video.qq.com/get_playsource?id="+json.c.column_id+"&plat=2&type=4&data_type=3&range="+it+"&video_type=10&plname=qq&otype=json";eval(fetch(dataUrl,fetch_params));let vdata=QZOutputJson.PlaylistItem.videoPlayList;vdata.forEach(function(item){d.push({title:item.title,pic_url:item.pic,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,url:item.playUrl})});video_lists=video_lists.concat(vdata)})}else if(video_lists.length===1){d.push({title:"在线播放",url:url})}else if(video_lists.length>1){for(let i=0;i<video_lists.length;i+=30){video_list.push(video_lists.slice(i,i+30))}video_list.forEach(function(it,idex){let o_url="https://union.video.qq.com/fcgi-bin/data?otype=json&tid=682&appid=20001238&appkey=6c03bbe9658448a4&union_platform=1&idlist="+it.join(",");let o_html=fetch(o_url,fetch_params);eval(o_html);QZOutputJson.results.forEach(function(it1){it1=it1.fields;let url="https://v.qq.com/x/cover/"+cid+"/"+it1.vid+".html";d.push({title:it1.title,pic_url:it1.pic160x90.replace("/160",""),desc:it1.video_checkup_time,url:url})})})}}vod.vod_play_from="qq";vod.vod_play_url=d.map(function(it){return it.title+"$"+it.url}).join("#");',
搜索:'json:uiData;data[0].title;data[0].posterPic;.titleMarkLabelList[1].primeText;data[0].id;data[0].publishDate',
}
\ No newline at end of file
js:
var vod = {};
let d = [];
let video_list = [];
let video_lists = [];
let list = [];
let html = fetch(input,fetch_params);
// print(html);
let sourceId = /get_playsource/.test(input)?input.match(/id=(\d*?)&/)[1]:input.split('cid=')[1];
let cid = sourceId;
let detailUrl = 'https://v.%71%71.com/detail/m/' + cid + '.html';
log('详情页:'+detailUrl);
// let detail_html = fetch(detailUrl,fetch_params);
var pdfh = jsp.pdfh;
var pd = jsp.pd;
//影片信息
try{
let json = JSON.parse(html);
vod = {
vod_id:json.c.vid,
vod_url:input,
vod_name:json.c.title,
type_name:json.typ.join(','),
vod_actor:json.nam.join(','),
vod_year:json.c.year,
// vod_director:director,
// vod_area:area,
vod_content:json.c.description,
vod_remarks:json.rec,
vod_pic:urljoin2(input,json.c.pic),
};
// print(vod);
}catch(e){log('解析片名海报等基础信息发生错误:'+e.message) }
//掏直链
if (/get_playsource/.test(input)) {
// print('流程1');
eval(html);
let indexList = QZOutputJson.PlaylistItem.indexList;
indexList.forEach(function (it) {
let dataUrl = 'https://s.video.qq.com/get_playsource?id=' + sourceId + '&plat=2&type=4&data_type=3&range=' + it + '&video_type=10&plname=qq&otype=json';
eval(fetch(dataUrl, fetch_params));
let vdata = QZOutputJson.PlaylistItem.videoPlayList;
vdata.forEach(function (item) {
d.push({
title:item.title,
pic_url:item.pic,
desc:item.episode_number + '\t\t\t播放量:' + item.thirdLine,
url:item.playUrl,
});
});
video_lists = video_lists.concat(vdata);
});
}else{
let json = JSON.parse(html);
video_lists = json.c.video_ids;
// print(video_lists);
let url = 'https://v.qq.com/x/cover/' + sourceId + '.html';
if (json.c.type === 10) {//综艺
// print('流程2-1');
let dataUrl = 'https://s.video.qq.com/get_playsource?id=' + json.c.column_id + '&plat=2&type=2&data_type=3&video_type=8&plname=qq&otype=json';
// print(dataUrl);
let o_html = fetch(dataUrl, fetch_params);
eval(o_html);
video_lists = [];
let indexList = QZOutputJson.PlaylistItem.indexList;
indexList.forEach(function (it){
let dataUrl = 'https://s.video.qq.com/get_playsource?id=' + json.c.column_id + '&plat=2&type=4&data_type=3&range=' + it + '&video_type=10&plname=qq&otype=json';
eval(fetch(dataUrl, fetch_params));
let vdata = QZOutputJson.PlaylistItem.videoPlayList;
vdata.forEach(function (item){
d.push({
title:item.title,
pic_url:item.pic,
desc:item.episode_number + '\t\t\t播放量:' + item.thirdLine,
url:item.playUrl,
});
});
video_lists = video_lists.concat(vdata);
});
} else if (video_lists.length === 1) {//电影或者电视剧只有1集
// print('流程2-2');
d.push({
title: '在线播放',
url: url,
});
} else if (video_lists.length > 1) { // 电视剧 或者动漫? 电影也分普通话版和英语版
// print('流程2-3');
for (let i = 0; i < video_lists.length; i += 30) {
video_list.push(video_lists.slice(i, i + 30))
}
// print(video_list);
video_list.forEach(function (it,idex){
let o_url = 'https://union.video.qq.com/fcgi-bin/data?otype=json&tid=682&appid=20001238&appkey=6c03bbe9658448a4&union_platform=1&idlist=' + it.join(',');
let o_html = fetch(o_url, fetch_params);
eval(o_html);
QZOutputJson.results.forEach(function (it1){
it1 = it1.fields;
let url = 'https://v.qq.com/x/cover/' + cid + '/' + it1.vid + '.html';
d.push({
title: it1.title,
pic_url: it1.pic160x90.replace('/160',''),
desc: it1.video_checkup_time,
url: url,
});
});
});
}
}
// print(d);
vod.vod_play_from = 'qq';
vod.vod_play_url = d.map(function (it){
return it.title + '$' + it.url;
}).join('#');
\ No newline at end of file
......@@ -51,6 +51,7 @@
- [X] 2.增加了镜像合并脚本(三合一直接拉 hjdhnx/drpy 即可)
- [X] 3.js源增加cate_exlude参数
- [X] 4.增加腾云驾雾源(二级暂未完善,后面再说)
- [X] 5.完善腾云驾雾源,修复直播下载乱码,修复网站强制证书验证
###### 2022/09/06
- [X] 1.增加了后台管理界面在线检测升级系统功能
- [X] 2.增加了后台管理界面修改直播源地址和同步直播源
......
......@@ -7,7 +7,12 @@
import base64
from urllib.parse import urljoin
import requests
import requests,warnings
# 关闭警告
warnings.filterwarnings("ignore")
from requests.packages import urllib3
urllib3.disable_warnings()
import requests.utils
from time import sleep
import os
......@@ -158,6 +163,7 @@ def dealObj(obj=None):
}
def base_request(url,obj,method=None):
# verify=False 关闭证书验证
url = str(url).replace("'", "")
if not method:
method = 'get'
......@@ -166,9 +172,9 @@ def base_request(url,obj,method=None):
try:
# r = requests.get(url, headers=headers, params=body, timeout=timeout)
if method.lower() == 'get':
r = requests.get(url, headers=obj['headers'], params=obj['body'], timeout=obj['timeout'])
r = requests.get(url, headers=obj['headers'], params=obj['body'], timeout=obj['timeout'],verify=False)
else:
r = requests.post(url, headers=obj['headers'], data=obj['body'], timeout=obj['timeout'])
r = requests.post(url, headers=obj['headers'], data=obj['body'], timeout=obj['timeout'],verify=False)
# r = requests.get(url, timeout=timeout)
# r = requests.get(url)
# print(encoding)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册