腾讯VIP.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. var rule = {
  2. title: '腾云驾雾[官]',
  3. host: 'https://v.%71%71.com',
  4. homeUrl: '/x/bu/pagesheet/list?_all=1&append=1&channel=cartoon&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18',
  5. detailUrl: 'https://node.video.%71%71.com/x/api/float_vinfo2?cid=fyid',
  6. searchUrl: '/x/search/?q=**&stag=fypage',
  7. searchable: 2,
  8. filterable: 1,
  9. multi: 1,
  10. url: '/x/bu/pagesheet/list?_all=1&append=1&channel=fyclass&listpage=1&offset=((fypage-1)*21)&pagesize=21&iarea=-1',
  11. 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}}',
  12. filter: {"choice":[{"key":"sort","name":"排序","value":[{"n":"最热","v":"75"},{"n":"最新","v":"83"},{"n":"好评","v":"81"}]},{"key":"iyear","name":"年代","value":[{"n":"全部","v":"-1"},{"n":"2024","v":"2024"},{"n":"2023","v":"2023"},{"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"}]}],"tv":[{"key":"sort","name":"排序","value":[{"n":"最热","v":"75"},{"n":"最新","v":"79"},{"n":"好评","v":"16"}]},{"key":"feature","name":"类型","value":[{"n":"全部","v":"-1"},{"n":"爱情","v":"1"},{"n":"古装","v":"2"},{"n":"悬疑","v":"3"},{"n":"都市","v":"4"},{"n":"家庭","v":"5"},{"n":"喜剧","v":"6"},{"n":"传奇","v":"7"},{"n":"武侠","v":"8"},{"n":"军旅","v":"9"},{"n":"权谋","v":"10"},{"n":"革命","v":"11"},{"n":"现实","v":"13"},{"n":"青春","v":"14"},{"n":"猎奇","v":"15"},{"n":"科幻","v":"16"},{"n":"竞技","v":"17"},{"n":"玄幻","v":"18"}]},{"key":"iyear","name":"年代","value":[{"n":"全部","v":"-1"},{"n":"2024","v":"2024"},{"n":"2023","v":"2023"},{"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"}]}],"movie":[{"key":"sort","name":"排序","value":[{"n":"最热","v":"75"},{"n":"最新","v":"83"},{"n":"好评","v":"81"}]},{"key":"type","name":"类型","value":[{"n":"全部","v":"-1"},{"n":"犯罪","v":"4"},{"n":"励志","v":"2"},{"n":"喜剧","v":"100004"},{"n":"热血","v":"100061"},{"n":"悬疑","v":"100009"},{"n":"爱情","v":"100005"},{"n":"科幻","v":"100012"},{"n":"恐怖","v":"100010"},{"n":"动画","v":"100015"},{"n":"战争","v":"100006"},{"n":"家庭","v":"100017"},{"n":"剧情","v":"100022"},{"n":"奇幻","v":"100016"},{"n":"武侠","v":"100011"},{"n":"历史","v":"100021"},{"n":"老片","v":"100013"},{"n":"西部","v":"3"},{"n":"记录片","v":"100020"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":"-1"},{"n":"2024","v":"2024"},{"n":"2023","v":"2023"},{"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"}]}],"variety":[{"key":"sort","name":"排序","value":[{"n":"最热","v":"75"},{"n":"最新","v":"23"}]},{"key":"iyear","name":"年代","value":[{"n":"全部","v":"-1"},{"n":"2024","v":"2024"},{"n":"2023","v":"2023"},{"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"}]}],"cartoon":[{"key":"sort","name":"排序","value":[{"n":"最热","v":"75"},{"n":"最新","v":"83"},{"n":"好评","v":"81"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":"-1"},{"n":"内地","v":"1"},{"n":"日本","v":"2"},{"n":"欧美","v":"3"},{"n":"其他","v":"4"}]},{"key":"type","name":"类型","value":[{"n":"全部","v":"-1"},{"n":"玄幻","v":"9"},{"n":"科幻","v":"4"},{"n":"武侠","v":"13"},{"n":"冒险","v":"3"},{"n":"战斗","v":"5"},{"n":"搞笑","v":"1"},{"n":"恋爱","v":"7"},{"n":"魔幻","v":"6"},{"n":"竞技","v":"20"},{"n":"悬疑","v":"17"},{"n":"日常","v":"15"},{"n":"校园","v":"16"},{"n":"真人","v":"18"},{"n":"推理","v":"14"},{"n":"历史","v":"19"},{"n":"经典","v":"3"},{"n":"其他","v":"12"}]},{"key":"iyear","name":"年代","value":[{"n":"全部","v":"-1"},{"n":"2024","v":"2024"},{"n":"2023","v":"2023"},{"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"}]}],"child":[{"key":"sort","name":"排序","value":[{"n":"最热","v":"75"},{"n":"最新","v":"76"},{"n":"好评","v":"20"}]},{"key":"sex","name":"性别","value":[{"n":"全部","v":"-1"},{"n":"女孩","v":"1"},{"n":"男孩","v":"2"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":"-1"},{"n":"内地","v":"3"},{"n":"日本","v":"2"},{"n":"其他","v":"1"}]},{"key":"iyear","name":"年龄段","value":[{"n":"全部","v":"-1"},{"n":"0-3岁","v":"1"},{"n":"4-6岁","v":"2"},{"n":"7-9岁","v":"3"},{"n":"10岁以上","v":"4"},{"n":"全年龄段","v":"7"}]}],"doco":[{"key":"sort","name":"排序","value":[{"n":"最热","v":"75"},{"n":"最新","v":"74"}]},{"key":"itrailer","name":"出品方","value":[{"n":"全部","v":"-1"},{"n":"BBC","v":"1"},{"n":"国家地理","v":"4"},{"n":"HBO","v":"3175"},{"n":"NHK","v":"2"},{"n":"历史频道","v":"7"},{"n":"ITV","v":"3530"},{"n":"探索频道","v":"3174"},{"n":"ZDF","v":"3176"},{"n":"腾讯自制","v":"15"},{"n":"合作机构","v":"6"},{"n":"其他","v":"5"}]},{"key":"type","name":"类型","value":[{"n":"全部","v":"-1"},{"n":"自然","v":"4"},{"n":"美食","v":"10"},{"n":"社会","v":"3"},{"n":"人文","v":"6"},{"n":"历史","v":"1"},{"n":"军事","v":"2"},{"n":"科技","v":"8"},{"n":"财经","v":"14"},{"n":"探险","v":"15"},{"n":"罪案","v":"7"},{"n":"竞技","v":"12"},{"n":"旅游","v":"11"}]}]},
  13. headers: {
  14. 'User-Agent': 'PC_UA'
  15. },
  16. timeout: 5000,
  17. cate_exclude: '会员|游戏|全部',
  18. class_name: '电影&电视剧&综艺&动漫&少儿&纪录片',
  19. class_url: 'movie&tv&variety&cartoon&child&doco',
  20. limit: 20,
  21. 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',
  22. 推荐: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
  23. 一级: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
  24. 二级: $js.toString(() => {
  25. VOD = {};
  26. let d = [];
  27. let video_list = [];
  28. let video_lists = [];
  29. let list = [];
  30. let QZOutputJson;
  31. let html = fetch(input, fetch_params);
  32. let sourceId = /get_playsource/.test(input) ? input.match(/id=(\d*?)&/)[1] : input.split("cid=")[1];
  33. let cid = sourceId;
  34. let detailUrl = "https://v.%71%71.com/detail/m/" + cid + ".html";
  35. log("详情页:" + detailUrl);
  36. pdfh = jsp.pdfh;
  37. pd = jsp.pd;
  38. try {
  39. let json = JSON.parse(html);
  40. VOD = {
  41. vod_url: input,
  42. vod_name: json.c.title,
  43. type_name: json.typ.join(","),
  44. vod_actor: json.nam.join(","),
  45. vod_year: json.c.year,
  46. vod_content: json.c.description,
  47. vod_remarks: json.rec,
  48. vod_pic: urljoin2(input, json.c.pic)
  49. }
  50. } catch (e) {
  51. log("解析片名海报等基础信息发生错误:" + e.message)
  52. }
  53. if (/get_playsource/.test(input)) {
  54. eval(html);
  55. let indexList = QZOutputJson.PlaylistItem.indexList;
  56. indexList.forEach(function (it) {
  57. 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";
  58. eval(fetch(dataUrl, fetch_params));
  59. let vdata = QZOutputJson.PlaylistItem.videoPlayList;
  60. vdata.forEach(function (item) {
  61. d.push({
  62. title: item.title,
  63. pic_url: item.pic,
  64. desc: item.episode_number + "\t\t\t播放量:" + item.thirdLine,
  65. url: item.playUrl
  66. })
  67. });
  68. video_lists = video_lists.concat(vdata)
  69. })
  70. } else {
  71. let json = JSON.parse(html);
  72. video_lists = json.c.video_ids;
  73. let url = "https://v.qq.com/x/cover/" + sourceId + ".html";
  74. if (video_lists.length === 1) {
  75. let vid = video_lists[0];
  76. url = "https://v.qq.com/x/cover/" + cid + "/" + vid + ".html";
  77. d.push({
  78. title: "4K HDR",
  79. url: url
  80. })
  81. } else if (video_lists.length > 1) {
  82. for (let i = 0; i < video_lists.length; i += 30) {
  83. video_list.push(video_lists.slice(i, i + 30))
  84. }
  85. video_list.forEach(function (it, idex) {
  86. 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(",");
  87. let o_html = fetch(o_url, fetch_params);
  88. eval(o_html);
  89. QZOutputJson.results.forEach(function (it1) {
  90. it1 = it1.fields;
  91. let url = "https://v.qq.com/x/cover/" + cid + "/" + it1.vid + ".html";
  92. d.push({
  93. title: it1.title,
  94. pic_url: it1.pic160x90.replace("/160", ""),
  95. desc: it1.video_checkup_time,
  96. url: url,
  97. type: it1.category_map && it1.category_map.length > 1 ? it1.category_map[1] : ""
  98. })
  99. })
  100. })
  101. }
  102. }
  103. let yg = d.filter(function (it) {
  104. return it.type && it.type !== "正片"
  105. });
  106. let zp = d.filter(function (it) {
  107. return !(it.type && it.type !== "正片")
  108. });
  109. VOD.vod_play_from = yg.length < 1 ? "正片" : "正片$$$预告";
  110. VOD.vod_play_url = yg.length < 1 ? d.map(function (it) {
  111. return it.title + "$" + it.url
  112. }).join("#") : [zp, yg].map(function (it) {
  113. return it.map(function (its) {
  114. return its.title + "$" + its.url
  115. }).join("#")
  116. }).join("$$$");
  117. }),
  118. 搜索: $js.toString(() => {
  119. let d = [];
  120. pdfa = jsp.pdfa;
  121. pdfh = jsp.pdfh;
  122. pd = jsp.pd;
  123. let html = request(input);
  124. let baseList = pdfa(html, "body&&.result_item_v");
  125. log(baseList.length);
  126. baseList.forEach(function (it) {
  127. let longText = pdfh(it, ".result_title&&a&&Text");
  128. let shortText = pdfh(it, ".type&&Text");
  129. let fromTag = pdfh(it, ".result_source&&Text");
  130. let score = pdfh(it, ".figure_info&&Text");
  131. let content = pdfh(it, ".desc_text&&Text");
  132. // let url = pdfh(it, ".result_title&&a&&href");
  133. let url = pdfh(it, "div&&r-data");
  134. // log(longText);
  135. // log(shortText);
  136. // log('url:'+url);
  137. let img = pd(it, ".figure_pic&&src");
  138. url = "https://node.video.qq.com/x/api/float_vinfo2?cid=" + url.match(/.*\/(.*?)\.html/)[1];
  139. log(shortText + "|" + url);
  140. if (fromTag.match(/腾讯/)) {
  141. d.push({
  142. title: longText.split(shortText)[0],
  143. img: img,
  144. url: url,
  145. content: content,
  146. desc: shortText + " " + score
  147. })
  148. }
  149. });
  150. setResult(d);
  151. }),
  152. }