腾讯弹幕.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499
  1. var rule = {
  2. title: '腾云驾雾',
  3. host: 'https://v.%71%71.com',
  4. // homeUrl:'/channel/choice?listpage=1&channel=choice&sort=18&_all=1',
  5. homeUrl: '/x/bu/pagesheet/list?_all=1&append=1&channel=choice&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18',
  6. detailUrl: 'https://node.video.%71%71.com/x/api/float_vinfo2?cid=fyid',
  7. // searchUrl:'https://node.video.%71%71.com/x/api/msearch?keyWord=**',
  8. searchUrl: '/x/search/?q=**&stag=fypage',
  9. // searchUrl:'http://s.video.qq.com/smartbox?plat=2&ver=0&num=29&otype=json&query=**',
  10. searchable: 2,
  11. filterable: 1,
  12. multi: 1,
  13. // url:'/channel/fyclass?listpage=fypage&channel=fyclass&sort=18&_all=1',
  14. url: '/x/bu/pagesheet/list?_all=1&append=1&channel=fyclass&listpage=1&offset=((fypage-1)*21)&pagesize=21&iarea=-1',
  15. filter_url: 'sort={{fl.sort or 18}}&year={{fl.year}}&pay={{fl.pay}}',
  16. filter: {
  17. 'choice': [{
  18. 'key': 'sort',
  19. 'name': '排序',
  20. 'value': [{
  21. 'n': '最热',
  22. 'v': '18'
  23. }, {
  24. 'n': '最新',
  25. 'v': '19'
  26. }, {
  27. 'n': '好评',
  28. 'v': '16'
  29. }, {
  30. 'n': '高分好评',
  31. 'v': '21'
  32. }]
  33. }, {
  34. 'key': 'pay',
  35. 'name': '资费',
  36. 'value': [{
  37. 'n': '全部',
  38. 'v': '-1'
  39. }, {
  40. 'n': '免费',
  41. 'v': '867'
  42. }, {
  43. 'n': '会员',
  44. 'v': '6'
  45. }]
  46. }, {
  47. 'key': 'year',
  48. 'name': '年代',
  49. 'value': [{
  50. 'n': '全部',
  51. 'v': '-1'
  52. }, {
  53. 'n': '2023',
  54. 'v': '2023'
  55. }, {
  56. 'n': '2022',
  57. 'v': '2022'
  58. }, {
  59. 'n': '2021',
  60. 'v': '2021'
  61. }, {
  62. 'n': '2020',
  63. 'v': '2020'
  64. }, {
  65. 'n': '2019',
  66. 'v': '2019'
  67. }, {
  68. 'n': '2018',
  69. 'v': '2018'
  70. }, {
  71. 'n': '2017',
  72. 'v': '2017'
  73. }, {
  74. 'n': '2016',
  75. 'v': '2016'
  76. }, {
  77. 'n': '2015',
  78. 'v': '2015'
  79. }]
  80. }],
  81. 'tv': [{
  82. 'key': 'sort',
  83. 'name': '排序',
  84. 'value': [{
  85. 'n': '最热',
  86. 'v': '18'
  87. }, {
  88. 'n': '最新',
  89. 'v': '19'
  90. }, {
  91. 'n': '好评',
  92. 'v': '16'
  93. }, {
  94. 'n': '高分好评',
  95. 'v': '21'
  96. }]
  97. }, {
  98. 'key': 'pay',
  99. 'name': '资费',
  100. 'value': [{
  101. 'n': '全部',
  102. 'v': '-1'
  103. }, {
  104. 'n': '免费',
  105. 'v': '867'
  106. }, {
  107. 'n': '会员',
  108. 'v': '6'
  109. }]
  110. }, {
  111. 'key': 'year',
  112. 'name': '年代',
  113. 'value': [{
  114. 'n': '全部',
  115. 'v': '-1'
  116. }, {
  117. 'n': '2023',
  118. 'v': '2023'
  119. }, {
  120. 'n': '2022',
  121. 'v': '2022'
  122. }, {
  123. 'n': '2021',
  124. 'v': '2021'
  125. }, {
  126. 'n': '2020',
  127. 'v': '2020'
  128. }, {
  129. 'n': '2019',
  130. 'v': '2019'
  131. }, {
  132. 'n': '2018',
  133. 'v': '2018'
  134. }, {
  135. 'n': '2017',
  136. 'v': '2017'
  137. }, {
  138. 'n': '2016',
  139. 'v': '2016'
  140. }, {
  141. 'n': '2015',
  142. 'v': '2015'
  143. }]
  144. }],
  145. 'movie': [{
  146. 'key': 'sort',
  147. 'name': '排序',
  148. 'value': [{
  149. 'n': '最热',
  150. 'v': '18'
  151. }, {
  152. 'n': '最新',
  153. 'v': '19'
  154. }, {
  155. 'n': '好评',
  156. 'v': '16'
  157. }, {
  158. 'n': '高分好评',
  159. 'v': '21'
  160. }]
  161. }, {
  162. 'key': 'pay',
  163. 'name': '资费',
  164. 'value': [{
  165. 'n': '全部',
  166. 'v': '-1'
  167. }, {
  168. 'n': '免费',
  169. 'v': '867'
  170. }, {
  171. 'n': '会员',
  172. 'v': '6'
  173. }]
  174. }, {
  175. 'key': 'year',
  176. 'name': '年代',
  177. 'value': [{
  178. 'n': '全部',
  179. 'v': '-1'
  180. }, {
  181. 'n': '2023',
  182. 'v': '2023'
  183. }, {
  184. 'n': '2022',
  185. 'v': '2022'
  186. }, {
  187. 'n': '2021',
  188. 'v': '2021'
  189. }, {
  190. 'n': '2020',
  191. 'v': '2020'
  192. }, {
  193. 'n': '2019',
  194. 'v': '2019'
  195. }, {
  196. 'n': '2018',
  197. 'v': '2018'
  198. }, {
  199. 'n': '2017',
  200. 'v': '2017'
  201. }, {
  202. 'n': '2016',
  203. 'v': '2016'
  204. }, {
  205. 'n': '2015',
  206. 'v': '2015'
  207. }]
  208. }],
  209. 'variety': [{
  210. 'key': 'sort',
  211. 'name': '排序',
  212. 'value': [{
  213. 'n': '最热',
  214. 'v': '18'
  215. }, {
  216. 'n': '最新',
  217. 'v': '19'
  218. }, {
  219. 'n': '好评',
  220. 'v': '16'
  221. }, {
  222. 'n': '高分好评',
  223. 'v': '21'
  224. }]
  225. }, {
  226. 'key': 'pay',
  227. 'name': '资费',
  228. 'value': [{
  229. 'n': '全部',
  230. 'v': '-1'
  231. }, {
  232. 'n': '免费',
  233. 'v': '867'
  234. }, {
  235. 'n': '会员',
  236. 'v': '6'
  237. }]
  238. }, {
  239. 'key': 'year',
  240. 'name': '年代',
  241. 'value': [{
  242. 'n': '全部',
  243. 'v': '-1'
  244. }, {
  245. 'n': '2023',
  246. 'v': '2023'
  247. }, {
  248. 'n': '2022',
  249. 'v': '2022'
  250. }, {
  251. 'n': '2021',
  252. 'v': '2021'
  253. }, {
  254. 'n': '2020',
  255. 'v': '2020'
  256. }, {
  257. 'n': '2019',
  258. 'v': '2019'
  259. }, {
  260. 'n': '2018',
  261. 'v': '2018'
  262. }, {
  263. 'n': '2017',
  264. 'v': '2017'
  265. }, {
  266. 'n': '2016',
  267. 'v': '2016'
  268. }, {
  269. 'n': '2015',
  270. 'v': '2015'
  271. }]
  272. }],
  273. 'cartoon': [{
  274. 'key': 'sort',
  275. 'name': '排序',
  276. 'value': [{
  277. 'n': '最热',
  278. 'v': '18'
  279. }, {
  280. 'n': '最新',
  281. 'v': '19'
  282. }, {
  283. 'n': '好评',
  284. 'v': '16'
  285. }, {
  286. 'n': '高分好评',
  287. 'v': '21'
  288. }]
  289. }, {
  290. 'key': 'pay',
  291. 'name': '资费',
  292. 'value': [{
  293. 'n': '全部',
  294. 'v': '-1'
  295. }, {
  296. 'n': '免费',
  297. 'v': '867'
  298. }, {
  299. 'n': '会员',
  300. 'v': '6'
  301. }]
  302. }, {
  303. 'key': 'year',
  304. 'name': '年代',
  305. 'value': [{
  306. 'n': '全部',
  307. 'v': '-1'
  308. }, {
  309. 'n': '2023',
  310. 'v': '2023'
  311. }, {
  312. 'n': '2022',
  313. 'v': '2022'
  314. }, {
  315. 'n': '2021',
  316. 'v': '2021'
  317. }, {
  318. 'n': '2020',
  319. 'v': '2020'
  320. }, {
  321. 'n': '2019',
  322. 'v': '2019'
  323. }, {
  324. 'n': '2018',
  325. 'v': '2018'
  326. }, {
  327. 'n': '2017',
  328. 'v': '2017'
  329. }, {
  330. 'n': '2016',
  331. 'v': '2016'
  332. }, {
  333. 'n': '2015',
  334. 'v': '2015'
  335. }]
  336. }],
  337. 'child': [{
  338. 'key': 'sort',
  339. 'name': '排序',
  340. 'value': [{
  341. 'n': '最热',
  342. 'v': '18'
  343. }, {
  344. 'n': '最新',
  345. 'v': '19'
  346. }, {
  347. 'n': '好评',
  348. 'v': '16'
  349. }, {
  350. 'n': '高分好评',
  351. 'v': '21'
  352. }]
  353. }, {
  354. 'key': 'pay',
  355. 'name': '资费',
  356. 'value': [{
  357. 'n': '全部',
  358. 'v': '-1'
  359. }, {
  360. 'n': '免费',
  361. 'v': '867'
  362. }, {
  363. 'n': '会员',
  364. 'v': '6'
  365. }]
  366. }, {
  367. 'key': 'year',
  368. 'name': '年代',
  369. 'value': [{
  370. 'n': '全部',
  371. 'v': '-1'
  372. }, {
  373. 'n': '2023',
  374. 'v': '2023'
  375. }, {
  376. 'n': '2022',
  377. 'v': '2022'
  378. }, {
  379. 'n': '2021',
  380. 'v': '2021'
  381. }, {
  382. 'n': '2020',
  383. 'v': '2020'
  384. }, {
  385. 'n': '2019',
  386. 'v': '2019'
  387. }, {
  388. 'n': '2018',
  389. 'v': '2018'
  390. }, {
  391. 'n': '2017',
  392. 'v': '2017'
  393. }, {
  394. 'n': '2016',
  395. 'v': '2016'
  396. }, {
  397. 'n': '2015',
  398. 'v': '2015'
  399. }]
  400. }],
  401. 'doco': [{
  402. 'key': 'sort',
  403. 'name': '排序',
  404. 'value': [{
  405. 'n': '最热',
  406. 'v': '18'
  407. }, {
  408. 'n': '最新',
  409. 'v': '19'
  410. }, {
  411. 'n': '好评',
  412. 'v': '16'
  413. }, {
  414. 'n': '高分好评',
  415. 'v': '21'
  416. }]
  417. }, {
  418. 'key': 'pay',
  419. 'name': '资费',
  420. 'value': [{
  421. 'n': '全部',
  422. 'v': '-1'
  423. }, {
  424. 'n': '免费',
  425. 'v': '867'
  426. }, {
  427. 'n': '会员',
  428. 'v': '6'
  429. }]
  430. }, {
  431. 'key': 'year',
  432. 'name': '年代',
  433. 'value': [{
  434. 'n': '全部',
  435. 'v': '-1'
  436. }, {
  437. 'n': '2023',
  438. 'v': '2023'
  439. }, {
  440. 'n': '2022',
  441. 'v': '2022'
  442. }, {
  443. 'n': '2021',
  444. 'v': '2021'
  445. }, {
  446. 'n': '2020',
  447. 'v': '2020'
  448. }, {
  449. 'n': '2019',
  450. 'v': '2019'
  451. }, {
  452. 'n': '2018',
  453. 'v': '2018'
  454. }, {
  455. 'n': '2017',
  456. 'v': '2017'
  457. }, {
  458. 'n': '2016',
  459. 'v': '2016'
  460. }, {
  461. 'n': '2015',
  462. 'v': '2015'
  463. }]
  464. }]
  465. },
  466. headers: {
  467. 'User-Agent': 'PC_UA'
  468. },
  469. timeout: 5000,
  470. // class_parse:'.site_channel a;a&&Text;a&&href;channel/(.*)',
  471. cate_exclude: '会员|游戏|全部',
  472. class_name: '精选&电视剧&电影&综艺&动漫&少儿&纪录片',
  473. class_url: 'choice&tv&movie&variety&cartoon&child&doco',
  474. limit: 20,
  475. play_parse: true,
  476. proxy_rule: $js.toString(() => {
  477. if (input) {
  478. //console.log(url);
  479. var url = `http://dm.sds11.top/jsdm.php?id=` + input.url;
  480. var htt = fetch(url);
  481. input = [200, "text/xml", htt];
  482. }
  483. }),
  484. lazy: $js.toString(() => {
  485. input = {
  486. parse: 1,
  487. jx: 1,
  488. url: input,
  489. danmaku: getProxyUrl() + '&url=' + input
  490. };
  491. }),
  492. 推荐: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
  493. 一级: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
  494. 二级: 'js: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);var pdfh=jsp.pdfh;var 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("$$$");',
  495. // 二级:'js: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);var pdfh=jsp.pdfh;var 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(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=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("$$$");',
  496. // 搜索:'json:uiData;data[0].title;data[0].posterPic;.titleMarkLabelList[1].primeText;data[0].id;data[0].publishDate',
  497. 搜索: 'js:let d=[];pdfa=jsp.pdfa;pdfh=jsp.pdfh;pd=jsp.pd;let html=request(input);let baseList=pdfa(html,"body&&.result_item_v");baseList.forEach(function(it){let longText=pdfh(it,".result_title&&Text");let shortText=pdfh(it,".sub&&Text");let fromTag=pdfh(it,".result_source&&Text");let content=pdfh(it,".desc_text&&Text");let url=pdfh(it,".result_item_v&&r-data");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:"⭐"+longText.split(shortText)[1]+"-"+shortText})}});setResult(d);',
  498. // 搜索:'json:item;word;dc;class;id;sn',
  499. }