123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- js:
- VOD = {};
- let d = [];
- let video_list = [];
- let video_lists = [];
- let list = [];
- let QZOutputJson;
- 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);
- // });
- // }
- if (video_lists.length === 1) {//电影或者电视剧只有1集
- let vid = video_lists[0];
- url = 'https://v.qq.com/x/cover/' + cid + '/' + vid + '.html';
- // 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,
- type:it1.category_map&&it1.category_map.length>1?it1.category_map[1]:''
- });
- });
- });
- }
- }
- // print(d);
- 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('$$$');
|