//本代码仅用于个人学习,请勿用于其他作用,下载后请24小时内删除,代码虽然是公开学习的,但请尊重作者,应留下说明 let customparse = { csp_custom_aidog: function (name) { try { var lists = []; let html = request("https://www.dianyinggou.com/so/" + name); let data = pdfa(html, "body&&.movies&&.each"); let cook = getCookie('https://www.dianyinggou.com'); data.forEach(item=>{ let dogname = pdfh(item, "a&&title"); if(dogname == name){ let dogurl = pdfh(item, "a&&href"); let dogpic = pdfh(item, "img&&data-url"); let headers = { "User-Agent": MOBILE_UA, "Referer": dogurl, "x-requested-with": "XMLHttpRequest", "Cookie": cook }; let doghtml = request('https://www.dianyinggou.com/SpiderMovie/zy/' + dogname, {headers: headers}); let htmls = pdfa(doghtml, "body&&a"); htmls.forEach(it=>{ try{ let sitename = pdfh(it, "a&&li,1&&Text"); let vodname = pdfh(it, "a&&li,0&&Text"); let vodurl = pdfh(it, "a&&href"); if(vodname==dogname&&!lists.some(ii => ii.url==vodurl)){ lists.push({name:vodname,pic:dogpic,url:vodurl,site:sitename}) } }catch(e){} }) } }) } catch (e) { log(e.message); var lists = []; } let list = []; let task = function(obj) { try{ let trueurl = request(obj.url, {redirect: false, withHeaders: true}); let vodurl = JSON.parse(trueurl).headers.location[0]; if(!/qq|mgtv|iptv|iqiyi|youku|bilibili|souhu|cctv|icaqd|cokemv|mhyyy|fun4k|jpys\.me|31kan|37dyw|kpkuang/.test(vodurl)&&!list.some(ii => ii.vodurl==vodurl)){ list.push({ vodname: obj.name, vodpic: obj.pic.replace(/http.*?\?url=/,''), voddesc: obj.site, vodurl: vodurl }) } }catch(e){} return 1; } let doglist = lists.map((item)=>{ return { func: task, param: item, id: item.url } }); if(doglist.length>0){ be(doglist, { func: function(obj, id, error, taskResult) { }, param: { } }); } return list; }, csp_custom_zhuiyingmao: function(name) { var list = []; try { let html = request("https://zhuiyingmao2.com/index.php/ajax/suggest?mid=1&wd="+name+"&limit=10" ); let data = JSON.parse(html).list; //let cook = getCookie('https://zhuiyingmao2.com'); data.forEach(item => { let maoname = item.name; if (maoname == name) { let maourl = 'https://zhuiyingmao2.com/voddetail/' + item.id+".html"; let maopic = item.pic; let headers = { "User-Agent": MOBILE_UA, "Referer": maourl, "x-requested-with": "XMLHttpRequest", "Cookie": cook }; let maohtml = request(maourl, { //headers: headers }); let htmls = pdfa(maohtml, ".search-result-container&&a"); htmls.forEach(it => { let sitename = pdfh(it, ".website-name&&Text"); let vodurl = pdfh(it, "a&&href"); if (!list.some(ii => ii.url == vodurl)) { list.push({ vodname: vodname, vodpic: maopic.replace(/http.*?\?url=/,''), voddesc: sitename, vodurl: vodurl }); } }); } }) } catch (e) { //log(e.message); } return list; }, csp_custom_77: function (name,type) { if(type=="ss"){//搜索 let list = []; try { let html = request("https://api.tyun77.cn/api.php/provide/searchVideo?searchName="+name); let data = JSON.parse(html).data; data.forEach(item=>{ let dataname = item.videoName; if(dataname == name || (getSearchMode()==0&&dataname.indexOf(name)>-1)){ list.push({ vodname: dataname, vodpic: item.videoCover.replace(/http.*?\?url=/,''), voddesc: item.msg, vodurl: item.id }) } }) } catch (e) { //log(e.message); } return list; }else if(type=="erji"){ return { url: function (vid) {//影片链接解析处理 let qqtime = parseInt(new Date().getTime() / 1000) + ''; let qqtok = md5('/api.php/provide/videoDetailrealme4ac3fe96a6133de96904b8d3c8cfe16d'+vid+'40.954705116.801239RMX1931com.sevenVideo.app.android010110005'+ qqtime +'android7.1.22.1.4'+ qqtime +'XSpeUFjJ'); let html = request('https://api.tyun77.cn/api.php/provide/videoDetail?brand=realme&devid=4ac3fe96a6133de96904b8d3c8cfe16d&ids='+vid+'&lat=40.954705&lon=116.801239&model=RMX1931&package=com.sevenVideo.app.android&pcode=010110005&sj='+qqtime+'&sys=android&sysver=7.1.2&version=2.1.4', { headers: { "User-Agent": "okhttp/3.12.0", "t": qqtime, "TK": qqtok } }); return {html:html,vid:vid}; }, data: function (obj) {//影片详情、线路、选集 let json = JSON.parse(obj.html).data; let detail1 = '主演:' + json.actor + '\n地区:'+json.area+' 年份:'+json.year; let detail2 = '分类:' + json.subCategory + '\n状态:'+json.msg; let img = json.videoCover; let desc = json.brief; let qqtime = parseInt(new Date().getTime() / 1000) + ''; let vid = obj.vid; let qqtok = md5('/api.php/provide/videoPlaylistrealme4ac3fe96a6133de96904b8d3c8cfe16d'+vid+'40.954705116.801239RMX1931com.sevenVideo.app.android010110005'+ qqtime +'android7.1.22.1.4'+ qqtime +'XSpeUFjJ'); let html = fetch('https://api.tyun77.cn/api.php/provide/videoPlaylist?brand=realme&devid=4ac3fe96a6133de96904b8d3c8cfe16d&ids='+vid+'&lat=40.954705&lon=116.801239&model=RMX1931&package=com.sevenVideo.app.android&pcode=010110005&sj='+qqtime+'&sys=android&sysver=7.1.2&version=2.1.4', { headers: { "User-Agent": "okhttp/3.12.0", "t": qqtime, "TK": qqtok } }); let lines =[];//线路数组 let lists =[];//选集数组 let list =[];//单选集临时 let data = JSON.parse(html).data.episodes; data.forEach(it=>{ if(lines.indexOf(it.source)==-1){ lines.push(it.source); } list.push(it.title.replace(it.albumTitle,'')+'$'+it.playurl); }) lists.push(list.join('#')); return { detail1:detail1, detail2:detail2, img:img, desc:desc, lines:lines, lists:lists } } } } } }