douban_list.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. var rule = {
  2. title:'drpy',
  3. host:'https://frodo.douban.com',
  4. apidoc:'https://www.doubanapi.com',
  5. homeUrl:'',
  6. searchUrl:'',
  7. searchable:1,
  8. quickSearch:1,
  9. filterable:1,
  10. // 分类链接fypage参数支持1个()表达式
  11. url:'/?pg=fypage&class=fyclass&douban=$douban',
  12. filter_url:'fl={{fl}}',
  13. 图片来源:'@Referer=https://api.douban.com/@User-Agent=Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/113.0.0.0%20Safari/537.36',
  14. headers:{
  15. "Host": "frodo.douban.com",
  16. // "Host": "api.douban.com",
  17. "Connection": "Keep-Alive",
  18. "Referer": "https://servicewechat.com/wx2f9b06c1de1ccfca/84/page-frame.html",
  19. // "content-type": "application/json",
  20. "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat"
  21. },
  22. timeout:5000,
  23. class_name:'热门电影&热播剧集&电影筛选&电视筛选&热播综艺&电影榜单&电视榜单',
  24. class_url:'hot_gaia&tv_hot&movie&tv&show_hot&rank_list_movie&rank_list_tv',
  25. filter:{
  26. 'hot_gaia': [
  27. {
  28. 'key': 'sort',
  29. 'name': '排序',
  30. 'value': [
  31. {'n': '热度', 'v': 'recommend'},
  32. {'n': '最新', 'v': 'time'},
  33. {'n': '评分', 'v': 'rank'}
  34. ]
  35. },
  36. {
  37. 'key': 'area',
  38. 'name': '地区',
  39. 'value': [
  40. {'n': '全部', 'v': '全部'},
  41. {'n': '华语', 'v': '华语'},
  42. {'n': '欧美', 'v': '欧美'},
  43. {'n': '韩国', 'v': '韩国'},
  44. {'n': '日本', 'v': '日本'}
  45. ]
  46. }
  47. ],
  48. 'tv_hot': [
  49. {
  50. 'key': 'type',
  51. 'name': '分类',
  52. 'value': [
  53. {'n': '综合', 'v': 'tv_hot'},
  54. {'n': '国产剧', 'v': 'tv_domestic'},
  55. {'n': '欧美剧', 'v': 'tv_american'},
  56. {'n': '日剧', 'v': 'tv_japanese'},
  57. {'n': '韩剧', 'v': 'tv_korean'},
  58. {'n': '动画', 'v': 'tv_animation'}
  59. ]
  60. }
  61. ],
  62. 'show_hot': [
  63. {
  64. 'key': 'type',
  65. 'name': '分类',
  66. 'value': [
  67. {'n': '综合', 'v': 'show_hot'},
  68. {'n': '国内', 'v': 'show_domestic'},
  69. {'n': '国外', 'v': 'show_foreign'}
  70. ]
  71. }
  72. ],
  73. 'movie': [
  74. {
  75. 'key': '类型',
  76. 'name': '类型',
  77. 'value': [
  78. {'n': '全部类型', 'v': ''},
  79. {'n': '喜剧', 'v': '喜剧'},
  80. {'n': '动画', 'v': '动画'},
  81. {'n': '动作', 'v': '动作'},
  82. {'n': '科幻', 'v': '科幻'},
  83. {'n': '战争', 'v': '战争'},
  84. {'n': '武侠', 'v': '武侠'},
  85. {'n': '悬疑', 'v': '悬疑'},
  86. {'n': '犯罪', 'v': '犯罪'},
  87. {'n': '奇幻', 'v': '奇幻'},
  88. {'n': '恐怖', 'v': '恐怖'},
  89. {'n': '惊悚', 'v': '惊悚'},
  90. {'n': '冒险', 'v': '冒险'},
  91. {'n': '历史', 'v': '历史'},
  92. {'n': '爱情', 'v': '爱情'},
  93. {'n': '音乐', 'v': '音乐'},
  94. {'n': '传记', 'v': '传记'},
  95. {'n': '歌舞', 'v': '歌舞'},
  96. {'n': '灾难', 'v': '灾难'},
  97. {'n': '西部', 'v': '西部'},
  98. {'n': '纪录片', 'v': '纪录片'},
  99. {'n': '短片', 'v': '短片'}]},
  100. {
  101. 'key': '地区',
  102. 'name': '地区',
  103. 'value': [
  104. {'n': '全部地区', 'v': ''},
  105. {'n': '华语', 'v': '华语'},
  106. {'n': '欧美', 'v': '欧美'},
  107. {'n': '韩国', 'v': '韩国'},
  108. {'n': '日本', 'v': '日本'},
  109. {'n': '中国大陆', 'v': '中国大陆'},
  110. {'n': '美国', 'v': '美国'},
  111. {'n': '中国香港', 'v': '中国香港'},
  112. {'n': '中国台湾', 'v': '中国台湾'},
  113. {'n': '英国', 'v': '英国'},
  114. {'n': '法国', 'v': '法国'},
  115. {'n': '德国', 'v': '德国'},
  116. {'n': '意大利', 'v': '意大利'},
  117. {'n': '西班牙', 'v': '西班牙'},
  118. {'n': '印度', 'v': '印度'},
  119. {'n': '泰国', 'v': '泰国'},
  120. {'n': '俄罗斯', 'v': '俄罗斯'},
  121. {'n': '加拿大', 'v': '加拿大'},
  122. {'n': '澳大利亚', 'v': '澳大利亚'},
  123. {'n': '爱尔兰', 'v': '爱尔兰'},
  124. {'n': '瑞典', 'v': '瑞典'},
  125. {'n': '巴西', 'v': '巴西'},
  126. {'n': '丹麦', 'v': '丹麦'}
  127. ]
  128. },
  129. {
  130. 'key': '年代',
  131. 'name': '年代',
  132. 'value': [
  133. {'n': '全部年代', 'v': ''},
  134. {'n': '2024', 'v': '2024'},
  135. {'n': '2023', 'v': '2023'},
  136. {'n': '2022', 'v': '2022'},
  137. {'n': '2021', 'v': '2021'},
  138. {'n': '2020', 'v': '2020'},
  139. {'n': '2019', 'v': '2019'},
  140. {'n': '2010年代', 'v': '2010年代'},
  141. {'n': '2000年代', 'v': '2000年代'},
  142. {'n': '90年代', 'v': '90年代'},
  143. {'n': '80年代', 'v': '80年代'},
  144. {'n': '70年代', 'v': '70年代'},
  145. {'n': '60年代', 'v': '60年代'},
  146. {'n': '更早', 'v': '更早'}
  147. ]
  148. }
  149. ],
  150. 'tv': [
  151. {
  152. 'key': '类型',
  153. 'name': '类型',
  154. 'value': [
  155. {'n': '不限', 'v': ''},
  156. {'n': '电视剧', 'v': '电视剧'},
  157. {'n': '综艺', 'v': '综艺'}
  158. ]
  159. },
  160. {
  161. 'key': '电视剧形式',
  162. 'name': '电视剧形式',
  163. 'value': [
  164. {'n': '不限', 'v': ''},
  165. {'n': '喜剧', 'v': '喜剧'},
  166. {'n': '爱情', 'v': '爱情'},
  167. {'n': '悬疑', 'v': '悬疑'},
  168. {'n': '动画', 'v': '动画'},
  169. {'n': '武侠', 'v': '武侠'},
  170. {'n': '古装', 'v': '古装'},
  171. {'n': '家庭', 'v': '家庭'},
  172. {'n': '犯罪', 'v': '犯罪'},
  173. {'n': '科幻', 'v': '科幻'},
  174. {'n': '恐怖', 'v': '恐怖'},
  175. {'n': '历史', 'v': '历史'},
  176. {'n': '战争', 'v': '战争'},
  177. {'n': '动作', 'v': '动作'},
  178. {'n': '冒险', 'v': '冒险'},
  179. {'n': '传记', 'v': '传记'},
  180. {'n': '剧情', 'v': '剧情'},
  181. {'n': '奇幻', 'v': '奇幻'},
  182. {'n': '惊悚', 'v': '惊悚'},
  183. {'n': '灾难', 'v': '灾难'},
  184. {'n': '歌舞', 'v': '歌舞'},
  185. {'n': '音乐', 'v': '音乐'}
  186. ]
  187. },
  188. {
  189. 'key': '综艺形式',
  190. 'name': '综艺形式',
  191. 'value': [
  192. {'n': '不限', 'v': ''},
  193. {'n': '真人秀', 'v': '真人秀'},
  194. {'n': '脱口秀', 'v': '脱口秀'},
  195. {'n': '音乐', 'v': '音乐'},
  196. {'n': '歌舞', 'v': '歌舞'}
  197. ]
  198. },
  199. {
  200. 'key': '地区',
  201. 'name': '地区',
  202. 'value': [
  203. {'n': '全部地区', 'v': ''},
  204. {'n': '华语', 'v': '华语'},
  205. {'n': '欧美', 'v': '欧美'},
  206. {'n': '国外', 'v': '国外'},
  207. {'n': '韩国', 'v': '韩国'},
  208. {'n': '日本', 'v': '日本'},
  209. {'n': '中国大陆', 'v': '中国大陆'},
  210. {'n': '中国香港', 'v': '中国香港'},
  211. {'n': '美国', 'v': '美国'},
  212. {'n': '英国', 'v': '英国'},
  213. {'n': '泰国', 'v': '泰国'},
  214. {'n': '中国台湾', 'v': '中国台湾'},
  215. {'n': '意大利', 'v': '意大利'},
  216. {'n': '法国', 'v': '法国'},
  217. {'n': '德国', 'v': '德国'},
  218. {'n': '西班牙', 'v': '西班牙'},
  219. {'n': '俄罗斯', 'v': '俄罗斯'},
  220. {'n': '瑞典', 'v': '瑞典'},
  221. {'n': '巴西', 'v': '巴西'},
  222. {'n': '丹麦', 'v': '丹麦'},
  223. {'n': '印度', 'v': '印度'},
  224. {'n': '加拿大', 'v': '加拿大'},
  225. {'n': '爱尔兰', 'v': '爱尔兰'},
  226. {'n': '澳大利亚', 'v': '澳大利亚'}
  227. ]
  228. },
  229. {
  230. 'key': '年代',
  231. 'name': '年代',
  232. 'value': [
  233. {'n': '全部', 'v': ''},
  234. {'n': '2024', 'v': '2024'},
  235. {'n': '2023', 'v': '2023'},
  236. {'n': '2022', 'v': '2022'},
  237. {'n': '2021', 'v': '2021'},
  238. {'n': '2020', 'v': '2020'},
  239. {'n': '2019', 'v': '2019'},
  240. {'n': '2010年代', 'v': '2010年代'},
  241. {'n': '2000年代', 'v': '2000年代'},
  242. {'n': '90年代', 'v': '90年代'},
  243. {'n': '80年代', 'v': '80年代'},
  244. {'n': '70年代', 'v': '70年代'},
  245. {'n': '60年代', 'v': '60年代'},
  246. {'n': '更早', 'v': '更早'}
  247. ]
  248. },
  249. {
  250. 'key': '平台',
  251. 'name': '平台',
  252. 'value': [
  253. {'n': '全部', 'v': ''},
  254. {'n': '腾讯视频', 'v': '腾讯视频'},
  255. {'n': '爱奇艺', 'v': '爱奇艺'},
  256. {'n': '优酷', 'v': '优酷'},
  257. {'n': '湖南卫视', 'v': '湖南卫视'},
  258. {'n': 'Netflix', 'v': 'Netflix'},
  259. {'n': 'HBO', 'v': 'HBO'},
  260. {'n': 'BBC', 'v': 'BBC'},
  261. {'n': 'NHK', 'v': 'NHK'},
  262. {'n': 'CBS', 'v': 'CBS'},
  263. {'n': 'NBC', 'v': 'NBC'},
  264. {'n': 'tvN', 'v': 'tvN'}
  265. ]
  266. }
  267. ],
  268. 'rank_list_movie': [
  269. {
  270. 'key': '榜单',
  271. 'name': '榜单',
  272. 'value': [
  273. {'n': '实时热门电影', 'v': 'movie_real_time_hotest'},
  274. {'n': '一周口碑电影榜', 'v': 'movie_weekly_best'},
  275. {'n': '豆瓣电影Top250', 'v': 'movie_top250'}
  276. ]
  277. }
  278. ],
  279. 'rank_list_tv': [
  280. {
  281. 'key': '榜单',
  282. 'name': '榜单',
  283. 'value': [
  284. {'n': '实时热门电视', 'v': 'tv_real_time_hotest'},
  285. {'n': '华语口碑剧集榜', 'v': 'tv_chinese_best_weekly'},
  286. {'n': '全球口碑剧集榜', 'v': 'tv_global_best_weekly'},
  287. {'n': '国内口碑综艺榜', 'v': 'show_chinese_best_weekly'},
  288. {'n': '国外口碑综艺榜', 'v': 'show_global_best_weekly'}
  289. ]
  290. }
  291. ]
  292. },
  293. limit:20,
  294. play_parse:false,
  295. 推荐:'',
  296. 推荐:'js:let d=[];let douban_api_host="http://api.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function subject_real_time_hotest(){try{let res=miniapp_request("/subject_collection/subject_real_time_hotest/items",{});let lists=[];let arr=res.subject_collection_items||[];arr.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"暂无评分";let honnor=(item.honor_infos||[]).map(function(it){return it.title}).join("|");lists.append({vod_id:"msearch:"+TYPE,vod_name:item.title||"",vod_pic:item.pic.normal,vod_remarks:rating+" "+honnor})}});return lists}catch(e){print("发生了错误:"+e.message);return[]}}VODS=subject_real_time_hotest();print(VODS);',
  297. // 手动调用解析请求json的url,此lazy不方便
  298. lazy:'',
  299. // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
  300. 一级:'',
  301. 一级:'js:let d=[];let douban=input.split("douban=")[1].split("&")[0];let douban_api_host="http://api.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);if(/request_error/.test(html)){print(html)}return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function cate_filter(d,douban){douban=douban||"";try{let res={};if(MY_CATE==="interests"){if(douban){let status=MY_FL.status||"mark";let subtype_tag=MY_FL.subtype_tag||"";let year_tag=MY_FL.year_tag||"全部";let path="/user/"+douban+"/interests";res=miniapp_request(path,{type:"movie",status:status,subtype_tag:subtype_tag,year_tag:year_tag,start:(MY_PAGE-1)*count,count:count})}else{return{}}}else if(MY_CATE==="hot_gaia"){let sort=MY_FL.sort||"recommend";let area=MY_FL.area||"全部";let path="/movie/"+MY_CATE;res=miniapp_request(path,{area:area,sort:sort,start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE==="tv_hot"||MY_CATE==="show_hot"){let stype=MY_FL.type||MY_CATE;let path="/subject_collection/"+stype+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE.startsWith("rank_list")){let id=MY_CATE==="rank_list_movie"?"movie_real_time_hotest":"tv_real_time_hotest";id=MY_FL.榜单||id;let path="/subject_collection/"+id+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else{let path="/"+MY_CATE+"/recommend";let selected_categories;let tags;let sort;if(Object.keys(MY_FL).length>0){sort=MY_FL.sort||"T";tags=Object.values(MY_FL).join(",");if(MY_CATE==="movie"){selected_categories={"类型":MY_FL.类型||"","地区":MY_FL.地区||""}}else{selected_categories={"类型":MY_FL.类型||"","形式":MY_FL.类型?MY_FL.类型+"地区":"","地区":MY_FL.地区||""}}}else{sort="T";tags="";if(MY_CATE==="movie"){selected_categories={"类型":"","地区":""}}else{selected_categories={"类型":"","形式":"","地区":""}}}let params={tags:tags,sort:sort,refresh:0,selected_categories:stringify(selected_categories),start:(MY_PAGE-1)*count,count:count};res=miniapp_request(path,params)}let result={page:MY_PAGE,pagecount:Math.ceil(res.total/count),limit:count,total:res.total};let items=[];if(/^rank_list|tv_hot|show_hot/.test(MY_CATE)){items=res["subject_collection_items"]}else if(MY_CATE==="interests"){res["interests"].forEach(function(it){items.push(it.subject)})}else{items=res.items}let lists=[];items.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"";let rat_str=rating||"暂无评分";let title=item.title;let honor=item.honor_infos||[];let honor_str=honor.map(function(it){return it.title}).join("|");let vod_obj={vod_name:title!=="未知电影"?title:"暂不支持展示",vod_pic:item.pic.normal,vod_remarks:rat_str+" "+honor_str};let vod_obj_d={url:item.type+"$"+item.id,title:title!=="未知电影"?title:"暂不支持展示",pic_url:item.pic.normal,desc:rat_str+" "+honor_str};lists.push(vod_obj);d.push(vod_obj_d)}});result.list=lists;return result}catch(e){print(e.message)}return{}}let res=cate_filter(d,douban);setResult2(res);',
  302. 二级:'',
  303. 搜索:'',
  304. }