2024-06-08 10:36:59 +08:00
var rule = {
title : '腾云驾雾[官]' ,
host : 'https://v.%71%71.com' ,
// homeUrl: '/x/bu/pagesheet/list?_all=1&append=1&channel=choice&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18',
homeUrl : '/x/bu/pagesheet/list?_all=1&append=1&channel=cartoon&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18' ,
detailUrl : 'https://node.video.%71%71.com/x/api/float_vinfo2?cid=fyid' ,
searchUrl : '/x/search/?q=**&stag=fypage' ,
2024-11-11 10:12:05 +08:00
searchUrl : 'https://pbaccess.video.%71%71.com/trpc.videosearch.smartboxServer.HttpRountRecall/Smartbox?query=**&appID=3172&appKey=lGhFIPeD3HsO9xEp&pageNum=(fypage-1)&pageSize=10' ,
2024-06-08 10:36:59 +08:00
searchable : 2 ,
filterable : 1 ,
multi : 1 ,
// url:'/channel/fyclass?listpage=fypage&channel=fyclass&sort=18&_all=1',
url : '/x/bu/pagesheet/list?_all=1&append=1&channel=fyclass&listpage=1&offset=((fypage-1)*21)&pagesize=21&iarea=-1' ,
// filter_url: 'sort={{fl.sort or 18}}&year={{fl.year}}&pay={{fl.pay}}',
2024-08-02 11:15:57 +08:00
// filter_url: 'sort={{fl.sort or 75}}&year={{fl.year}}&pay={{fl.pay}}',
filter _url : 'sort={{fl.sort or 75}}&iyear={{fl.iyear}}&year={{fl.year}}&itype={{fl.type}}&ifeature={{fl.feature}}&iarea={{fl.area}}&itrailer={{fl.itrailer}}&gender={{fl.sex}}' ,
// filter: 'H4sIAAAAAAAAA+2UzUrDQBCA32XOEZLUJrGvIj0saaDBNisxBkIJCG3Fi4oepIg3EQoieqiH+vM23Zq+hRuaZLZ4ce9z2/lmd2d2+NgR+H0e+gF0DkdwFGTQgRMeJ2BAxIaSwvrqVnxcyzhlg9PttqjED2c/45cSy8DyIDcavr57q/lBw8XTd/E6qbnT8M3zTFyc72RtC/Jumd+2c8wy7KZ4nxSL5Z9uxHS+Gc+r83sWVp1eVttl4Dluk1h93YubWZVwduplAYuxoFguVp+P/y5om/Z+/YxyqfAW8pbKbeS2yi3kO/ebyE2Fy1nXXBm7DDzknspd5K7KHeSOytvI2+XAugYkKWlD2mhrM+RpSB8OmaNvTsriMEgycofc0XbHZ3HCeUTukDv67vTDQY/MIXO0zelxn5M4JI6mOPkvgswSEpgPAAA=',
filter : 'H4sIAAAAAAAAA+1Y3U8aWRT/X+ZZEwYEtI9207Rp0r40+9CNDxM7G8laaZCamsYEinyoDYp1sa1I/aJSK4ita3Eo9J+Ze2fmv9g7yOWc22u3xJX0RZ7gd+ee7/M7h3mujE+EQ+O6cuOP58pf+qxyQ5kOR6LKgDKlPWaoQrOrxFhmv2e0yafnj025cCFmJSouzH4E/crcQBen+VoHH/Z1cVJq2kfzHFeVuTH35FxhaFbXIqCRnJ2YjV1JI0mWnUS5I2FQ7Ur2erxDHbT9FeE+wH0Y9wLuxbgKuCDfA7gH4epIF2dfET4M+DDGg4AHMR4APIBxP+B+N2JjA0p0pi+ZCo5cnCnXHpSpP3Ut+jSig07ruEGKSz3nysoc00SSywaVy3v2LochI/TFoZXPdWBIoJNokvqLDgz5JtVTYnA/wU2SL5CF/Q4M0TW/bpFSmnsPKivvzdYWL1MQktqg69xACBXdTNi1Je4OlIaz+YHkmhxH7mdrpFrkOPJoc5W+LnEcXLJeZsFIFXyy9nPkrIFSxPGPRboY43gQ6Z1Hzw9fN98lm+9xeCb0S5kyOvvkfzTf4pHVPJD7ZvGYfFuXmk/oG9XDPqguExV7O4bOAurFTdu+B9kR2989+1FNsyMVEUF8hcby+MyDzC9ba8I9FOLMa9NYwPogwwJdtO9BVTDHRTtRpbKG/M5OkCmwR/sMcVw2RZY/YZlwZsfi1kIa34NysEvfIJsIrtZI82/xltsfqFiuG7vnxp7RIiE9OtuX1naDdM23l0rLuBaJhsNTv5JxtYiuoWwVauSl0XO2SCrJbkjrDl0v0cKhvO4c7lutrNTpJHlqNjj5DV3hOMBLAeJozMNQYCK1IetSq86bD5LRjHlpng8VlIGVonWYkwMSX2KjQVrGnMoamPKDLQfVqDh5gjjcpF6Xtyi6tU02uhMAyS+8Mw0DbUv8+WzZWknJW5rI7CiSjWWSrP93Pt0hd00OlyOHidDko/78GUJbAqaG7+brtP4M6Yvtk8zH3pmh9JlUeNugnlz7ArC3T0Tkw51xERGJFfqTAnVa87T6T8+WeAZ95FNccnxoMAAwWBIcHAEY7FY9DDUbJbO+KK+zybJg1TmjtCvmUXg83J+CEWk5FI1ooUkdxyltkFdxmj/rOU6jozelIJGNpru1FmpAQ+D37dH7PE4qsvPe7btyftuE5ezknPgriXTvPPidy/H7ELlmd6yTHeEO0wPqH/52C2DoHzvZsqtHdvqAZE5lBiYrGbNZoAWDFnmPBS6uQv/VzT1mjDV/KsWPjV5n9113mwZ8r2V+fSuVIJsQNJ+WjRZmAX5/YBpLUiLYrIVJBvxon+yw2SEPGpYDmLX4dUDzgG5npEyKbwPQnrGepDAP2/09NvcvaIIuCAgUAAA=' ,
2024-06-08 10:36:59 +08:00
headers : {
'User-Agent' : 'PC_UA'
} ,
timeout : 5000 ,
// class_parse:'.site_channel a;a&&Text;a&&href;channel/(.*)',
cate _exclude : '会员|游戏|全部' ,
2024-08-02 11:15:57 +08:00
// class_name: '精选&电视剧&电影&综艺&动漫&少儿&纪录片',
// class_url: 'choice&tv&movie&variety&cartoon&child&doco',
class _name : '精选&电影&电视剧&综艺&动漫&少儿&纪录片' ,
class _url : 'choice&movie&tv&variety&cartoon&child&doco' ,
2024-06-08 10:36:59 +08:00
limit : 20 ,
// play_parse:true,
// 手动调用解析请求json的url,此lazy不方便
lazy : 'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input' ,
推荐 : '.list_item;img&&alt;img&&src;a&&Text;a&&data-float' ,
一级 : '.list_item;img&&alt;img&&src;a&&Text;a&&data-float' ,
二级 : $js . toString ( ( ) => {
VOD = { } ;
let d = [ ] ;
let video _list = [ ] ;
let video _lists = [ ] ;
let list = [ ] ;
let QZOutputJson ;
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 ) ;
pdfh = jsp . pdfh ;
pd = jsp . pd ;
try {
let json = JSON . parse ( html ) ;
VOD = {
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 ( video _lists . length === 1 ) {
let vid = video _lists [ 0 ] ;
url = "https://v.qq.com/x/cover/" + cid + "/" + vid + ".html" ;
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=1804&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 ,
type : it1 . category _map && it1 . category _map . length > 1 ? it1 . category _map [ 1 ] : ""
} )
} )
} )
}
}
let yg = d . filter ( function ( it ) {
return it . type && it . type !== "正片"
} ) ;
let zp = d . filter ( function ( it ) {
return ! ( it . type && it . type !== "正片" )
} ) ;
VOD . vod _play _from = yg . length < 1 ? "qq" : "qq$$$qq 预告及花絮" ;
VOD . vod _play _url = yg . length < 1 ? d . map ( function ( it ) {
return it . title + "$" + it . url
} ) . join ( "#" ) : [ zp , yg ] . map ( function ( it ) {
return it . map ( function ( its ) {
return its . title + "$" + its . url
} ) . join ( "#" )
} ) . join ( "$$$" ) ;
} ) ,
搜索 : $js . toString ( ( ) => {
let d = [ ] ;
pdfa = jsp . pdfa ;
pdfh = jsp . pdfh ;
pd = jsp . pd ;
let html = request ( input ) ;
let baseList = pdfa ( html , "body&&.result_item_v" ) ;
2024-08-02 11:15:57 +08:00
log ( baseList . length ) ;
2024-06-08 10:36:59 +08:00
baseList . forEach ( function ( it ) {
let longText = pdfh ( it , ".result_title&&a&&Text" ) ;
let shortText = pdfh ( it , ".type&&Text" ) ;
let fromTag = pdfh ( it , ".result_source&&Text" ) ;
let score = pdfh ( it , ".figure_info&&Text" ) ;
let content = pdfh ( it , ".desc_text&&Text" ) ;
2024-08-02 11:15:57 +08:00
// let url = pdfh(it, ".result_title&&a&&href");
let url = pdfh ( it , "div&&r-data" ) ;
// log(longText);
// log(shortText);
// log('url:'+url);
2024-06-08 10:36:59 +08:00
let img = pd ( it , ".figure_pic&&src" ) ;
url = "https://node.video.qq.com/x/api/float_vinfo2?cid=" + url . match ( /.*\/(.*?)\.html/ ) [ 1 ] ;
log ( shortText + "|" + url ) ;
if ( fromTag . match ( /腾讯/ ) ) {
d . push ( {
title : longText . split ( shortText ) [ 0 ] ,
img : img ,
url : url ,
content : content ,
desc : shortText + " " + score
} )
}
} ) ;
setResult ( d ) ;
} ) ,
2024-11-11 10:12:05 +08:00
搜索 : $js . toString ( ( ) => {
let d = [ ] ;
let html = request ( input ) ;
let json = JSON . parse ( html ) ;
if ( json . data . smartboxItemList . length > 0 ) {
let cid = json . data . smartboxItemList [ 0 ] . basicDoc . id ;
let url = 'https://node.video.qq.com/x/api/float_vinfo2?cid=' + cid ;
let html1 = request ( url ) ;
let data = JSON . parse ( html1 ) ;
d . push ( {
title : data . c . title ,
img : data . c . pic ,
url : url ,
content : data . c . description ,
desc : data . rec
} ) ;
}
setResult ( d ) ;
} )
2023-06-23 00:41:10 +08:00
}