douban_list.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  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. 'interests': [
  27. {
  28. 'key': 'status',
  29. 'name': '状态',
  30. 'value': [
  31. {'n': '想看', 'v': 'mark'},
  32. {'n': '在看', 'v': 'doing'},
  33. {'n': '看过', 'v': 'done'}
  34. ]
  35. },
  36. {
  37. 'key': 'subtype_tag',
  38. 'name': '形式',
  39. 'value': [
  40. {'n': '全部', 'v': ''},
  41. {'n': '电影', 'v': 'movie'},
  42. {'n': '电视', 'v': 'tv'}
  43. ]
  44. },
  45. {
  46. 'key': 'year_tag',
  47. 'name': '年代',
  48. 'value': [
  49. {'n': '全部', 'v': '全部'},
  50. {'n': '2024', 'v': '2024'},
  51. {'n': '2023', 'v': '2023'},
  52. {'n': '2022', 'v': '2022'},
  53. {'n': '2021', 'v': '2021'},
  54. {'n': '2020', 'v': '2020'},
  55. {'n': '2019', 'v': '2019'},
  56. {'n': '2010年代', 'v': '2010年代'},
  57. {'n': '2000年代', 'v': '2000年代'},
  58. {'n': '90年代', 'v': '90年代'},
  59. {'n': '80年代', 'v': '80年代'},
  60. {'n': '70年代', 'v': '70年代'},
  61. {'n': '60年代', 'v': '60年代'},
  62. {'n': '更早', 'v': '更早'}
  63. ]
  64. }
  65. ],
  66. 'hot_gaia': [
  67. {
  68. 'key': 'sort',
  69. 'name': '排序',
  70. 'value': [
  71. {'n': '热度', 'v': 'recommend'},
  72. {'n': '最新', 'v': 'time'},
  73. {'n': '评分', 'v': 'rank'}
  74. ]
  75. },
  76. {
  77. 'key': 'area',
  78. 'name': '地区',
  79. 'value': [
  80. {'n': '全部', 'v': '全部'},
  81. {'n': '华语', 'v': '华语'},
  82. {'n': '欧美', 'v': '欧美'},
  83. {'n': '韩国', 'v': '韩国'},
  84. {'n': '日本', 'v': '日本'}
  85. ]
  86. }
  87. ],
  88. 'tv_hot': [
  89. {
  90. 'key': 'type',
  91. 'name': '分类',
  92. 'value': [
  93. {'n': '综合', 'v': 'tv_hot'},
  94. {'n': '国产剧', 'v': 'tv_domestic'},
  95. {'n': '欧美剧', 'v': 'tv_american'},
  96. {'n': '日剧', 'v': 'tv_japanese'},
  97. {'n': '韩剧', 'v': 'tv_korean'},
  98. {'n': '动画', 'v': 'tv_animation'}
  99. ]
  100. }
  101. ],
  102. 'show_hot': [
  103. {
  104. 'key': 'type',
  105. 'name': '分类',
  106. 'value': [
  107. {'n': '综合', 'v': 'show_hot'},
  108. {'n': '国内', 'v': 'show_domestic'},
  109. {'n': '国外', 'v': 'show_foreign'}
  110. ]
  111. }
  112. ],
  113. 'movie': [
  114. {
  115. 'key': '类型',
  116. 'name': '类型',
  117. 'value': [
  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. {'n': '奇幻', 'v': '奇幻'},
  128. {'n': '恐怖', 'v': '恐怖'},
  129. {'n': '惊悚', 'v': '惊悚'},
  130. {'n': '冒险', 'v': '冒险'},
  131. {'n': '历史', 'v': '历史'},
  132. {'n': '爱情', 'v': '爱情'},
  133. {'n': '音乐', 'v': '音乐'},
  134. {'n': '传记', 'v': '传记'},
  135. {'n': '歌舞', 'v': '歌舞'},
  136. {'n': '灾难', 'v': '灾难'},
  137. {'n': '西部', 'v': '西部'},
  138. {'n': '纪录片', 'v': '纪录片'},
  139. {'n': '短片', 'v': '短片'}]},
  140. {
  141. 'key': '地区',
  142. 'name': '地区',
  143. 'value': [
  144. {'n': '全部地区', 'v': ''},
  145. {'n': '华语', 'v': '华语'},
  146. {'n': '欧美', 'v': '欧美'},
  147. {'n': '韩国', 'v': '韩国'},
  148. {'n': '日本', 'v': '日本'},
  149. {'n': '中国大陆', 'v': '中国大陆'},
  150. {'n': '美国', 'v': '美国'},
  151. {'n': '中国香港', 'v': '中国香港'},
  152. {'n': '中国台湾', 'v': '中国台湾'},
  153. {'n': '英国', 'v': '英国'},
  154. {'n': '法国', 'v': '法国'},
  155. {'n': '德国', 'v': '德国'},
  156. {'n': '意大利', 'v': '意大利'},
  157. {'n': '西班牙', 'v': '西班牙'},
  158. {'n': '印度', 'v': '印度'},
  159. {'n': '泰国', 'v': '泰国'},
  160. {'n': '俄罗斯', 'v': '俄罗斯'},
  161. {'n': '加拿大', 'v': '加拿大'},
  162. {'n': '澳大利亚', 'v': '澳大利亚'},
  163. {'n': '爱尔兰', 'v': '爱尔兰'},
  164. {'n': '瑞典', 'v': '瑞典'},
  165. {'n': '巴西', 'v': '巴西'},
  166. {'n': '丹麦', 'v': '丹麦'}
  167. ]
  168. },
  169. {
  170. 'key': '年代',
  171. 'name': '年代',
  172. 'value': [
  173. {'n': '全部年代', 'v': ''},
  174. {'n': '2024', 'v': '2024'},
  175. {'n': '2023', 'v': '2023'},
  176. {'n': '2022', 'v': '2022'},
  177. {'n': '2021', 'v': '2021'},
  178. {'n': '2020', 'v': '2020'},
  179. {'n': '2019', 'v': '2019'},
  180. {'n': '2010年代', 'v': '2010年代'},
  181. {'n': '2000年代', 'v': '2000年代'},
  182. {'n': '90年代', 'v': '90年代'},
  183. {'n': '80年代', 'v': '80年代'},
  184. {'n': '70年代', 'v': '70年代'},
  185. {'n': '60年代', 'v': '60年代'},
  186. {'n': '更早', 'v': '更早'}
  187. ]
  188. }
  189. ],
  190. 'tv': [
  191. {
  192. 'key': '类型',
  193. 'name': '类型',
  194. 'value': [
  195. {'n': '不限', 'v': ''},
  196. {'n': '电视剧', 'v': '电视剧'},
  197. {'n': '综艺', 'v': '综艺'}
  198. ]
  199. },
  200. {
  201. 'key': '电视剧形式',
  202. 'name': '电视剧形式',
  203. 'value': [
  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. ]
  227. },
  228. {
  229. 'key': '综艺形式',
  230. 'name': '综艺形式',
  231. 'value': [
  232. {'n': '不限', 'v': ''},
  233. {'n': '真人秀', 'v': '真人秀'},
  234. {'n': '脱口秀', 'v': '脱口秀'},
  235. {'n': '音乐', 'v': '音乐'},
  236. {'n': '歌舞', 'v': '歌舞'}
  237. ]
  238. },
  239. {
  240. 'key': '地区',
  241. 'name': '地区',
  242. 'value': [
  243. {'n': '全部地区', 'v': ''},
  244. {'n': '华语', 'v': '华语'},
  245. {'n': '欧美', 'v': '欧美'},
  246. {'n': '国外', 'v': '国外'},
  247. {'n': '韩国', 'v': '韩国'},
  248. {'n': '日本', 'v': '日本'},
  249. {'n': '中国大陆', 'v': '中国大陆'},
  250. {'n': '中国香港', 'v': '中国香港'},
  251. {'n': '美国', 'v': '美国'},
  252. {'n': '英国', 'v': '英国'},
  253. {'n': '泰国', 'v': '泰国'},
  254. {'n': '中国台湾', 'v': '中国台湾'},
  255. {'n': '意大利', 'v': '意大利'},
  256. {'n': '法国', 'v': '法国'},
  257. {'n': '德国', 'v': '德国'},
  258. {'n': '西班牙', 'v': '西班牙'},
  259. {'n': '俄罗斯', 'v': '俄罗斯'},
  260. {'n': '瑞典', 'v': '瑞典'},
  261. {'n': '巴西', 'v': '巴西'},
  262. {'n': '丹麦', 'v': '丹麦'},
  263. {'n': '印度', 'v': '印度'},
  264. {'n': '加拿大', 'v': '加拿大'},
  265. {'n': '爱尔兰', 'v': '爱尔兰'},
  266. {'n': '澳大利亚', 'v': '澳大利亚'}
  267. ]
  268. },
  269. {
  270. 'key': '年代',
  271. 'name': '年代',
  272. 'value': [
  273. {'n': '全部', 'v': ''},
  274. {'n': '2024', 'v': '2024'},
  275. {'n': '2023', 'v': '2023'},
  276. {'n': '2022', 'v': '2022'},
  277. {'n': '2021', 'v': '2021'},
  278. {'n': '2020', 'v': '2020'},
  279. {'n': '2019', 'v': '2019'},
  280. {'n': '2010年代', 'v': '2010年代'},
  281. {'n': '2000年代', 'v': '2000年代'},
  282. {'n': '90年代', 'v': '90年代'},
  283. {'n': '80年代', 'v': '80年代'},
  284. {'n': '70年代', 'v': '70年代'},
  285. {'n': '60年代', 'v': '60年代'},
  286. {'n': '更早', 'v': '更早'}
  287. ]
  288. },
  289. {
  290. 'key': '平台',
  291. 'name': '平台',
  292. 'value': [
  293. {'n': '全部', 'v': ''},
  294. {'n': '腾讯视频', 'v': '腾讯视频'},
  295. {'n': '爱奇艺', 'v': '爱奇艺'},
  296. {'n': '优酷', 'v': '优酷'},
  297. {'n': '湖南卫视', 'v': '湖南卫视'},
  298. {'n': 'Netflix', 'v': 'Netflix'},
  299. {'n': 'HBO', 'v': 'HBO'},
  300. {'n': 'BBC', 'v': 'BBC'},
  301. {'n': 'NHK', 'v': 'NHK'},
  302. {'n': 'CBS', 'v': 'CBS'},
  303. {'n': 'NBC', 'v': 'NBC'},
  304. {'n': 'tvN', 'v': 'tvN'}
  305. ]
  306. }
  307. ],
  308. 'rank_list_movie': [
  309. {
  310. 'key': '榜单',
  311. 'name': '榜单',
  312. 'value': [
  313. {'n': '实时热门电影', 'v': 'movie_real_time_hotest'},
  314. {'n': '一周口碑电影榜', 'v': 'movie_weekly_best'},
  315. {'n': '豆瓣电影Top250', 'v': 'movie_top250'}
  316. ]
  317. }
  318. ],
  319. 'rank_list_tv': [
  320. {
  321. 'key': '榜单',
  322. 'name': '榜单',
  323. 'value': [
  324. {'n': '实时热门电视', 'v': 'tv_real_time_hotest'},
  325. {'n': '华语口碑剧集榜', 'v': 'tv_chinese_best_weekly'},
  326. {'n': '全球口碑剧集榜', 'v': 'tv_global_best_weekly'},
  327. {'n': '国内口碑综艺榜', 'v': 'show_chinese_best_weekly'},
  328. {'n': '国外口碑综艺榜', 'v': 'show_global_best_weekly'}
  329. ]
  330. }
  331. ]
  332. },
  333. limit:20,
  334. play_parse:false,
  335. 推荐:'',
  336. 推荐:'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);',
  337. // 手动调用解析请求json的url,此lazy不方便
  338. lazy:'',
  339. // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
  340. 一级:'',
  341. 一级:'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);',
  342. 二级:'',
  343. 搜索:'',
  344. }