tac/js/豆瓣.js
2024-06-10 19:03:46 +08:00

37 lines
No EOL
12 KiB
JavaScript

var rule = {
title:'drpy',
host:'https://frodo.douban.com',
apidoc:'https://www.doubanapi.com',
homeUrl:'',
searchUrl:'',
searchable:1,
quickSearch:1,
filterable:1,
// 分类链接fypage参数支持1个()表达式
url:'/?pg=fypage&class=fyclass&douban=$douban',
filter_url:'fl={{fl}}',
图片来源:'@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',
headers:{
"Host": "frodo.douban.com",
// "Host": "api.douban.com",
"Connection": "Keep-Alive",
"Referer": "https://servicewechat.com/wx2f9b06c1de1ccfca/84/page-frame.html",
// "content-type": "application/json",
"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"
},
timeout:5000,
class_name:'热门电影&热播剧集&热播综艺&电影筛选&电视筛选&电影榜单&电视榜单',
class_url:'hot_gaia&tv_hot&show_hot&movie&tv&rank_list_movie&rank_list_tv',
filter:{'interests':[{'key':'status','name':'状态','value':[{'n':'想看','v':'mark'},{'n':'在看','v':'doing'},{'n':'看过','v':'done'}]},{'key':'subtype_tag','name':'形式','value':[{'n':'全部','v':''},{'n':'电影','v':'movie'},{'n':'电视','v':'tv'}]},{'key':'year_tag','name':'年代','value':[{'n':'全部','v':'全部'},{'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':'2010年代','v':'2010年代'},{'n':'2000年代','v':'2000年代'},{'n':'90年代','v':'90年代'},{'n':'80年代','v':'80年代'},{'n':'70年代','v':'70年代'},{'n':'60年代','v':'60年代'},{'n':'更早','v':'更早'}]}],'hot_gaia':[{'key':'sort','name':'排序','value':[{'n':'👉無數據返回👈','v':''},{'n':'热度','v':'recommend'},{'n':'最新','v':'time'},{'n':'评分','v':'rank'}]},{'key':'area','name':'地区','value':[{'n':'全部','v':'全部'},{'n':'华语','v':'华语'},{'n':'欧美','v':'欧美'},{'n':'韩国','v':'韩国'},{'n':'日本','v':'日本'}]}],'tv_hot':[{'key':'type','name':'分类','value':[{'n':'综合','v':'tv_hot'},{'n':'国产剧','v':'tv_domestic'},{'n':'欧美剧','v':'tv_american'},{'n':'日剧','v':'tv_japanese'},{'n':'韩剧','v':'tv_korean'},{'n':'动画','v':'tv_animation'}]}],'show_hot':[{'key':'type','name':'分类','value':[{'n':'综合','v':'show_hot'},{'n':'国内','v':'show_domestic'},{'n':'国外','v':'show_foreign'}]}],'movie':[{'key':'类型','name':'类型','value':[{'n':'全部类型','v':''},{'n':'喜剧','v':'喜剧'},{'n':'爱情','v':'爱情'},{'n':'动作','v':'动作'},{'n':'科幻','v':'科幻'},{'n':'动画','v':'动画'},{'n':'悬疑','v':'悬疑'},{'n':'犯罪','v':'犯罪'},{'n':'惊悚','v':'惊悚'},{'n':'冒险','v':'冒险'},{'n':'音乐','v':'音乐'},{'n':'历史','v':'历史'},{'n':'奇幻','v':'奇幻'},{'n':'恐怖','v':'恐怖'},{'n':'战争','v':'战争'},{'n':'传记','v':'传记'},{'n':'歌舞','v':'歌舞'},{'n':'武侠','v':'武侠'},{'n':'情色','v':'情色'},{'n':'灾难','v':'灾难'},{'n':'西部','v':'西部'},{'n':'纪录片','v':'纪录片'},{'n':'短片','v':'短片'}]},{'key':'地区','name':'地区','value':[{'n':'全部地区','v':''},{'n':'华语','v':'华语'},{'n':'欧美','v':'欧美'},{'n':'韩国','v':'韩国'},{'n':'日本','v':'日本'},{'n':'中国大陆','v':'中国大陆'},{'n':'美国','v':'美国'},{'n':'中国香港','v':'中国香港'},{'n':'中国台湾','v':'中国台湾'},{'n':'英国','v':'英国'},{'n':'法国','v':'法国'},{'n':'德国','v':'德国'},{'n':'意大利','v':'意大利'},{'n':'西班牙','v':'西班牙'},{'n':'印度','v':'印度'},{'n':'泰国','v':'泰国'},{'n':'俄罗斯','v':'俄罗斯'},{'n':'加拿大','v':'加拿大'},{'n':'澳大利亚','v':'澳大利亚'},{'n':'爱尔兰','v':'爱尔兰'},{'n':'瑞典','v':'瑞典'},{'n':'巴西','v':'巴西'},{'n':'丹麦','v':'丹麦'}]},{'key':'sort','name':'排序','value':[{'n':'👉無數據返回👈','v':''},{'n':'近期热度','v':'T'},{'n':'首映时间','v':'R'},{'n':'高分优先','v':'S'}]},{'key':'年代','name':'年代','value':[{'n':'全部年代','v':''},{'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':'2010年代','v':'2010年代'},{'n':'2000年代','v':'2000年代'},{'n':'90年代','v':'90年代'},{'n':'80年代','v':'80年代'},{'n':'70年代','v':'70年代'},{'n':'60年代','v':'60年代'},{'n':'更早','v':'更早'}]}],'tv':[{'key':'类型','name':'类型','value':[{'n':'不限','v':''},{'n':'电视剧','v':'电视剧'},{'n':'综艺','v':'综艺'}]},{'key':'电视剧形式','name':'电视剧形式','value':[{'n':'不限','v':''},{'n':'喜剧','v':'喜剧'},{'n':'爱情','v':'爱情'},{'n':'悬疑','v':'悬疑'},{'n':'动画','v':'动画'},{'n':'武侠','v':'武侠'},{'n':'古装','v':'古装'},{'n':'家庭','v':'家庭'},{'n':'犯罪','v':'犯罪'},{'n':'科幻','v':'科幻'},{'n':'恐怖','v':'恐怖'},{'n':'历史','v':'历史'},{'n':'战争','v':'战争'},{'n':'动作','v':'动作'},{'n':'冒险','v':'冒险'},{'n':'传记','v':'传记'},{'n':'剧情','v':'剧情'},{'n':'奇幻','v':'奇幻'},{'n':'惊悚','v':'惊悚'},{'n':'灾难','v':'灾难'},{'n':'歌舞','v':'歌舞'},{'n':'音乐','v':'音乐'}]},{'key':'综艺形式','name':'综艺形式','value':[{'n':'不限','v':''},{'n':'真人秀','v':'真人秀'},{'n':'脱口秀','v':'脱口秀'},{'n':'音乐','v':'音乐'},{'n':'歌舞','v':'歌舞'}]},{'key':'地区','name':'地区','value':[{'n':'全部地区','v':''},{'n':'华语','v':'华语'},{'n':'欧美','v':'欧美'},{'n':'国外','v':'国外'},{'n':'韩国','v':'韩国'},{'n':'日本','v':'日本'},{'n':'中国大陆','v':'中国大陆'},{'n':'中国香港','v':'中国香港'},{'n':'美国','v':'美国'},{'n':'英国','v':'英国'},{'n':'泰国','v':'泰国'},{'n':'中国台湾','v':'中国台湾'},{'n':'意大利','v':'意大利'},{'n':'法国','v':'法国'},{'n':'德国','v':'德国'},{'n':'西班牙','v':'西班牙'},{'n':'俄罗斯','v':'俄罗斯'},{'n':'瑞典','v':'瑞典'},{'n':'巴西','v':'巴西'},{'n':'丹麦','v':'丹麦'},{'n':'印度','v':'印度'},{'n':'加拿大','v':'加拿大'},{'n':'爱尔兰','v':'爱尔兰'},{'n':'澳大利亚','v':'澳大利亚'}]},{'key':'sort','name':'排序','value':[{'n':'👉無數據返回👈','v':''},{'n':'近期热度','v':'T'},{'n':'首播时间','v':'R'},{'n':'高分优先','v':'S'}]},{'key':'年代','name':'年代','value':[{'n':'全部','v':''},{'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':'2010年代','v':'2010年代'},{'n':'2000年代','v':'2000年代'},{'n':'90年代','v':'90年代'},{'n':'80年代','v':'80年代'},{'n':'70年代','v':'70年代'},{'n':'60年代','v':'60年代'},{'n':'更早','v':'更早'}]},{'key':'平台','name':'平台','value':[{'n':'全部','v':''},{'n':'腾讯视频','v':'腾讯视频'},{'n':'爱奇艺','v':'爱奇艺'},{'n':'优酷','v':'优酷'},{'n':'湖南卫视','v':'湖南卫视'},{'n':'Netflix','v':'Netflix'},{'n':'HBO','v':'HBO'},{'n':'BBC','v':'BBC'},{'n':'NHK','v':'NHK'},{'n':'CBS','v':'CBS'},{'n':'NBC','v':'NBC'},{'n':'tvN','v':'tvN'}]}],'rank_list_movie':[{'key':'榜单','name':'榜单','value':[{'n':'实时热门电影','v':'movie_real_time_hotest'},{'n':'一周口碑电影榜','v':'movie_weekly_best'},{'n':'豆瓣电影Top250','v':'movie_top250'}]}],'rank_list_tv':[{'key':'榜单','name':'榜单','value':[{'n':'实时热门电视','v':'tv_real_time_hotest'},{'n':'华语口碑剧集榜','v':'tv_chinese_best_weekly'},{'n':'全球口碑剧集榜','v':'tv_global_best_weekly'},{'n':'国内口碑综艺榜','v':'show_chinese_best_weekly'},{'n':'国外口碑综艺榜','v':'show_global_best_weekly'}]}]},
limit:20,
play_parse:false,
推荐:'',
推荐:'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);',
// 手动调用解析请求json的url,此lazy不方便
lazy:'',
// 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
一级:'',
一级:'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);',
二级:'',
搜索:'',
}