石榴电影.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. var rule = {
  2. title: '石榴电影',
  3. host: 'https://hei19.com',
  4. url: '/catalog?column=fyclass&sort=1&per_page=&page=fypage[/catalog?column=fyclass]',
  5. searchUrl: '/search?type=1&keywords=**&page=fypage',
  6. searchable: 2,
  7. quickSearch: 0,
  8. headers: {
  9. 'User-Agent': 'MOBILE_UA',
  10. // "Cookie": "searchneed=ok"
  11. },
  12. class_name: '电影&剧集&动漫&综艺',
  13. class_url: '1&2&4&3',
  14. play_parse: true,
  15. lazy: $js.toString(() => {
  16. let ep = 1;
  17. let match = input.match(/ep=(.*?)$/);
  18. if (match) {
  19. ep = match[1];
  20. }
  21. //log(ep)
  22. let html = request(input);
  23. let jsonA = jsp.pdfh(html, "#__NEXT_DATA__&&Html");
  24. let data = JSON.parse(jsonA).props.pageProps.videoDetail.videoepisode.data;
  25. //log(data)
  26. let item = data.find(function(it) {
  27. return it.episode == ep;
  28. });
  29. let realUrl = item ? item.url : (data.length > 0 ? data[0].url : undefined);
  30. //log(realUrl)
  31. input = {
  32. url: realUrl,
  33. parse: 0
  34. };
  35. }),
  36. 推荐: $js.toString(() => {
  37. let html = fetch(input);
  38. let j = pdfh(html, "#__NEXT_DATA__&&Html");
  39. let json = JSON.parse(j);
  40. let list = json.props.pageProps;
  41. //let list = json.props.pageProps.recommendSectionData.list;
  42. list = JP.JSONPath("$.['columnSectionData'][*]['popular_list']['video_info'][*]", list);
  43. //log(JSON.stringify(list,null,2));
  44. //log(list)
  45. VODS = list.map(function(it) {
  46. it.vod_pic = it.cover;
  47. it.vod_remarks = it.tag;
  48. it.vod_name = it.name;
  49. it.vod_id = HOST + "/detail/" + it.id;
  50. return it
  51. });
  52. }),
  53. 一级: $js.toString(() => {
  54. let html = fetch(input);
  55. let j = pdfh(html, "#__NEXT_DATA__&&Html");
  56. let json = JSON.parse(j);
  57. let list = json.props.pageProps.mediaData.data;
  58. //log(list)
  59. VODS = list.map(function(it) {
  60. it.vod_pic = it.cover;
  61. it.vod_remarks = it.tag;
  62. it.vod_name = it.name;
  63. it.vod_id = HOST + "/detail/" + it.id;
  64. return it
  65. });
  66. }),
  67. 二级: {
  68. "title": "h1&&Text",
  69. "img": "img&&src",
  70. "desc": "video-desc-item&&Text;.video-desc-type-mb&&Text",
  71. "content": ".video-introduce&&p&&Text",
  72. "tabs": ".btn-play",
  73. lists: $js.toString(() => {
  74. LISTS = [];
  75. let j = pdfh(html, "#__NEXT_DATA__&&Html");
  76. let list = pdfa(html, ".play-list&&a");
  77. if (list.length == 0) {
  78. LISTS.push(["1$" + MY_URL.replace("detail", "player")])
  79. } else {
  80. list = list.map(it => pdfh(it, 'Text') + "$" + HOST + pdfh(it, 'a&&href'));
  81. LISTS.push(list)
  82. }
  83. //log(LISTS)
  84. }),
  85. },
  86. 搜索: $js.toString(() => {
  87. let html = fetch(input);
  88. let j = pdfh(html, "#__NEXT_DATA__&&Html");
  89. let json = JSON.parse(j);
  90. let list = json.props.pageProps.searchMovieList.data;
  91. //log(list)
  92. VODS = list.map(function(it) {
  93. it.vod_pic = it.pic;
  94. it.vod_remarks = it.resolution;
  95. it.vod_name = it.name;
  96. it.vod_id = HOST + "/detail/" + it.id;
  97. return it
  98. });
  99. }),
  100. }