diff --git a/js/188影视.js b/js/188影视.jsd similarity index 100% rename from js/188影视.js rename to js/188影视.jsd diff --git a/js/345看片.js b/js/345看片.jsd similarity index 100% rename from js/345看片.js rename to js/345看片.jsd diff --git a/js/539影视.js b/js/539影视.jsd similarity index 100% rename from js/539影视.js rename to js/539影视.jsd diff --git a/js/91free.js b/js/91free.js index 3ee9f78..bb0d829 100644 --- a/js/91free.js +++ b/js/91free.js @@ -1,17 +1,19 @@ +muban.mxpro.二级.title = 'h1&&Text;.module-info-tag&&Text'; +muban.mxpro.二级.desc = '.module-info-item:eq(4)&&Text;;;.module-info-item-content:eq(1)&&Text;.module-info-item-content:eq(0)&&Text'; var rule = { title:'91free', - 模板:'mxone5', + 模板:'mxpro', host:'https://91free.vip', - // url:'/index.php/vod/show/id/fyclass/page/fypage.html', - url:'/index.php/vod/show/id/fyfilter.html', + // url:'/vodshow/id/fyclass/page/fypage.html', + url:'/vodshow/id/fyfilter.html', filterable:1,//是否启用分类筛选, filter_url:'{{fl.cateId}}{{fl.area}}{{fl.by}}{{fl.lang}}/page/fypage{{fl.year}}', filter: { - "20":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"20"},{"n":"动作片","v":"24"},{"n":"爱情片","v":"25"},{"n":"科幻片","v":"26"},{"n":"恐怖片","v":"27"},{"n":"剧情片","v":"28"},{"n":"战争片","v":"29"},{"n":"喜剧片","v":"30"},{"n":"犯罪片","v":"31"},{"n":"奇幻片","v":"43"},{"n":"灾难片","v":"44"},{"n":"悬疑","v":"45"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"/area/中国大陆"},{"n":"中国香港","v":"/area/中国香港"},{"n":"中国台湾","v":"/area/中国台湾"},{"n":"美国","v":"/area/美国"},{"n":"法国","v":"/area/+法国"},{"n":"英国","v":"/area/+英国"},{"n":"日本","v":"/area/+日本"},{"n":"韩国","v":"/area/+韩国"},{"n":"德国","v":"/area/+德国"},{"n":"泰国","v":"/area/+泰国+"},{"n":"印度","v":"/area/印度"},{"n":"意大利","v":"/area/+意大利"},{"n":"西班牙","v":"/area/+西班牙"},{"n":"加拿大","v":"/area/+加拿大"},{"n":"其他","v":"/area/+其他"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"/lang/国语"},{"n":"英语","v":"/lang/+英语"},{"n":"粤语","v":"/lang/+粤语"},{"n":"闽南语","v":"/lang/+闽南语"},{"n":"韩语","v":"/lang/+韩语"},{"n":"日语","v":"/lang/+日语"},{"n":"法语","v":"/lang/+法语"},{"n":"德语","v":"/lang/+德语"},{"n":"其它","v":"/lang/+其它"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"/year/2023"},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/+2021"},{"n":"2020","v":"/year/+2020"},{"n":"2019","v":"/year/+2019"},{"n":"2018","v":"/year/+2018"},{"n":"2017","v":"/year/+2017"},{"n":"2016","v":"/year/+2016"},{"n":"2015","v":"/year/+2015"},{"n":"2014","v":"/year/+2014"},{"n":"2013","v":"/year/+2013"},{"n":"2012","v":"/year/+2012"},{"n":"2011","v":"/year/+2011"},{"n":"2010","v":"/year/+2010"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}], - "21":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"21"},{"n":"国产剧","v":"32"},{"n":"韩国剧","v":"33"},{"n":"台湾","v":"34"},{"n":"泰国","v":"35"},{"n":"日本","v":"36"},{"n":"欧美","v":"37"},{"n":"香港","v":"42"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}], - "22":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"22"},{"n":"大陆综艺","v":"38"},{"n":"港台综艺","v":"39"},{"n":"日韩综艺","v":"40"},{"n":"欧美综艺","v":"41"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}], - "23":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"23"},{"n":"国产动漫","v":"46"},{"n":"日本动漫","v":"47"},{"n":"欧美动漫","v":"48"},{"n":"海外动漫","v":"49"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}], - "52":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"52"},{"n":"篮球","v":"54"},{"n":"足球","v":"53"},{"n":"网球","v":"55"},{"n":"斯诺克","v":"56"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}], + "20":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"20"},{"n":"动作片","v":"24"},{"n":"爱情片","v":"25"},{"n":"科幻片","v":"26"},{"n":"恐怖片","v":"27"},{"n":"剧情片","v":"28"},{"n":"战争片","v":"29"},{"n":"喜剧片","v":"30"},{"n":"犯罪片","v":"31"},{"n":"奇幻片","v":"43"},{"n":"灾难片","v":"44"},{"n":"悬疑","v":"45"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"/area/中国大陆"},{"n":"中国香港","v":"/area/中国香港"},{"n":"中国台湾","v":"/area/中国台湾"},{"n":"美国","v":"/area/美国"},{"n":"法国","v":"/area/法国"},{"n":"英国","v":"/area/英国"},{"n":"日本","v":"/area/日本"},{"n":"韩国","v":"/area/韩国"},{"n":"德国","v":"/area/德国"},{"n":"泰国","v":"/area/泰国"},{"n":"印度","v":"/area/印度"},{"n":"意大利","v":"/area/意大利"},{"n":"西班牙","v":"/area/西班牙"},{"n":"加拿大","v":"/area/加拿大"},{"n":"其他","v":"/area/其他"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"/lang/国语"},{"n":"英语","v":"/lang/英语"},{"n":"粤语","v":"/lang/粤语"},{"n":"闽南语","v":"/lang/闽南语"},{"n":"韩语","v":"/lang/韩语"},{"n":"日语","v":"/lang/日语"},{"n":"法语","v":"/lang/法语"},{"n":"德语","v":"/lang/德语"},{"n":"其它","v":"/lang/其它"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"/year/2023"},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}], + "21":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"21"},{"n":"国产剧","v":"32"},{"n":"韩国剧","v":"33"},{"n":"台湾","v":"34"},{"n":"泰国","v":"35"},{"n":"日本","v":"36"},{"n":"欧美","v":"37"},{"n":"香港","v":"42"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"/year/2023"},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}], + "22":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"22"},{"n":"大陆综艺","v":"38"},{"n":"港台综艺","v":"39"},{"n":"日韩综艺","v":"40"},{"n":"欧美综艺","v":"41"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"/year/2023"},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}], + "23":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"23"},{"n":"国产动漫","v":"46"},{"n":"日本动漫","v":"47"},{"n":"欧美动漫","v":"48"},{"n":"海外动漫","v":"49"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"/year/2023"},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}], + "52":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"52"},{"n":"篮球","v":"54"},{"n":"足球","v":"53"},{"n":"网球","v":"55"},{"n":"斯诺克","v":"56"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"/year/2023"},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}], "59":[{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}] }, filter_def:{ @@ -22,18 +24,8 @@ var rule = { 52:{cateId:'52'}, 59:{cateId:'59'} }, - searchUrl:'/index.php/vod/search/page/fypage/wd/**.html', + searchUrl:'/vodsearch/page/fypage/wd/**.html', class_parse: '.navbar-items&&li:gt(1):lt(7);a&&title;a&&href;.*/(.*?).html', 推荐: '*', double: false, // 推荐内容是否双层定位 - 一级: '.module-items .module-item;.lazyload&&alt;.lazyload&&data-original;.module-item-note&&Text;a&&href', - 二级: { - "title": "h1&&Text;.module-info-tag&&Text", - "img": ".lazyload&&data-original", - "desc": ".module-info-item:eq(4)&&Text;;;.module-info-item-content:eq(1)&&Text;.module-info-item-content:eq(0)&&Text", - "content": ".module-info-introduction-content&&Text", - "tabs": "#y-playList&&.tab-item", - "lists": ".module-play-list-content:eq(#id)&&a" - }, - 搜索: '.module-items .module-card-item;*;*;*;*', } \ No newline at end of file diff --git a/js/B站影视.js b/js/B站影视.js index 6393bc9..d11e3d0 100644 --- a/js/B站影视.js +++ b/js/B站影视.js @@ -4,21 +4,22 @@ var rule = { // host:'https://bzhanys.com', host:'https://bzhanyy.com', // url:'/index.php/vod/show/id/fyclass/page/fypage.html', - url:'/index.php/vod/show/id/fyfilter.html', - filterable:1,//是否启用分类筛选, - filter_url:'{{fl.cateId}}{{fl.area}}{{fl.by}}{{fl.class}}/page/fypage{{fl.year}}', - filter:{ - "1":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"1"},{"n":"喜剧","v":"6"},{"n":"爱情","v":"7"},{"n":"恐怖","v":"8"},{"n":"科幻","v":"9"},{"n":"剧情","v":"10"},{"n":"战争","v":"11"},{"n":"犯罪","v":"12"},{"n":"武侠","v":"21"},{"n":"纪录","v":"20"},{"n":"理论片","v":"26"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"/area/大陆"},{"n":"香港","v":"/area/香港"},{"n":"台湾","v":"/area/台湾"},{"n":"美国","v":"/area/美国"},{"n":"法国","v":"/area/法国"},{"n":"英国","v":"/area/英国"},{"n":"日本","v":"/area/日本"},{"n":"韩国","v":"/area/韩国"},{"n":"德国","v":"/area/德国"},{"n":"泰国","v":"/area/泰国"},{"n":"印度","v":"/area/印度"},{"n":"意大利","v":"/area/意大利"},{"n":"西班牙","v":"/area/西班牙"},{"n":"加拿大","v":"/area/加拿大"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":""},{"n":"2023","v":"/year/2023"},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"}]},{"key":"by","name":"排序","value":[{"n":"按时间","v":"/by/time"},{"n":"按人气","v":"/by/hits"},{"n":"按评分","v":"/by/score"}]}], - "2":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"2"},{"n":"国产剧","v":"13"},{"n":"港台剧","v":"14"},{"n":"日韩剧","v":"15"},{"n":"欧美剧","v":"16"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"/area/内地"},{"n":"韩国","v":"/area/韩国"},{"n":"香港","v":"/area/香港"},{"n":"台湾","v":"/area/台湾"},{"n":"日本","v":"/area/日本"},{"n":"美国","v":"/area/美国"},{"n":"泰国","v":"/area/泰国"},{"n":"英国","v":"/area/英国"},{"n":"新加坡","v":"/area/新加坡"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":""},{"n":"2023","v":"/year/2023"},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"}]},{"key":"by","name":"排序","value":[{"n":"按时间","v":"/by/time"},{"n":"按人气","v":"/by/hits"},{"n":"按评分","v":"/by/score"}]}], - "3":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"选秀","v":"/class/选秀"},{"n":"情感","v":"/class/情感"},{"n":"访谈","v":"/class/访谈"},{"n":"播报","v":"/class/播报"},{"n":"旅游","v":"/class/旅游"},{"n":"音乐","v":"/class/音乐"},{"n":"美食","v":"/class/美食"},{"n":"纪实","v":"/class/纪实"},{"n":"曲艺","v":"/class/曲艺"},{"n":"生活","v":"/class/生活"},{"n":"游戏互动","v":"/class/游戏互动"},{"n":"财经","v":"/class/财经"},{"n":"求职","v":"/class/求职"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"/area/内地"},{"n":"港台","v":"/area/港台"},{"n":"日韩","v":"/area/日韩"},{"n":"欧美","v":"/area/欧美"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":""},{"n":"2023","v":"/year/2023"},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"}]},{"key":"by","name":"排序","value":[{"n":"按时间","v":"/by/time"},{"n":"按人气","v":"/by/hits"},{"n":"按评分","v":"/by/score"}]}], - "4":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"情感","v":"/class/情感"},{"n":"科幻","v":"/class/科幻"},{"n":"热血","v":"/class/热血"},{"n":"推理","v":"/class/推理"},{"n":"搞笑","v":"/class/搞笑"},{"n":"冒险","v":"/class/冒险"},{"n":"萝莉","v":"/class/萝莉"},{"n":"校园","v":"/class/校园"},{"n":"动作","v":"/class/动作"},{"n":"机战","v":"/class/机战"},{"n":"运动","v":"/class/运动"},{"n":"战争","v":"/class/战争"},{"n":"少年","v":"/class/少年"},{"n":"少女","v":"/class/少女"},{"n":"社会","v":"/class/社会"},{"n":"原创","v":"/class/原创"},{"n":"亲子","v":"/class/亲子"},{"n":"益智","v":"/class/益智"},{"n":"励志","v":"/class/励志"},{"n":"其他","v":"/class/其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"国产","v":"/area/国产"},{"n":"日本","v":"/area/日本"},{"n":"欧美","v":"/area/欧美"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":""},{"n":"2023","v":"/year/2023"},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"}]},{"key":"by","name":"排序","value":[{"n":"按时间","v":"/by/time"},{"n":"按人气","v":"/by/hits"},{"n":"按评分","v":"/by/score"}]}] - }, - filter_def:{ - 1:{cateId:'1'}, - 2:{cateId:'2'}, - 3:{cateId:'3'}, - 4:{cateId:'4'} - }, + // url:'/index.php/vod/show/id/fyfilter.html', + url:'/api.php/xiao/vod?type=fyclass&page=fypage&limit=24', + // filterable:1,//是否启用分类筛选, + // filter_url:'{{fl.cateId}}{{fl.area}}{{fl.by}}{{fl.class}}/page/fypage{{fl.year}}', + // filter:{ + // "1":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"1"},{"n":"喜剧","v":"6"},{"n":"爱情","v":"7"},{"n":"恐怖","v":"8"},{"n":"科幻","v":"9"},{"n":"剧情","v":"10"},{"n":"战争","v":"11"},{"n":"犯罪","v":"12"},{"n":"武侠","v":"21"},{"n":"纪录","v":"20"},{"n":"理论片","v":"26"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"/area/大陆"},{"n":"香港","v":"/area/香港"},{"n":"台湾","v":"/area/台湾"},{"n":"美国","v":"/area/美国"},{"n":"法国","v":"/area/法国"},{"n":"英国","v":"/area/英国"},{"n":"日本","v":"/area/日本"},{"n":"韩国","v":"/area/韩国"},{"n":"德国","v":"/area/德国"},{"n":"泰国","v":"/area/泰国"},{"n":"印度","v":"/area/印度"},{"n":"意大利","v":"/area/意大利"},{"n":"西班牙","v":"/area/西班牙"},{"n":"加拿大","v":"/area/加拿大"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":""},{"n":"2023","v":"/year/2023"},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"}]},{"key":"by","name":"排序","value":[{"n":"按时间","v":"/by/time"},{"n":"按人气","v":"/by/hits"},{"n":"按评分","v":"/by/score"}]}], + // "2":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"2"},{"n":"国产剧","v":"13"},{"n":"港台剧","v":"14"},{"n":"日韩剧","v":"15"},{"n":"欧美剧","v":"16"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"/area/内地"},{"n":"韩国","v":"/area/韩国"},{"n":"香港","v":"/area/香港"},{"n":"台湾","v":"/area/台湾"},{"n":"日本","v":"/area/日本"},{"n":"美国","v":"/area/美国"},{"n":"泰国","v":"/area/泰国"},{"n":"英国","v":"/area/英国"},{"n":"新加坡","v":"/area/新加坡"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":""},{"n":"2023","v":"/year/2023"},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"}]},{"key":"by","name":"排序","value":[{"n":"按时间","v":"/by/time"},{"n":"按人气","v":"/by/hits"},{"n":"按评分","v":"/by/score"}]}], + // "3":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"选秀","v":"/class/选秀"},{"n":"情感","v":"/class/情感"},{"n":"访谈","v":"/class/访谈"},{"n":"播报","v":"/class/播报"},{"n":"旅游","v":"/class/旅游"},{"n":"音乐","v":"/class/音乐"},{"n":"美食","v":"/class/美食"},{"n":"纪实","v":"/class/纪实"},{"n":"曲艺","v":"/class/曲艺"},{"n":"生活","v":"/class/生活"},{"n":"游戏互动","v":"/class/游戏互动"},{"n":"财经","v":"/class/财经"},{"n":"求职","v":"/class/求职"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"/area/内地"},{"n":"港台","v":"/area/港台"},{"n":"日韩","v":"/area/日韩"},{"n":"欧美","v":"/area/欧美"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":""},{"n":"2023","v":"/year/2023"},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"}]},{"key":"by","name":"排序","value":[{"n":"按时间","v":"/by/time"},{"n":"按人气","v":"/by/hits"},{"n":"按评分","v":"/by/score"}]}], + // "4":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"情感","v":"/class/情感"},{"n":"科幻","v":"/class/科幻"},{"n":"热血","v":"/class/热血"},{"n":"推理","v":"/class/推理"},{"n":"搞笑","v":"/class/搞笑"},{"n":"冒险","v":"/class/冒险"},{"n":"萝莉","v":"/class/萝莉"},{"n":"校园","v":"/class/校园"},{"n":"动作","v":"/class/动作"},{"n":"机战","v":"/class/机战"},{"n":"运动","v":"/class/运动"},{"n":"战争","v":"/class/战争"},{"n":"少年","v":"/class/少年"},{"n":"少女","v":"/class/少女"},{"n":"社会","v":"/class/社会"},{"n":"原创","v":"/class/原创"},{"n":"亲子","v":"/class/亲子"},{"n":"益智","v":"/class/益智"},{"n":"励志","v":"/class/励志"},{"n":"其他","v":"/class/其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"国产","v":"/area/国产"},{"n":"日本","v":"/area/日本"},{"n":"欧美","v":"/area/欧美"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":""},{"n":"2023","v":"/year/2023"},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"}]},{"key":"by","name":"排序","value":[{"n":"按时间","v":"/by/time"},{"n":"按人气","v":"/by/hits"},{"n":"按评分","v":"/by/score"}]}] + // }, + // filter_def:{ + // 1:{cateId:'1'}, + // 2:{cateId:'2'}, + // 3:{cateId:'3'}, + // 4:{cateId:'4'} + // }, searchable:2,//是否启用全局搜索, quickSearch:0,//是否启用快速搜索, headers:{ @@ -55,8 +56,10 @@ var rule = { } `, limit:6, - 推荐:'*', - 一级:'.movie-list-body&&.movie-list-item;.movie-title&&Text;.Lazy&&data-original;.movie-rating&&Text;a&&href', + // 推荐:'*', + 推荐:'.movie-list-body&&.movie-list-item;.movie-title&&Text;.Lazy&&data-original;.movie-rating&&Text;a&&href', + // 一级:'.movie-list-body&&.movie-list-item;.movie-title&&Text;.Lazy&&data-original;.movie-rating&&Text;a&&href', + 一级:'json:list;vod_name;vod_pic;vod_score;vod_id', 二级访问前:'log(MY_URL);MY_URL=MY_URL.replace("/play/","/detail/").replace("/sid/1/nid/1","");log(MY_URL)', 二级:{ "title":"h1&&title;.scroll-content&&Text", diff --git a/js/Icio影视.js b/js/Icio影视.jsd similarity index 100% rename from js/Icio影视.js rename to js/Icio影视.jsd diff --git a/js/Nike影视.js b/js/Nike影视.jsd similarity index 100% rename from js/Nike影视.js rename to js/Nike影视.jsd diff --git a/js/version.txt b/js/version.txt index e4489dc..e48bbbf 100644 --- a/js/version.txt +++ b/js/version.txt @@ -1 +1 @@ -3.9.48beta4 \ No newline at end of file +3.9.48beta5 \ No newline at end of file diff --git a/js/七年影视.js b/js/七年影视.jsd similarity index 100% rename from js/七年影视.js rename to js/七年影视.jsd diff --git a/js/万能影视.js b/js/万能影视.jsd similarity index 100% rename from js/万能影视.js rename to js/万能影视.jsd diff --git a/js/八蛋影视.js b/js/八蛋影视.jsd similarity index 100% rename from js/八蛋影视.js rename to js/八蛋影视.jsd diff --git a/js/六度TV.js b/js/六度TV.jsd similarity index 100% rename from js/六度TV.js rename to js/六度TV.jsd diff --git a/js/兰花影院.js b/js/兰花影院.js index 0e418f1..88e9636 100644 --- a/js/兰花影院.js +++ b/js/兰花影院.js @@ -10,17 +10,32 @@ var rule = { filter_url:'{{fl.cateId}}-{{fl.area}}-{{fl.by}}-{{fl.class}}-{{fl.lang}}-{{fl.letter}}---fypage---{{fl.year}}', filter: { "1":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"1"},{"n":"动作片","v":"101"},{"n":"喜剧片","v":"102"},{"n":"爱情片","v":"103"},{"n":"科幻片","v":"104"},{"n":"剧情片","v":"105"},{"n":"悬疑片","v":"106"},{"n":"惊悚片","v":"107"},{"n":"恐怖片","v":"108"},{"n":"犯罪片","v":"109"},{"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"}]},{"key":"class","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":"其他"}]},{"key":"area","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":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]},{"key":"letter","name":"字母","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"by","name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}], - "2":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"2"},{"n":"国产剧","v":"201"},{"n":"日韩剧","v":"203"},{"n":"欧美剧","v":"204"},{"n":"香港剧","v":"202"},{"n":"台湾剧","v":"226"},{"n":"海外剧","v":"205"},{"n":"其他剧","v":"206"}]},{"key":"class","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":"area","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":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]},{"key":"letter","name":"字母","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"by","name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}], + // "2":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"2"},{"n":"国产剧","v":"201"},{"n":"日韩剧","v":"203"},{"n":"欧美剧","v":"204"},{"n":"香港剧","v":"202"},{"n":"台湾剧","v":"226"},{"n":"海外剧","v":"205"},{"n":"其他剧","v":"206"}]},{"key":"class","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":"area","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":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]},{"key":"letter","name":"字母","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"by","name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}], + "222":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"222"},{"n":"国产剧","v":"201"},{"n":"日韩剧","v":"203"},{"n":"欧美剧","v":"204"},{"n":"香港剧","v":"202"},{"n":"台湾剧","v":"226"},{"n":"海外剧","v":"205"},{"n":"其他剧","v":"206"}]},{"key":"class","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":"area","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":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]},{"key":"letter","name":"字母","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"by","name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}], "3":[{"key":"class","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":"其他"}]},{"key":"area","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":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]},{"key":"letter","name":"字母","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"by","name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}], "4":[{"key":"class","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":"神话"}]},{"key":"area","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":"其他"}]},{"key":"letter","name":"字母","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"by","name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}] }, filter_def:{ 1:{cateId:'1'}, - 2:{cateId:'2'}, + // 2:{cateId:'2'}, + 222:{cateId:'222'}, 3:{cateId:'3'}, 4:{cateId:'4'} }, searchUrl: '/vodsearch/**----------fypage---.html', class_parse: 'body&&.hl-nav li;a&&Text;a&&href;.*/(\\d+).html', - lazy:"js:var html=JSON.parse(request(input).match(/r player_.*?=(.*?)it.toLowerCase()==="set-cookie");let cookie=setCk?json[setCk].split(";")[0]:"";fetch_params.headers.Cookie=cookie;fetch_params.headers.Referer=MY_URL;html=JSON.parse(html).body;if(/检测中/.test(html)){html=request(input+"?btwaf"+html.match(/btwaf(.*?)\"/)[1],fetch_params)}let list=pdfa(html,".stui-vodlist&&li");list.forEach((it)=>{d.push({title:pdfh(it,"a&&title"),pic_url:pd(it,"a&&data-original"),desc:pdfh(it,".pic-text&&Text"),url:pd(it,"a&&href"),})});setResult(d);', - 二级: 'js:pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;VOD={};var html=request(input,{withHeaders:true});let json=JSON.parse(html);let setCk=Object.keys(json).find((it)=>it.toLowerCase()==="set-cookie");let cookie=setCk?json[setCk].split(";")[0]:"";fetch_params.headers.Cookie=cookie;html=JSON.parse(html).body;if(/检测中/.test(html)){html=request(input+"?btwaf"+html.match(/btwaf(.*?)\"/)[1],fetch_params)}VOD.vod_name=pdfh(html,"h1&&Text");VOD.type_name=pdfh(html,".data.hidden-xs:eq(1)&&Text");VOD.vod_pic=pd(html,".lazyload&&data-original");VOD.vod_remarks=pdfh(html,".data:eq(1)&&Text");VOD.vod_year=pdfh(html,".data.visible-xs:eq(2)&&Text");VOD.vod_area=pdfh(html,".data.visible-xs:eq(0)&&Text");VOD.vod_actor=pdfh(html,".data:eq(6)&&Text").replace("主演:","");VOD.vod_director=pdfh(html,".data:eq(5)&&Text&&Text").replace("导演:","");VOD.vod_content=pdfh(html,".detail-content&&Text");let playFrom=[];let vod_tab_list=[];let tabs=pdfa(html,"body&&h3.title");tabs.forEach((it)=>{playFrom.push(pdfh(it,"body&&Text"))});for(let i=0;i0: - T=s(f(lambda x:x[C],B.focus_on_up_list)) - for L in F: - if L[C]in T:F.remove(L) + U=s(f(lambda x:x[C],B.focus_on_up_list)) + for O in F: + if O[C]in U:F.remove(O) F.extend(B.focus_on_up_list) - U=[{D:'登录与设置',C:'登录'}];F=O+F+U;K=B.config[Z].get(AI,[]) - if K:K.insert(0,{S:W,J:BL,G:F}) + X=[{D:'登录与设置',C:'登录'}];F=N+F+X;K=B.config[Z].get(AI,[]) + if K:K.insert(0,{S:W,J:BM,G:F}) B.config[Z][AI]=K;B.add_focus_on_up_filter_event.set() - def get_live_parent_area_list(N,parent_area):B=parent_area;E=B[J];id=A(B[m]);F=B[H];I=s(f(lambda area:{D:area[J],C:A(area['parent_id'])+K+A(area[m])},F));L={S:A1,J:E,G:I};M={m:id+'_0',G:L};return E,M + def get_live_parent_area_list(N,parent_area):B=parent_area;E=B[J];id=A(B[m]);F=B[H];I=s(f(lambda area:{D:area[J],C:A(area['parent_id'])+K+A(area[m])},F));L={S:A2,J:E,G:I};M={m:id+'_0',G:L};return E,M def get_live_list(A): C='https://api.live.bilibili.com/xlive/web-interface/v1/index/getWebAreaList?source_id=2';D=A._get_sth(C,P);B=I.loads(D.text);G={} - if B[M]==0:F=B[E][E];A.userConfig[AT]=A2(A.pool.map(A.get_live_parent_area_list,F)) + if B[M]==0:F=B[E][E];A.userConfig[AT]=A3(A.pool.map(A.get_live_parent_area_list,F)) return A.userConfig[AT] def set_default_cateManualLive(A): - B=[{D:AR,C:AR}] + B=[{D:AG,C:AG},{D:y,C:y}] for E in A.userConfig[AT]:F={D:E,C:A.userConfig[AT][E][m]};B.append(F) - A.defaultConfig[y]=B;return B + A.defaultConfig[z]=B;return B add_live_filter_event=j.Event() def add_live_filter(A): C=A.userConfig.get(AT,{});E=A.pool.submit(A.get_live_list) if not C:C=E.result() - H=A.pool.submit(A.set_default_cateManualLive);A.config[Z][AH]=[];B=A.userConfig.get(y,[]) + H=A.pool.submit(A.set_default_cateManualLive);A.config[Z][AH]=[];B=A.userConfig.get(z,[]) if not B:B=H.result() - if B:I={S:A1,J:BI,G:B};A.config[Z][AH].append(I) - if F(A.userConfig[Bn]): + if B:I={S:A2,J:BJ,G:B};A.config[Z][AH].append(I) + if F(A.userConfig[Bo]): for D in C.values(): if V(D[G][G])==1:continue A.config[Z][AH].append(D[G]) @@ -387,18 +387,18 @@ class Spider(Spider): add_search_key_event=j.Event() def add_search_key(A): B=A.focus_on_search_key;L='https://api.bilibili.com/x/web-interface/search/square?limit=10&platform=web';N=A._get_sth(L,P);F=I.loads(N.text);Q={} - if F[M]==0:O=F[E]['trending'].get(H,[]);B+=s(f(lambda x:x[Aw],O)) - K={S:Aw,J:'搜索词',G:[]};K[G]=s(f(lambda i:{D:i,C:i},B));A.config[Z][BG].insert(0,K);A.add_search_key_event.set() + if F[M]==0:O=F[E]['trending'].get(H,[]);B+=s(f(lambda x:x[Ax],O)) + K={S:Ax,J:'搜索词',G:[]};K[G]=s(f(lambda i:{D:i,C:i},B));A.config[Z][BH].insert(0,K);A.add_search_key_event.set() def get_tuijian_filter(E): - K={'番剧时间表':'10001','国创时间表':'10004',Bo:L,'动画':T,'音乐':AQ,'舞蹈':'129','游戏':AV,'鬼畜':'119','知识':'36','科技':'188','运动':'234','生活':'160','美食':'211','动物':'217','汽车':'223','时尚':'155','娱乐':'5',Ad:'181','原创':'origin','新人':'rookie'};M=[{D:BC,C:BI},{D:BD,C:Bo}];F=[] + K={'番剧时间表':'10001','国创时间表':'10004',Bp:L,'动画':T,'音乐':AR,'舞蹈':'129','游戏':AV,'鬼畜':'119','知识':'36','科技':'188','运动':'234','生活':'160','美食':'211','动物':'217','汽车':'223','时尚':'155','娱乐':'5',Ad:'181','原创':'origin','新人':'rookie'};M=[{D:BD,C:BJ},{D:BE,C:Bp}];F=[] for H in M: - I={S:A1,J:H[C],G:[]};N=E.userConfig.get(H[D],[]) + I={S:A2,J:H[C],G:[]};N=E.userConfig.get(H[D],[]) for A in N: B=K.get(A) if not B:B=A O={D:A,C:B};I[G].append(O) F.append(I) - E.config[Z][AR]=F + E.config[Z][AG]=F def __init__(A):A.load_config();A.pool.submit(A.getCookie);A.pool.submit(A.getFakeCookie);A.pool.submit(A.getCookie,AS) def init(A,extend=B):print('============{0}============'.format(extend)) def isVideoFormat(A,url):0 @@ -410,8 +410,8 @@ class Spider(Spider): def pagination(A,array,pg):B=A.userConfig[Y]*F(pg);C=B-A.userConfig[Y];return array[C:B] def zh(D,num): C=num - if F(C)>=100000000:B=Bi(BA(C)/BA(100000000),1);B=A(B)+'亿' - elif F(C)>=10000:B=Bi(BA(C)/BA(10000),1);B=A(B)+'万' + if F(C)>=100000000:B=Bj(BB(C)/BB(100000000),1);B=A(B)+'亿' + elif F(C)>=10000:B=Bj(BB(C)/BB(10000),1);B=A(B)+'万' else:B=A(C) return B def second_to_time(D,a): @@ -432,14 +432,6 @@ class Spider(Spider): B=A(url).strip().split(AA)[-1] if not B:B=A(url).strip().split(AA)[-2] B=B.split('?')[0];return B - def test_mirror_site(A): - B=['http://jm92swf.s1002.xrea.com','http://above-mentioned-ice.000webhostapp.com'];C=9;D=B[0] - for E in B: - try:G=Bg(E+CW,timeout=2) - except:continue - F=G.elapsed.total_seconds() - if FB.userConfig[Y]: - if G==Bp: + if G==Bq: O=F(B._popSeriesNum[1]);R=V(D)/B.userConfig[Y]-O if R>0:R+=1 if not F(R):B._popSeriesNum=[F(N)-1,1] @@ -522,7 +512,7 @@ class Spider(Spider): if W=='追番剧':K='https://api.bilibili.com/x/space/bangumi/follow/list?type={0}&vmid={1}&pn={2}&ps={3}'.format(G,D.userid,pg,D.userConfig[Y]);b=D._get_sth(K) else: K='https://api.bilibili.com/pgc/season/index/result?type=1&season_type={0}&page={1}&order={2}&season_status={3}&pagesize={4}'.format(G,pg,W,season_status,D.userConfig[Y]) - if W==A3: + if W==y: if G==T:K='https://api.bilibili.com/pgc/web/rank/list?season_type={0}&day=3'.format(G) else:K='https://api.bilibili.com/pgc/season/rank/web/list?season_type={0}&day=3'.format(G) b=D._get_sth(K,P) @@ -534,14 +524,14 @@ class Spider(Spider): c=[] for C in L: e=A(C[AY]).strip();f=C[R];N=C.get('ss_horizontal_cover') - if not N or G==T and not D.userConfig[CR]: + if not N or G==T and not D.userConfig[CS]: if C.get(Z)and i in C[Z]:N=C[Z][i] elif C.get(a)and i in C[a]:N=C[a][i] else:N=C[i].strip() - F=C.get(Az,B) - if not F and C.get(A_)and C[A_].get(Az):F=C[A_][Az] - F=F.replace('更新至','🆕');d=C.get(BP) - if d:F='▶'+D.zh(d.get(Ay))+' '+F + F=C.get(A_,B) + if not F and C.get(B0)and C[B0].get(A_):F=C[B0][A_] + F=F.replace('更新至','🆕');d=C.get(BQ) + if d:F='▶'+D.zh(d.get(Az))+' '+F c.append({Q:q+e,O:f,U:D.format_img(N),X:F}) J[H]=c;J[h]=pg;J[t]=9999;J[u]=90;J[p]=999999 return J @@ -552,17 +542,17 @@ class Spider(Spider): for C in G:J=A(C[AY]).strip();K=C[R].strip();N=C[Z].strip();S='🆕'+C[a]+' ❤ '+C['follows'].replace('系列',B).replace('追番',B);T.append({Q:q+J,O:K,U:E.format_img(N),X:S}) W=[];Y=F[AM]['timeline'] for e in range(V(Y)): - G=Y[e][BQ] + G=Y[e][BR] for C in G: if A(C['published'])==L:J=A(C[AY]).strip();K=A(C[R]).strip();N=A(C[Z]).strip();f=A(x.strftime('%m-%d %H:%M',x.localtime(C['pub_ts'])));S=f+' '+C[a];W.append({Q:q+J,O:K,U:E.format_img(N),X:S}) D[H]=W+T;D[h]=1;D[t]=1;D[u]=90;D[p]=999999 return D def get_live(G,pg,parent_area_id,area_id): V='recommend_room_list';K=parent_area_id;D={} - if K==AR:J='https://api.live.bilibili.com/xlive/web-interface/v1/webMain/getList?platform=web&page=%s'%pg;N=G._get_sth(J) + if K==AG:J='https://api.live.bilibili.com/xlive/web-interface/v1/webMain/getList?platform=web&page=%s'%pg;N=G._get_sth(J) else: J='https://api.live.bilibili.com/xlive/web-interface/v1/second/getList?platform=web&parent_area_id=%s&area_id=%s&sort_type=online&page=%s'%(K,area_id,pg) - if K==A3:J='https://api.live.bilibili.com/room/v1/room/get_user_recommend?page=%s&page_size=%s'%(pg,G.userConfig[Y]) + if K==y:J='https://api.live.bilibili.com/room/v1/room/get_user_recommend?page=%s&page_size=%s'%(pg,G.userConfig[Y]) N=G._get_sth(J,P) S=I.loads(N.text) if S[M]==0: @@ -572,7 +562,7 @@ class Spider(Spider): for F in C: W=A(F[Cc]).strip();Z=F[R].replace(k,B).replace(l,B).replace(AJ,AK);L=F.get(Cd) if not L:L=F.get(i) - a='👁'+F[Ca][Cb].strip()+Ag+F[A8].strip();T.append({Q:W,O:Z,U:G.format_img(L),X:a}) + a='👁'+F[Ca][Cb].strip()+Ah+F[A8].strip();T.append({Q:W,O:Z,U:G.format_img(L),X:a}) D[H]=T;D[h]=pg;D[t]=9999;D[u]=99;D[p]=999999 return D get_up_videos_result={} @@ -585,24 +575,24 @@ class Spider(Spider): else:D=C.get_up_videos_mid if F(L)==1:C.get_up_info_event.clear();C.pool.submit(C.get_up_info,D) T=V=B - if S==Ce:V=S;S=Ah + if S==Ce:V=S;S=Ai elif S==Cf: T='投稿: ';K=C.get_up_videos_result.get(D,[]) if K:G[H]=K;return G Z=L - if V:C.get_up_info_event.wait();Z=C.up_info[D][Bv]-F(L)+1 + if V:C.get_up_info_event.wait();Z=C.up_info[D][Bw]-F(L)+1 e=C.encrypt_wbi(mid=D,pn=Z,ps=C.userConfig[Y],order=S);f=f"https://api.bilibili.com/x/space/wbi/arc/search?{e}";g=C._get_sth(f,P);i=g.text;b=I.loads(i);K=[] if b[M]==0: j=b[E][H]['vlist'] for N in j: - m=A(N[a]).strip();n=N[R].strip().replace(k,B).replace(l,B);o=N[Ax].strip();c=C.second_to_time(C.str2sec(A(N['length']).strip()))+BO+C.zh(N[Bw]) - if not T:c+=Bx+C.zh(N['video_review']) + m=A(N[a]).strip();n=N[R].strip().replace(k,B).replace(l,B);o=N[Ay].strip();c=C.second_to_time(C.str2sec(A(N['length']).strip()))+BP+C.zh(N[Bx]) + if not T:c+=By+C.zh(N['video_review']) K.append({Q:v+m,O:T+n,U:C.format_img(o),X:c}) if V:K.reverse() if F(L)==1: C.get_up_info_event.wait();d=C.up_info[D][J]+Cg if T:d='UP: '+C.up_info[D][J] - q={Q:AZ+A(D),O:d,U:C.format_img(C.up_info[D][A7]),X:C.up_info[D][Ai]+' 👥'+C.up_info[D][Aj]+' 🎬'+A(C.up_info[D][BR])};K.insert(0,q) + q={Q:AZ+A(D),O:d,U:C.format_img(C.up_info[D][A7]),X:C.up_info[D][Aj]+' 👥'+C.up_info[D][Ak]+' 🎬'+A(C.up_info[D][BS])};K.insert(0,q) if T:C.get_up_videos_result[D]=K G[H]=K;G[h]=L;G[t]=99;G[u]=99;G[p]=999999 return G @@ -611,21 +601,21 @@ class Spider(Spider): W='progress';G={} if F(pg)==1:D.history_view_at=0 Z='https://api.bilibili.com/x/web-interface/history/cursor?ps={0}&view_at={1}&type={2}'.format(D.userConfig[Y],D.history_view_at,type) - if type==BS:Z='https://api.bilibili.com/x/v2/history/toview' + if type==BT:Z='https://api.bilibili.com/x/v2/history/toview' e=D._get_sth(Z);T=I.loads(e.text) if T[M]==0: b=[];V=T[E].get(H,[]) - if type==BS:V=D.pagination(V,pg) + if type==BT:V=D.pagination(V,pg) else:D.history_view_at=T[E]['cursor']['view_at'] for C in V: J=C.get('history',B) - if J:K=J['business'];N=A(J['oid']).strip();c=C[i].strip();S=A(J[By]).strip() - else:K=BM;N=A(C[a]).strip();c=C[Ax].strip();S=A(C[h][By]).strip() + if J:K=J['business'];N=A(J['oid']).strip();c=C[i].strip();S=A(J[Bz]).strip() + else:K=BN;N=A(C[a]).strip();c=C[Ay].strip();S=A(C[h][Bz]).strip() if K=='article':continue - elif K=='pgc':N=z+A(J['epid']);d=C[p];S=C.get('show_title') - elif K==BM:N=v+N;d=C[Ch] + elif K=='pgc':N=A0+A(J['epid']);d=C[p];S=C.get('show_title') + elif K==BN:N=v+N;d=C[Ch] f=C[R].replace(k,B).replace(l,B).replace(AJ,AK) - if K==AW:g=C.get('badge',B);P=g+Ag+C['author_name'].strip() + if K==AW:g=C.get('badge',B);P=g+Ah+C['author_name'].strip() else: if A(C[W])=='-1':P='已看完' elif A(C[W])==L:P='刚开始看' @@ -639,7 +629,7 @@ class Spider(Spider): if G[M]==0: J=[];S=G[E].get('medias',[]) for C in S: - if C.get(r)in[2]and C.get(R)!='已失效视频':T=A(C[m]).strip();V=C[R].replace(k,B).replace(l,B).replace(AJ,AK);W=C[i].strip();Y=A(F.second_to_time(C[d])).strip()+BO+F.zh(C[K][Bw])+Ci+F.zh(C[K][BT]);J.append({Q:v+T+'_mlid'+A(mlid),O:V,U:F.format_img(W),X:Y}) + if C.get(r)in[2]and C.get(R)!='已失效视频':T=A(C[m]).strip();V=C[R].replace(k,B).replace(l,B).replace(AJ,AK);W=C[i].strip();Y=A(F.second_to_time(C[d])).strip()+BP+F.zh(C[K][Bx])+Ci+F.zh(C[K][Al]);J.append({Q:v+T+'_mlid'+A(mlid),O:V,U:F.format_img(W),X:Y}) D[H]=J;D[h]=pg;D[t]=9999;D[u]=99;D[p]=999999 return D get_up_info_event=j.Event();up_info={} @@ -651,10 +641,10 @@ class Spider(Spider): Q='https://api.bilibili.com/x/web-interface/card?mid={0}'.format(K);S=D._get_sth(Q);L=I.loads(S.text) if L[M]==0:G=L[E] else:D.get_up_info_event.set();return - H=G['card'];C={};C[Ai]='未关注' - if G[Ai]:C[Ai]='已关注' - C[J]=H[J].replace(k,B).replace(l,B);C[A7]=H[A7];C[Aj]=D.zh(H[Aj]);C[Bz]=D.zh(G[Bz]);C[BR]=A(G['archive_count']).strip();C[Aa]=H[O][Aa]+Ab+H[O][R];N=divmod(F(C[BR]),D.userConfig[Y]);C[Bv]=N[0] - if N[1]!=0:C[Bv]+=1 + H=G['card'];C={};C[Aj]='未关注' + if G[Aj]:C[Aj]='已关注' + C[J]=H[J].replace(k,B).replace(l,B);C[A7]=H[A7];C[Ak]=D.zh(H[Ak]);C[B_]=D.zh(G[B_]);C[BS]=A(G['archive_count']).strip();C[Aa]=H[O][Aa]+Ab+H[O][R];N=divmod(F(C[BS]),D.userConfig[Y]);C[Bw]=N[0] + if N[1]!=0:C[Bw]+=1 D.up_info[K]=C;D.get_up_info_event.set() def get_vod_relation(H,id): if id.isdigit():F='aid='+A(id) @@ -667,8 +657,8 @@ class Spider(Spider): else:C.append('未关注') D=[] if B[Ck]:D.append('⭐') - if B[B0]:D.append('👍') - G=B.get(B_) + if B[B1]:D.append('👍') + G=B.get(C0) if G:D.append('💰'*G) if V(D)==3:C.append('👍💰⭐') else:C.extend(D) @@ -676,88 +666,88 @@ class Spider(Spider): if B['season_fav']:C.append('已订阅合集') return C def get_channel(C,pg,cid,order): - R=order;N='uri';F={} + P=order;N='uri';F={} if A(pg)==T:C.channel_offset=B - if R==Cl:S='https://api.bilibili.com/x/web-interface/web/channel/featured/list?channel_id={0}&filter_type=0&offset={1}&page_size={2}'.format(cid,C.channel_offset,C.userConfig[Y]) - else:S='https://api.bilibili.com/x/web-interface/web/channel/multiple/list?channel_id={0}&sort_type={1}&offset={2}&page_size={3}'.format(cid,R,C.channel_offset,C.userConfig[Y]) - e=C._get_sth(S,P);L=I.loads(e.text) + if P==Cl:R='https://api.bilibili.com/x/web-interface/web/channel/featured/list?channel_id={0}&filter_type=0&offset={1}&page_size={2}'.format(cid,C.channel_offset,C.userConfig[Y]) + else:R='https://api.bilibili.com/x/web-interface/web/channel/multiple/list?channel_id={0}&sort_type={1}&offset={2}&page_size={3}'.format(cid,P,C.channel_offset,C.userConfig[Y]) + c=C._get_sth(R,g);L=I.loads(c.text) if L.get(M)==0: - C.channel_offset=L[E].get(CY);V=[];G=L[E][H] - if pg==T and BJ in G[0]:f=G[0][BJ];del G[0];G=f+G + C.channel_offset=L[E].get(CY);S=[];G=L[E][H] + if pg==T and BK in G[0]:e=G[0][BK];del G[0];G=e+G for D in G: - if N in D and C0 in D[N]:W=C.find_bangumi_id(D[N]) - else:W=v+A(D[m]).strip() - g=D[J].replace(k,B).replace(l,B).replace(AJ,AK);j=D[i].strip();K='▶'+A(D['view_count']);Z=D.get(d,B) - if Z:K=A(C.second_to_time(C.str2sec(Z))).strip()+' '+K - a=D.get(BT,B);b=D.get('like_count',B);c=D.get('follow_count',B) - if a:K+=Bx+C.zh(a) - elif b:K+=' 👍'+A(b) - elif c:K+=' ❤'+A(c) - V.append({Q:W,O:g,U:C.format_img(j),X:K}) - F[H]=V;F[h]=pg;F[t]=9999;F[u]=99;F[p]=999999 + if N in D and C1 in D[N]:V=C.find_bangumi_id(D[N]) + else:V=v+A(D[m]).strip() + f=D[J].replace(k,B).replace(l,B).replace(AJ,AK);j=D[i].strip();K='▶'+A(D['view_count']);W=D.get(d,B) + if W:K=A(C.second_to_time(C.str2sec(W))).strip()+' '+K + Z=D.get(Al,B);a=D.get('like_count',B);b=D.get('follow_count',B) + if Z:K+=By+C.zh(Z) + elif a:K+=' 👍'+A(a) + elif b:K+=' ❤'+A(b) + S.append({Q:V,O:f,U:C.format_img(j),X:K}) + F[H]=S;F[h]=pg;F[t]=9999;F[u]=99;F[p]=999999 return F def get_follow(G,pg,sort): K=pg;D=sort;L={} - if D=='最常访问':N='https://api.bilibili.com/x/relation/followings?vmid={0}&pn={1}&ps=10&order=desc&order_type=attention'.format(G.userid,K) - elif D==C1:N='https://api.bilibili.com/x/relation/followings?vmid={0}&pn={1}&ps=10&order=desc&order_type='.format(G.userid,K) - elif D==B1:N='https://api.live.bilibili.com/xlive/web-ucenter/v1/xfetter/GetWebList?page={0}&page_size=10'.format(K) - elif D==BU:N='https://api.bilibili.com/x/v2/history?pn={0}&ps=15'.format(K) - elif D==B2:N='https://api.bilibili.com/x/relation/tag?mid={0}&tagid=-10&pn={1}&ps=10'.format(G.userid,K) - elif D==C2:N='https://api.bilibili.com/x/relation/whispers?pn={0}&ps=10'.format(K) + if D==BU:N='https://api.bilibili.com/x/relation/followings?vmid={0}&pn={1}&ps=10&order=desc&order_type=attention'.format(G.userid,K) + elif D==C2:N='https://api.bilibili.com/x/relation/followings?vmid={0}&pn={1}&ps=10&order=desc&order_type='.format(G.userid,K) + elif D==B2:N='https://api.live.bilibili.com/xlive/web-ucenter/v1/xfetter/GetWebList?page={0}&page_size=10'.format(K) + elif D==BV:N='https://api.bilibili.com/x/v2/history?pn={0}&ps=15'.format(K) + elif D==B3:N='https://api.bilibili.com/x/relation/tag?mid={0}&tagid=-10&pn={1}&ps=10'.format(G.userid,K) + elif D==C3:N='https://api.bilibili.com/x/relation/whispers?pn={0}&ps=10'.format(K) else:N='https://api.bilibili.com/x/relation/followers?vmid={0}&pn={1}&ps=10&order=desc&order_type=attention'.format(G.userid,K) b=G._get_sth(N);S=I.loads(b.text) if S[M]!=0:return L - if D==B2 or D==BU:T=S[E] - elif D==B1:T=S[E]['rooms'] + if D==B3 or D==BV:T=S[E] + elif D==B2:T=S[E]['rooms'] else:T=S[E][H] if F(K)==1:G.recently_up_list=[] a=[] for C in T: V=B - if D==BU: + if D==BV: P=AZ+A(C[AX][W]) if P in G.recently_up_list:continue G.recently_up_list.append(P);Y=A(C[AX][J]).strip();Z=A(C[AX][A7]).strip() - elif D==B1:P=A(C[Cm]);Y=C[R].replace(k,B).replace(l,B).replace(AJ,AK);Z=C['cover_from_user'].strip();V=C[A8].strip() + elif D==B2:P=A(C[Cm]);Y=C[R].replace(k,B).replace(l,B).replace(AJ,AK);Z=C['cover_from_user'].strip();V=C[A8].strip() else:P=AZ+A(C[W]);Y=A(C[A8]).strip();Z=A(C[A7]).strip() - if C3 in C and C[C3]==1:V=B2 + if C4 in C and C[C4]==1:V=B3 a.append({Q:P,O:Y,U:G.format_img(Z),X:V}) L[H]=a;L[h]=K;L[t]=9999;L[u]=99;L[p]=999999;return L homeVideoContent_result={} def homeVideoContent(A): - if not A.homeVideoContent_result:B=A.get_found(rid=L,tid=C4,pg=1)[H][0:F(A.userConfig[Bk])];A.homeVideoContent_result[H]=B + if not A.homeVideoContent_result:B=A.get_found(rid=L,tid=BW,pg=1)[H][0:F(A.userConfig[Bl])];A.homeVideoContent_result[H]=B return A.homeVideoContent_result def categoryContent(H,tid,pg,filter,extend): J=pg;E=tid;D=extend;H.stop_heartbeat_event.set() - if E==AR: - if A1 in D:E=D[A1] + if E==AG: + if A2 in D:E=D[A2] if E.isdigit(): E=F(E) if E>10000:E-=10000;return H.get_timeline(tid=E,pg=J) - R=E;E=C4;return H.get_found(tid=E,rid=R,pg=J) + R=E;E=BW;return H.get_found(tid=E,rid=R,pg=J) R=L;return H.get_found(tid=E,rid=R,pg=J) elif E==Ad: - E=T;I=A3;U='-1' - if A1 in D:E=D[A1] + E=T;I=y;U='-1' + if A2 in D:E=D[A2] if b in D:I=D[b] if C5 in D: - if I==A3:I=A0 + if I==y:I=A1 U=D[C5] return H.get_bangumi(E,J,I,U) elif E==AI: - M=L;I=Ah + M=L;I=Ai if W in D:M=D[W] if b in D:I=D[b] if M==L and not H.userid or M=='登录':return H.get_Login_qrcode(J) return H.get_dynamic(pg=J,mid=M,order=I) - elif E==As: - I='hot';P=random.choice(H.userConfig[Av]);P=P[C] + elif E==Ae: + I='hot';P=random.choice(H.userConfig[Aw]);P=P[C] if b in D:I=D[b] if n in D:P=D[n] return H.get_channel(pg=J,cid=P,order=I) elif E==AH: - E=A3;X=L - if A1 in D:E=D[A1] + E=y;X=L + if A2 in D:E=D[A2] if K in E:a=E.split(K);E=a[0];X=a[1] return H.get_live(pg=J,parent_area_id=E,area_id=X) elif E==A6: @@ -770,30 +760,30 @@ class Spider(Spider): if N[S]==W: if V(N[G])>1:M=N[G][1][C] break - I=Ah + I=Ai if b in D:I=D[b] return H.get_up_videos(mid=M,pg=J,order=I) - elif E==BE: - e='最常访问' + elif E==BF: + e=BU if C6 in D:e=D[C6] return H.get_follow(J,e) - elif E==Ae: - O=A(H.userConfig[Bl]) - if Af in D:O=D[Af] - f=H.config[Z].get(Ae) - if O in[T,A0]:return H.get_bangumi(tid=O,pg=J,order='追番剧',season_status=B) + elif E==Af: + O=A(H.userConfig[Bm]) + if Ag in D:O=D[Ag] + f=H.config[Z].get(Af) + if O in[T,A1]:return H.get_bangumi(tid=O,pg=J,order='追番剧',season_status=B) elif O==L and f: for N in f: - if N[S]==Af: + if N[S]==Ag: if V(N[G])>1:O=N[G][2][C] break I='mtime' if b in D:I=D[b] return H.get_fav_detail(pg=J,mlid=O,order=I) - elif E==BF: - type=C4 + elif E==BG: + type=BW if r in D:type=D[r] - if type==BL:return H.get_follow(pg=J,sort=BU) + if type==BM:return H.get_follow(pg=J,sort=BV) return H.get_history(type=type,pg=J) else: g=L @@ -802,13 +792,13 @@ class Spider(Spider): if r in D:type=D[r] I=Cn if b in D:I=D[b] - Q=A(H.search_key);h=H.config[Z].get(BG) + Q=A(H.search_key);h=H.config[Z].get(BH) if not Q and h: for N in h: - if N[S]==Aw: + if N[S]==Ax: if V(N[G])>0:Q=N[G][0][C] break - if Aw in D:Q=D[Aw] + if Ax in D:Q=D[Ax] return H.get_search_content(key=Q,pg=J,duration_diff=g,order=I,type=type,ps=H.userConfig[Y]) def get_search_content(D,key,pg,duration_diff,order,type,ps): K=pg;S=AU @@ -820,20 +810,20 @@ class Spider(Spider): if not L:return F for C in L: J=B - if type==C7:G=AZ+A(C[W]).strip();T=C['upic'].strip();N='👥'+D.zh(C[Aj])+' 🎬'+D.zh(C[Ch]);J=C[A8] - elif type==AW:G=A(C[Cc]).strip();T=C[i].strip();N='👁'+D.zh(C['online'])+Ag+C[A8] + if type==C7:G=AZ+A(C[W]).strip();T=C['upic'].strip();N='👥'+D.zh(C[Ak])+' 🎬'+D.zh(C[Ch]);J=C[A8] + elif type==AW:G=A(C[Cc]).strip();T=C[i].strip();N='👁'+D.zh(C['online'])+Ah+C[A8] elif'media'in type: G=A(C[AY]).strip() if D.detailContent_args: - g=D.detailContent_args.get(B3) + g=D.detailContent_args.get(B4) if g: Z=[] - for j in D.detailContent_args[B3]:Z.append(j[Q]) + for j in D.detailContent_args[B4]:Z.append(j[Q]) if G+q in Z:continue - G=q+G;T=C[i].strip();N=A(C[Az]).strip().replace('更新至','🆕') + G=q+G;T=C[i].strip();N=A(C[A_]).strip().replace('更新至','🆕') else: - G=v+A(C[a]).strip();T=C[Ax].strip();N=A(D.second_to_time(D.str2sec(C[d]))).strip()+BO+D.zh(C[Bw]) - if S==AU:N+=Bx+D.zh(C[BT]) + G=v+A(C[a]).strip();T=C[Ay].strip();N=A(D.second_to_time(D.str2sec(C[d]))).strip()+BP+D.zh(C[Bx]) + if S==AU:N+=By+D.zh(C[Al]) if not J:J=C[R].replace(k,B).replace(l,B).replace(AJ,AK).replace('&','&') if S:J=S+J Y.append({Q:G,O:J,U:D.format_img(T),X:N}) @@ -844,47 +834,47 @@ class Spider(Spider): G=episode;L=H=B;M=G.get(a,B) if not M:M=C.detailContent_args[a] U=G.get(n,B);J=G.get(R,B) - if not J:J=G.get(By,B) + if not J:J=G.get(Bz,B) E=G.get(d,B) if not E: V=G.get(h,B) if V:E=V[d] - D=I=W=Q=B;L=C.detailContent_args.get(B4,B) + D=I=W=Q=B;L=C.detailContent_args.get(B5,B) if L: L='_ss'+L;H=G.get(m,B) if H:H='_ep'+A(H) if E and A(E).endswith(C8):E=F(E/1000) if J.isdigit():J='第'+J+C.detailContent_args[C9] D=G.get('badge',B) - if not C.session_vip.cookies and D=='会员'and C.userConfig[CS]or D=='付费'and C.userConfig[CT]:Q='_parse' - if C.session_vip.cookies and C.userConfig[CQ]:D=D.replace('会员',B) - if C.userConfig[CP]and D=='预告':D=D.replace('预告',B);W=1 + if not C.session_vip.cookies and D=='会员'and C.userConfig[CT]or D=='付费'and C.userConfig[CU]:Q='_parse' + if C.session_vip.cookies and C.userConfig[CR]:D=D.replace('会员',B) + if C.userConfig[CQ]and D=='预告':D=D.replace('预告',B);W=1 if D:D='【'+D+'】' I=G.get('long_title',B) if not D and I:I=AL+I S=J+D+I;S=S.replace(N,AC).replace(w,AD) if E:E='_dur'+A(E) - O='{0}${1}_{2}{3}{4}{5}'.format(S,M,U,L,H,E);P=C.detailContent_args.get(B5,B) - if K+A(P)==H:C.detailContent_args[B5]=O - X=C.detailContent_args.get(Ak) + O='{0}${1}_{2}{3}{4}{5}'.format(S,M,U,L,H,E);P=C.detailContent_args.get(B6,B) + if K+A(P)==H:C.detailContent_args[B6]=O + X=C.detailContent_args.get(Am) if K+A(P)==H or not P and X==AU: - C.detailContent_args[Ak]=B - if C.userConfig[Aq]:C.get_vod_hot_reply_event.clear();C.pool.submit(C.get_vod_hot_reply,M) + C.detailContent_args[Am]=B + if C.userConfig[As]:C.get_vod_hot_reply_event.clear();C.pool.submit(C.get_vod_hot_reply,M) if L: if W:return O,B if Q: - C.detailContent_args[Al]=1 + C.detailContent_args[An]=1 if I:I='【解析】'+I J+=I;T='{0}${1}_{2}{3}{4}{5}{6}'.format(J,M,U,L,H,E,Q) - if K+A(P)==H:C.detailContent_args[B5]+=N+T + if K+A(P)==H:C.detailContent_args[B6]+=N+T else:T=O return O,T else:return O def get_ugc_season(B,section,sections_len): C=section - if sections_len>1:A=B.detailContent_args[Am]+AL+C[R] - else:A=B.detailContent_args[Am] - A=A.replace(N,AC).replace(w,AD);D=C.get(BQ);E=N.join(f(B.get_normal_episodes,D));F=A,E;return F + if sections_len>1:A=B.detailContent_args[Ao]+AL+C[R] + else:A=B.detailContent_args[Ao] + A=A.replace(N,AC).replace(w,AD);D=C.get(BR);E=N.join(f(B.get_normal_episodes,D));F=A,E;return F get_vod_hot_reply_event=j.Event() def get_vod_hot_reply(G,oid): b='member';c='http://api.bilibili.com/x/v2/reply/main?type=1&ps=30&oid='+A(oid);d=G._get_sth(c,P);L=I.loads(d.text) @@ -899,32 +889,32 @@ class Spider(Spider): else:J='👦' V=J+D[b][A8]+':';g=D[W] if g==e:V='🆙'+V - h='👍'+G.zh(D[B0]);Z=D[BN][Co] + h='👍'+G.zh(D[B1]);Z=D[BO][Co] if'/note-app/'in Z:continue - F=h+AL+V+Z;F=F.replace(N,AC).replace(w,AD);F+=w+A(oid)+K+A(f)+'_notplay_reply';T.append(F);i=D[BN].get('jump_url',{}) + F=h+AL+V+Z;F=F.replace(N,AC).replace(w,AD);F+=w+A(oid)+K+A(f)+'_notplay_reply';T.append(F);i=D[BO].get('jump_url',{}) for(C,X)in i.items(): if not X.get('app_url_schema')and not X.get('pc_url'): if C.startswith('https://www.bilibili.com/'): C=A(C).split('?')[0].split(AA) while C[-1]==B:C.pop(-1) C=C[-1] - if C.startswith(Cp)or C.startswith(BV)or C.startswith(z)or C.startswith(q): + if C.startswith(Cp)or C.startswith(BX)or C.startswith(A0)or C.startswith(q): S=A(X[R]).replace(N,AC).replace(w,AD);a={Q:A(C),O:'评论:'+S} if not a in U:U.append(a) - S='快搜:'+A(C)+AL+S;F=S+BW;T.append(F) - G.detailContent_args[Ak]=N.join(T);G.detailContent_args[Cq]=U + S='快搜:'+A(C)+AL+S;F=S+BY;T.append(F) + G.detailContent_args[Am]=N.join(T);G.detailContent_args[Cq]=U G.get_vod_hot_reply_event.set() detailContent_args={} def detailContent(G,array): c=array;G.stop_heartbeat_event.set();L=c[0] - if L.startswith(BX):return G.interaction_detailContent(L) + if L.startswith(BZ):return G.interaction_detailContent(L) G.detailContent_args={} if L.startswith(Cp): try: - A8=Bg(url=L,headers=G.header,allow_redirects=False);f=A8.headers['Location'].split('?')[0].split(AA) + A8=CM(url=L,headers=G.header,allow_redirects=False);f=A8.headers['Location'].split('?')[0].split(AA) while f[-1]==B:f.pop(-1) L=f[-1] - if not L.startswith(BV,0,2):return{} + if not L.startswith(BX,0,2):return{} except:return{} id=t=j=B;G.get_vod_hot_reply_event.set() if L.startswith(Cr): @@ -932,36 +922,36 @@ class Spider(Spider): if L[1]=='tab&filter':return G.setting_tab_filter_detailContent() elif L[1]=='liveExtra':return G.setting_liveExtra_detailContent() elif L[1]=='login':A9=L[2];return G.setting_login_detailContent(A9) - elif L.startswith(v)or L.startswith(BV): + elif L.startswith(v)or L.startswith(BX): for T in L.split(K): if T.startswith(v):id=T.replace(v,B,1);j='aid='+A(id) - elif T.startswith(BV):id=T;j='bvid='+id - elif T.startswith(Af):t=T.replace(Af,B,1) - if G.userConfig[Aq]:G.detailContent_args[Ak]=B;G.get_vod_hot_reply_event.clear();G.pool.submit(G.get_vod_hot_reply,id) + elif T.startswith(BX):id=T;j='bvid='+id + elif T.startswith(Ag):t=T.replace(Ag,B,1) + if G.userConfig[As]:G.detailContent_args[Am]=B;G.get_vod_hot_reply_event.clear();G.pool.submit(G.get_vod_hot_reply,id) elif AZ in L:return G.up_detailContent(c) - elif q in L or z in L:return G.ysContent(c) + elif q in L or A0 in L:return G.ysContent(c) elif L.isdigit():return G.live_detailContent(c) AB=G.pool.submit(G.get_vod_relation,j);f='https://api.bilibili.com/x/web-interface/view/detail?'+j;AE=G._get_sth(f,P);m=I.loads(AE.text) if m[M]!=0:return{} - S=m[E]['View'];A0=S.get(BY,B) - if C0 in A0: - AF=G.find_bangumi_id(A0);u=[] + S=m[E]['View'];z=S.get(Ba,B) + if C1 in z: + AF=G.find_bangumi_id(z);u=[] for T in c:u.append(T) u[0]=AF;return G.ysContent(u) G.detailContent_args[W]=A1=A(S[AX][W]);G.detailContent_args[a]=L=S.get(a);G.pool.submit(G.get_up_info,mid=A1,data=m[E].get('Card'));n=S.get('ugc_season') if n: - G.detailContent_args[Am]=n[R];A2=n['sections'];AG=V(A2);A3=[] + G.detailContent_args[Ao]=n[R];A2=n['sections'];AG=V(A2);A3=[] for AH in A2:o=G.pool.submit(G.get_ugc_season,AH,AG);A3.append(o) - A4=m[E].get('Related');A5=S['pages'];AI=S[R].replace(k,B).replace(l,B);AJ=S[Ax];AK=S[AX][J];AL=S[Aa].strip();AM=S['tname'];AP=x.strftime('%Y%m%d',x.localtime(S[Ah]));g=S[BP];Z=[];Z.append('▶'+G.zh(g[Ay]));Z.append('💬'+G.zh(g[BT]));Z.append('👍'+G.zh(g[B0]));h=S.get('honor_reply') + A4=m[E].get('Related');A5=S['pages'];AI=S[R].replace(k,B).replace(l,B);AJ=S[Ay];AK=S[AX][J];AL=S[Aa].strip();AM=S['tname'];AP=x.strftime('%Y%m%d',x.localtime(S[Ai]));g=S[BQ];Z=[];Z.append('▶'+G.zh(g[Az]));Z.append('💬'+G.zh(g[Al]));Z.append('👍'+G.zh(g[B1]));h=S.get('honor_reply') if h:Z.insert(0,'🏅'+h['honor'][0][Aa]) - if not h or h and h['honor'][0][r]==4:Z.append('💰'+G.zh(g[B_]));Z.append('⭐'+G.zh(g[Ck])) - AQ=A(S[d]).strip();An=S[d];A6=S['rights'].get('is_stein_gate',0);i={Q:v+A(L),O:AI,U:AJ,BH:AM,CA:AP,CB:Cs,X:AQ,BZ:Ab.join(Z),Ac:AL};y=[] + if not h or h and h['honor'][0][r]==4:Z.append('💰'+G.zh(g[C0]));Z.append('⭐'+G.zh(g[Ck])) + AQ=A(S[d]).strip();An=S[d];A6=S['rights'].get('is_stein_gate',0);i={Q:v+A(L),O:AI,U:AJ,BI:AM,CA:AP,CB:Cs,X:AQ,Bb:Ab.join(Z),Ac:AL};y=[] if G.userid: AR=Ct;AS=Cu;AT='👍点赞$1_notplay_like';AU='👍🏻取消点赞$2_notplay_like';AV='👍💰投币$1_notplay_coin';AW='👍💰💰投2币$2_notplay_coin';AY='👍💰⭐三连$notplay_triple';p=[AR,AY,AT,AV,AW,AS,AU] if t:Ad=f"☆取消收藏${t}_del_notplay_fav";p.append(Ad) - for s in G.userConfig.get(CV,[]):Ae=s[D].replace(N,AC).replace(w,AD);Ag=s[C];s='⭐{}${}_add_notplay_fav'.format(Ae,Ag);p.append(s) - Ai=F(G.userConfig[Ao]) - if Ai>116:p.append('⚠️限高1080$116_notplay_vodTMPQn') + for s in G.userConfig.get(CW,[]):Ae=s[D].replace(N,AC).replace(w,AD);Af=s[C];s='⭐{}${}_add_notplay_fav'.format(Ae,Af);p.append(s) + Ah=F(G.userConfig[Aq]) + if Ah>116:p.append('⚠️限高1080$116_notplay_vodTMPQn') y=[N.join(p)] Y=[];b=[] if A5: @@ -970,68 +960,68 @@ class Spider(Spider): b=[N.join(G.pool.map(G.get_normal_episodes,A5))] if y:Y.append('做点什么');b.extend(y) if A4:Y.append('相关推荐');b.append(N.join(G.pool.map(G.get_normal_episodes,A4))) - if G.userConfig[Aq]: - G.get_vod_hot_reply_event.wait();A7=G.detailContent_args.get(Ak,B) + if G.userConfig[As]: + G.get_vod_hot_reply_event.wait();A7=G.detailContent_args.get(Am,B) if A7:Y.append('热门评论');b.extend([A7]) if n: - for o in Bh(A3):Y.append(o.result()[0]);b.append(o.result()[1]) - i[AN]=e.join(Y);i[AO]=e.join(b);i[CC]='🆙 '+AK+Cv+G.up_info[A1][Aj]+Ab+Ab.join(AB.result()) + for o in Bi(A3):Y.append(o.result()[0]);b.append(o.result()[1]) + i[AN]=e.join(Y);i[AO]=e.join(b);i[CC]='🆙 '+AK+Cv+G.up_info[A1][Ak]+Ab+Ab.join(AB.result()) if A6:G.detailContent_args['AllPt']=Y.copy();G.detailContent_args['AllPu']=b.copy();G.detailContent_args[Cw]=i.copy() - Al={H:[i]};return Al + Aj={H:[i]};return Aj def interaction_detailContent(C,array=B): F=array;F=F.split(K);V=G=0 for D in F: - if D.startswith(BX):G=D.replace(BX,B) + if D.startswith(BZ):G=D.replace(BZ,B) elif D.startswith(n):V=D.replace(n,B) - W=C.detailContent_args.get(a);c=C.detailContent_args.get(B6);J='https://api.bilibili.com/x/stein/edgeinfo_v2?aid={0}&graph_version={1}&edge_id={2}'.format(W,c,G);d=C._get_sth(J,P);f=I.loads(d.text);L=f.get(E);X={} + W=C.detailContent_args.get(a);c=C.detailContent_args.get(B7);J='https://api.bilibili.com/x/stein/edgeinfo_v2?aid={0}&graph_version={1}&edge_id={2}'.format(W,c,G);d=C._get_sth(J,P);f=I.loads(d.text);L=f.get(E);X={} if L: g=L['edges'].get('questions',[]);M=[] for Y in g: S=A(Y.get(R,B)) if S:S+=AL - for T in Y.get('choices',[]):h=A(T[m]);i=A(T[n]);j=A(T.get('option',B));M.append({Q:BX+h+K+n+i,O:'互动:'+S+j}) + for T in Y.get('choices',[]):h=A(T[m]);i=A(T[n]);j=A(T.get('option',B));M.append({Q:BZ+h+K+n+i,O:'互动:'+S+j}) C.detailContent_args[CD]=M.copy() if G: Z=C.detailContent_args['AllPt'].copy() if not M:Z[0]='互动视频' b=C.detailContent_args['AllPu'].copy();k=A(L[R]).replace(N,AC).replace(w,AD);J='{0}${1}_{2}'.format(k,W,V);b[0]=J;U=C.detailContent_args[Cw].copy();U[AN]=e.join(Z);U[AO]=e.join(b);X[H]=[U] return X - def up_detailContent(D,array):D.detailContent_args[W]=E=array[0].replace(AZ,B);D.get_up_info_event.clear();D.pool.submit(D.get_up_info,E);I=Cx;K='关注$1_notplay_follow';L='取消关注$2_notplay_follow';M='悄悄关注$3_notplay_follow';P='特别关注$-10_notplay_special_follow';R='取消特别关注$0_notplay_special_follow';F=[I,K,M,P,L,R];F=N.join(F);D.get_up_info_event.wait();C=D.up_info[E];G={Q:AZ+A(E),O:C[J]+Cg,U:C[A7],X:B,'vod_tags':'mv',BZ:'👥 '+C[Aj]+'\u3000🎬 '+C[BR]+'\u3000👍 '+C[Bz],CC:'🆙 '+C[J]+Ab+C[Ai]+Cy+A(E),Ac:C[Aa],AN:'关注TA$$$视频投稿在动态标签——筛选——上个UP,选择后查看'};G[AO]=F;S={H:[G]};return S + def up_detailContent(D,array):D.detailContent_args[W]=E=array[0].replace(AZ,B);D.get_up_info_event.clear();D.pool.submit(D.get_up_info,E);I=Cx;K='关注$1_notplay_follow';L='取消关注$2_notplay_follow';M='悄悄关注$3_notplay_follow';P='特别关注$-10_notplay_special_follow';R='取消特别关注$0_notplay_special_follow';F=[I,K,M,P,L,R];F=N.join(F);D.get_up_info_event.wait();C=D.up_info[E];G={Q:AZ+A(E),O:C[J]+Cg,U:C[A7],X:B,'vod_tags':'mv',Bb:'👥 '+C[Ak]+'\u3000🎬 '+C[BS]+'\u3000👍 '+C[B_],CC:'🆙 '+C[J]+Ab+C[Aj]+Cy+A(E),Ac:C[Aa],AN:'关注TA$$$视频投稿在动态标签——筛选——上个UP,选择后查看'};G[AO]=F;S={H:[G]};return S def setting_login_detailContent(E,key): b='检查失败';M=key;G='f';D='d';C='c';c=E.cookie_dic_tmp.get(M,B);J=B if not c:J=E.get_cookies(M) if J:J=f"【{J}】通过手机客户端扫码确认登录后点击相应按钮设置账号" else:J='【已扫码并确认登录】请点击相应按钮设置当前获取的账号为:' - R={O:'登录与设置',Ac:'通过手机客户端扫码并确认登录后,点击相应按钮设置cookie,设置后不需要管嗅探结果,直接返回二维码页面刷新,查看是否显示已登录,已登录即可重新打开APP以加载全部标签'};X=['登录$$$退出登录'];P=[];d=J+BW;f='设置为主账号,动态收藏关注等内容源于此$'+A(M)+'_master_login_setting';g='设置为备用的VIP账号,仅用于播放会员番剧$'+A(M)+'_vip_login_setting';P.append(N.join([d,f,g]));h='点击相应按钮退出账号>>>$ ';i='退出主账号$master_logout_setting';j='退出备用的VIP账号$vip_logout_setting';P.append(N.join([h,i,j]));Y=[{G:'主页站点推荐栏',C:Bk,D:{AQ:'3图',AV:'4图','6':'6图','8':'8图','10':'10图'}},{G:'视频画质',C:Ao,D:E.vod_qn_id},{G:'视频编码',C:Bm,D:E.vod_codec_id},{G:'音频码率',C:Ap,D:E.vod_audio_id},{G:'收藏默认显示',C:Bl,D:{L:'默认收藏夹',T:'追番',A0:'追剧'}},{G:'上传播放进度',C:BB,D:{L:'关','15':'开'}},{G:'直播筛选细化',C:Bn,D:{L:'关',T:'开'}}];S={G:'检查更新',C:CE};U=E.userConfig.get(AP,b);V=Z=0 - if U!=b:U='远端:'+A(E.userConfig[AP][CF]);Z=1;V=E.userConfig[AP].get(Ba) + R={O:'登录与设置',Ac:'通过手机客户端扫码并确认登录后,点击相应按钮设置cookie,设置后不需要管嗅探结果,直接返回二维码页面刷新,查看是否显示已登录,已登录即可重新打开APP以加载全部标签'};X=['登录$$$退出登录'];P=[];d=J+BY;f='设置为主账号,动态收藏关注等内容源于此$'+A(M)+'_master_login_setting';g='设置为备用的VIP账号,仅用于播放会员番剧$'+A(M)+'_vip_login_setting';P.append(N.join([d,f,g]));h='点击相应按钮退出账号>>>$ ';i='退出主账号$master_logout_setting';j='退出备用的VIP账号$vip_logout_setting';P.append(N.join([h,i,j]));Y=[{G:'主页站点推荐栏',C:Bl,D:{AR:'3图',AV:'4图','6':'6图','8':'8图','10':'10图'}},{G:'视频画质',C:Aq,D:E.vod_qn_id},{G:'视频编码',C:Bn,D:E.vod_codec_id},{G:'音频码率',C:Ar,D:E.vod_audio_id},{G:'收藏默认显示',C:Bm,D:{L:'默认收藏夹',T:'追番',A1:'追剧'}},{G:'上传播放进度',C:BC,D:{L:'关','15':'开'}},{G:'直播筛选细化',C:Bo,D:{L:'关',T:'开'}}];S={G:'检查更新',C:CE};U=E.userConfig.get(AP,b);V=Z=0 + if U!=b:U='远端:'+A(E.userConfig[AP][CF]);Z=1;V=E.userConfig[AP].get(Bc) S[D]={A(Z):U} if V:S[D][AL]=V Y.insert(0,S) for I in Y: X.append(I[G]) - if I[C]==CE:Q=E.userConfig[Bj] + if I[C]==CE:Q=E.userConfig[Bk] else:Q=I[D][A(F(E.userConfig[I[C]]))] - if Ap==I[C]:Q=A(Q).replace(C8,'k') - a=['当前:'+Q+BW] + if Ar==I[C]:Q=A(Q).replace(C8,'k') + a=['当前:'+Q+BY] for(id,W)in I[D].items(): - if Ap==I[C]:W=A(W).replace(C8,'k') + if Ar==I[C]:W=A(W).replace(C8,'k') a.append(W+w+A(id)+K+I[C]+'_setting') P.append(N.join(a)) R[AN]=e.join(X);R[AO]=e.join(P);k={H:[R]};return k def setting_tab_filter_detailContent(I): - L={O:'标签与筛选',Ac:'依次点击各标签,同一标签第一次点击为添加,第二次删除,可以返回到二维码页后重进本页查看预览,最后点击保存,未选择的将追加到末尾,如果未保存就重启app,将丢失未保存的配置'};M=[];P=[];U=[{D:Ar,C:'标签'},{D:BC,C:'推荐[分区]'},{D:BD,C:'推荐[排行榜]'},{D:y,C:AH}] + L={O:'标签与筛选',Ac:'依次点击各标签,同一标签第一次点击为添加,第二次删除,可以返回到二维码页后重进本页查看预览,最后点击保存,未选择的将追加到末尾,如果未保存就重启app,将丢失未保存的配置'};M=[];P=[];U=[{D:At,C:'标签'},{D:BD,C:'推荐[分区]'},{D:BE,C:'推荐[排行榜]'},{D:z,C:AH}] for Q in U: E=Q[D];M.append(Q[C]);F=I.userConfig.get(A(E)+AE,[]);R=B if F:R='【未保存】' else:F=I.userConfig.get(E,[]) if not F:F=I.defaultConfig.get(E) - if F and type(F[0])==A2:F=s(f(lambda x:x[D],F)) - S=['当前: '+','.join(F)+BW,f"{R}点击这里保存$_{E}_save_setting",f"点击这里恢复默认并保存$_{E}_clear_setting"];J=I.defaultConfig[E].copy() - if E==Ar and not A6 in J:J.append(A6) - elif E==y:V=I.userConfig.get(A5,[]);J.extend(V.copy()) + if F and type(F[0])==A3:F=s(f(lambda x:x[D],F)) + S=['当前: '+','.join(F)+BY,f"{R}点击这里保存$_{E}_save_setting",f"点击这里恢复默认并保存$_{E}_clear_setting"];J=I.defaultConfig[E].copy() + if E==At and not A6 in J:J.append(A6) + elif E==z:V=I.userConfig.get(A5,[]);J.extend(V.copy()) for G in J: T=A(G) - if type(G)==A2:T=G[D]+An+G[C].replace(K,An);G=G[D] + if type(G)==A3:T=G[D]+Ap+G[C].replace(K,Ap);G=G[D] S.append(f"{G}${T}_{E}_setting") P.append(N.join(S)) L[AN]=e.join(M);L[AO]=e.join(P);W={H:[L]};return W @@ -1043,33 +1033,33 @@ class Spider(Spider): L=W[G][G] if V(L)==1:continue J.append(U);M=[] - for P in L:B=A(P[D]).replace(K,'-').replace(N,AC).replace(w,AD);id=A(P[C]).replace(K,An).replace(N,AC).replace(w,AD);M.append(B+'$add_'+B+K+id+Q) + for P in L:B=A(P[D]).replace(K,'-').replace(N,AC).replace(w,AD);id=A(P[C]).replace(K,Ap).replace(N,AC).replace(w,AD);M.append(B+'$add_'+B+K+id+Q) E.append(N.join(M)) F[AN]=e.join(J);F[AO]=e.join(E);X={H:[F]};return X def get_all_season(C,season): - B=season;D=A(B[AY]);E=B[Am] - if D==C.detailContent_args[B4]:C.detailContent_args[B7]=E - F=B[i];G=B[A_][Az];H={Q:D+q,O:'系列:'+E,U:C.format_img(F),X:G};return H + B=season;D=A(B[AY]);E=B[Ao] + if D==C.detailContent_args[B5]:C.detailContent_args[B8]=E + F=B[i];G=B[B0][A_];H={Q:D+q,O:'系列:'+E,U:C.format_img(F),X:G};return H def get_bangumi_section(B,section): A=section;C=A[R].replace(N,AC).replace(w,AD);D=A[r] - if D in[1,2]and V(A['episode_ids'])==0:E=A[BQ];F=N.join(f(lambda x:B.get_normal_episodes(x)[0],E));return C,F + if D in[1,2]and V(A['episode_ids'])==0:E=A[BR];F=N.join(f(lambda x:B.get_normal_episodes(x)[0],E));return C,F def ysContent(C,array): p='rating';E=array[0] - if z in E:C.detailContent_args[B5]=E;E='ep_id='+E.replace(z,B) + if A0 in E:C.detailContent_args[B6]=E;E='ep_id='+E.replace(A0,B) elif q in E:E='season_id='+E.replace(q,B) - t='https://api.bilibili.com/pgc/view/web/season?{0}'.format(E);u=C._get_sth(t,P);v=I.loads(u.text);D=v[AM];C.detailContent_args[B4]=A(D[AY]);w=D[R];C.detailContent_args[B7]=D[Am];C.detailContent_args[C9]='集' + t='https://api.bilibili.com/pgc/view/web/season?{0}'.format(E);u=C._get_sth(t,P);v=I.loads(u.text);D=v[AM];C.detailContent_args[B5]=A(D[AY]);w=D[R];C.detailContent_args[B8]=D[Ao];C.detailContent_args[C9]='集' if D[r]in[1,4]:C.detailContent_args[C9]='话' - M=D.get(B3) - if V(M)==1:C.detailContent_args[B7]=M[0][Am];M=0 - else:C.detailContent_args[B3]=s(C.pool.map(C.get_all_season,M)) - f=D.get(BQ);g=[] + M=D.get(B4) + if V(M)==1:C.detailContent_args[B8]=M[0][Ao];M=0 + else:C.detailContent_args[B4]=s(C.pool.map(C.get_all_season,M)) + f=D.get(BR);g=[] for J in D.get('section',[]): if J:b=C.pool.submit(C.get_bangumi_section,J);g.append(b) - x=D[i];y=D['share_sub_title'];A0=D['publish']['pub_time'][0:4];A1=D['evaluate'];A2=D[A_][Aa];S=D[BP];c='▶'+C.zh(S['views'])+Ci+C.zh(S['danmakus'])+'\u3000👍'+C.zh(S['likes'])+'\u3000💰'+C.zh(S['coins'])+'\u3000❤'+C.zh(S['favorites']) + x=D[i];y=D['share_sub_title'];z=D['publish']['pub_time'][0:4];A1=D['evaluate'];A2=D[B0][Aa];S=D[BQ];c='▶'+C.zh(S['views'])+Ci+C.zh(S['danmakus'])+'\u3000👍'+C.zh(S['likes'])+'\u3000💰'+C.zh(S['coins'])+'\u3000❤'+C.zh(S['favorites']) if p in D:c=A(D[p]['score'])+'分\u3000'+c - d={Q:q+C.detailContent_args[B4],O:w,U:x,BH:y,CA:A0,CB:Cs,X:A2,BZ:c,Ac:A1};a=[];G=[] + d={Q:q+C.detailContent_args[B5],O:w,U:x,BI:y,CA:z,CB:Cs,X:A2,Bb:c,Ac:A1};a=[];G=[] if C.userid: - a=['做点什么'];G='是否追番剧$ #❤追番剧$add_notplay_zhui#💔取消追番剧$del_notplay_zhui';A3=F(C.userConfig[Ao]) + a=['做点什么'];G='是否追番剧$ #❤追番剧$add_notplay_zhui#💔取消追番剧$del_notplay_zhui';A3=F(C.userConfig[Aq]) if A3>116:G+='#⚠️限高1080$116_notplay_vodTMPQn' G=[G] if M:a.append('更多系列');G.append('更多系列在快速搜索中查看$ #') @@ -1078,18 +1068,18 @@ class Spider(Spider): for(l,m)in C.pool.map(C.get_normal_episodes,f): if m:T.append(l);L.append(m) else:W.append(l) - if T:h=[C.detailContent_args[B7]];T=[N.join(T)] + if T:h=[C.detailContent_args[B8]];T=[N.join(T)] if W:j=['预告'];W=[N.join(W)] - if not C.detailContent_args.get(Al):L=[] - if L:k=[A(C.detailContent_args[B7])+'【解析】'];L=[N.join(L)] + if not C.detailContent_args.get(An):L=[] + if L:k=[A(C.detailContent_args[B8])+'【解析】'];L=[N.join(L)] Y=k+h+j;Z=L+T+W - for b in Bh(g): + for b in Bi(g): J=b.result() if J:Y.append(J[0]);Z.append(J[1]) - n=C.detailContent_args.get(B5,B) + n=C.detailContent_args.get(B6,B) if K in n:Y=['B站']+Y;Z=[n]+Z - if C.userConfig[Aq]: - C.get_vod_hot_reply_event.wait();o=C.detailContent_args.get(Ak,B) + if C.userConfig[As]: + C.get_vod_hot_reply_event.wait();o=C.detailContent_args.get(Am,B) if o:a.append('热门评论');G.append(o) Y.insert(1,e.join(a));Z.insert(1,e.join(G));d[AN]=e.join(Y);d[AO]=e.join(Z);A4={H:[d]};return A4 def get_live_api2_playurl(O,room_id): @@ -1097,15 +1087,15 @@ class Spider(Spider): if U[M]==0: J=U[E].get(Cz,B) if J: - a=J[CG][C_];C={Bb:{'avc':L,'hevc':T},Bc:{'flv':L,'ts':T,'fmp4':A0}};C[D]=A2(O.pool.map(lambda x:(x[D],x[Aa]),J[CG]['g_qn_desc']));V=[] - for b in a:V.extend(b[Bc]) + a=J[CG][C_];C={Bd:{'avc':L,'hevc':T},Be:{'flv':L,'ts':T,'fmp4':A1}};C[D]=A3(O.pool.map(lambda x:(x[D],x[Aa]),J[CG]['g_qn_desc']));V=[] + for b in a:V.extend(b[Be]) F={} for W in V: format=A(W.get('format_name')) - for X in W[Bb]: + for X in W[Bd]: Y=A(X.get('codec_name'));c=X.get('accept_qn') for G in c: - H=format+K+Y+'$liveapi2_'+A(G)+K+C[Bc][format]+K+C[Bb][Y]+K+A(Q) + H=format+K+Y+'$liveapi2_'+A(G)+K+C[Be][format]+K+C[Bd][Y]+K+A(Q) if not F.get(C[D][G]):F[C[D][G]]=[] F[C[D][G]].append(H) for(d,e)in F.items():R.append(d);S.append(N.join(e)) @@ -1116,40 +1106,40 @@ class Spider(Spider): D=Y[E];C.detailContent_args[W]=S=A(D['uid']);C.get_up_info_event.clear();C.pool.submit(C.get_up_info,S);f=D[R].replace(k,B).replace(l,B);g=D.get(Cd);h=D.get('description');i=D.get('parent_area_name')+'--'+D.get('area_name');G=D.get(CZ,B) if G:G='开播时间:'+D.get('live_time').replace('-','.') else:G='未开播' - K={Q:F,O:f,U:g,BH:i,CA:B,CB:'bililivedanmu',BZ:'房间号:'+F+Cy+S+Ab+G,Ac:h};T=B;a=B + K={Q:F,O:f,U:g,BI:i,CA:B,CB:'bililivedanmu',Bb:'房间号:'+F+Cy+S+Ab+G,Ac:h};T=B;a=B if C.userid:T='关注Ta';j=Cx;m=Ct;n=Cu;p=[j,m,n];a=N.join(p) L=X.result().get('From',[]);V=X.result().get(o,[]) if L:q='API_1';r='flv线路原画$platform=web&quality=4_'+F+'#flv线路高清$platform=web&quality=3_'+F+'#h5线路原画$platform=h5&quality=4_'+F+'#h5线路高清$platform=h5&quality=3_'+F;L.append(q);V.append(r) if T:L.insert(1,T);V.insert(1,a) - K[AN]=e.join(L);K[AO]=e.join(V);C.get_up_info_event.wait();b=C.up_info[S];K[CC]='🆙 '+b[J]+Cv+C.zh(D.get(Cj))+Ab+b[Ai];Z[H]=[K] + K[AN]=e.join(L);K[AO]=e.join(V);C.get_up_info_event.wait();b=C.up_info[S];K[CC]='🆙 '+b[J]+Cv+C.zh(D.get(Cj))+Ab+b[Aj];Z[H]=[K] return Z search_key=B def searchContent(A,key,quick): F=quick - if not A.session_fake.cookies:A.pool.submit(A.getFakeCookie,AG) + if not A.session_fake.cookies:A.pool.submit(A.getFakeCookie,AF) for C in A.task_pool:C.cancel() A.task_pool=[];A.search_key=key;E=A.detailContent_args.get(W,B) if F and E:G=A.pool.submit(A.get_up_videos,E,1,Cf) I={AB:B,D0:'番剧: ',D1:'影视: ',C7:'用户: ',AW:'直播: '} for(type,J)in I.items():C=A.pool.submit(A.get_search_content,key=key,pg=J,duration_diff=0,order=B,type=type,ps=A.userConfig[Y]);A.task_pool.append(C) D={H:[]} - for C in Bh(A.task_pool):K=C.result().get(H,[]);D[H].extend(K);A.task_pool.remove(C) + for C in Bi(A.task_pool):K=C.result().get(H,[]);D[H].extend(K);A.task_pool.remove(C) if F: if E:D[H]=A.detailContent_args.get(CD,[])+G.result().get(H,[])+A.detailContent_args.get(Cq,[])+D[H] - else:D[H]=A.detailContent_args.get(B3,[])+D[H] + else:D[H]=A.detailContent_args.get(B4,[])+D[H] return D stop_heartbeat_event=j.Event() def start_heartbeat(C,aid,cid,ids): N=aid;L=cid;M=O=S=B for G in ids: if q in G:O=G.replace(q,B) - elif z in G:S=G.replace(z,B) + elif A0 in G:S=G.replace(A0,B) elif CH in G:M=F(G.replace(CH,B)) H='https://api.bilibili.com/x/player/v2?aid={0}&cid={1}'.format(N,L);Q=C._get_sth(H);X=I.loads(Q.text);D=X.get(E,{});T=D.get(CD,{}) - if T.get(B6): - U=T.get(B6);Y=C.detailContent_args.get(B6) - if Y!=U:C.detailContent_args[B6]=U;C.pool.submit(C.interaction_detailContent) - R=F(C.userConfig[BB]) + if T.get(B7): + U=T.get(B7);Y=C.detailContent_args.get(B7) + if Y!=U:C.detailContent_args[B7]=U;C.pool.submit(C.interaction_detailContent) + R=F(C.userConfig[BC]) if not C.userid or not R:return if not M:H='https://api.bilibili.com/x/web-interface/view?aid={0}&cid={1}'.format(N,L);Q=C._get_sth(H,P);Z=I.loads(Q.text);M=Z[E][d] J=0 @@ -1159,7 +1149,7 @@ class Spider(Spider): W=F((M-J)/R)+1;H='https://api.bilibili.com/x/click-interface/web/heartbeat';D={a:A(N),n:A(L),CI:A(C.csrf)} if O:D['sid']=A(O);D['epid']=A(S);D[r]=AV K=0;C.stop_heartbeat_event.clear() - while AG: + while AF: if K==R or C.stop_heartbeat_event.is_set():J+=K;K=0 if not K: W-=1 @@ -1168,11 +1158,11 @@ class Spider(Spider): if C.stop_heartbeat_event.is_set():break x.sleep(1);K+=1 wbi_key={} - def get_wbiKey(A,wts):D='wbi_img';C=A.fetch(CU,headers=A.header);F=C.json()[E][D]['img_url'];G=C.json()[E][D]['sub_url'];H=[46,47,18,2,53,8,23,32,15,50,10,31,58,3,45,35,27,43,5,49,33,9,42,19,29,28,14,39,12,38,41,13,37,48,7,16,24,55,40,61,26,17,0,1,60,51,30,4,22,25,54,21,56,59,6,63,57,62,11,36,20,34,44,52];I=F.split(AA)[-1].split('.')[0]+G.split(AA)[-1].split('.')[0];J=reduce(lambda s,i:s+I[i],H,B);A.wbi_key={S:J[:32],CJ:wts} + def get_wbiKey(A,wts):D='wbi_img';C=A.fetch(CV,headers=A.header);F=C.json()[E][D]['img_url'];G=C.json()[E][D]['sub_url'];H=[46,47,18,2,53,8,23,32,15,50,10,31,58,3,45,35,27,43,5,49,33,9,42,19,29,28,14,39,12,38,41,13,37,48,7,16,24,55,40,61,26,17,0,1,60,51,30,4,22,25,54,21,56,59,6,63,57,62,11,36,20,34,44,52];I=F.split(AA)[-1].split('.')[0]+G.split(AA)[-1].split('.')[0];J=reduce(lambda s,i:s+I[i],H,B);A.wbi_key={S:J[:32],CJ:wts} def encrypt_wbi(D,**C): - E=Bi(x.time()) + E=Bj(x.time()) if not D.wbi_key or abs(D.wbi_key[CJ])<30:D.get_wbiKey(E) - C[CJ]=E;C=A2(sorted(C.items()));C={C:B.join(filter(lambda chr:chr not in"!'()*",A(D)))for(C,D)in C.items()};F=CM(C);return F+'&w_rid='+hashlib.md5((F+D.wbi_key[S]).encode(encoding=At)).hexdigest() + C[CJ]=E;C=A3(sorted(C.items()));C={C:B.join(filter(lambda chr:chr not in"!'()*",A(D)))for(C,D)in C.items()};F=CN(C);return F+'&w_rid='+hashlib.md5((F+D.wbi_key[S]).encode(encoding=Au)).hexdigest() def _get_sth(A,url,_type=g): D=_type;B=url if D==AS and A.session_vip.cookies:C=A.session_vip.get(B,headers=A.header) @@ -1184,27 +1174,27 @@ class Spider(Spider): def _post_sth(A,url,data):return A.session_master.post(url,headers=A.header,data=data) def post_live_history(B,room_id):C={Cm:A(room_id),'platform':'pc',CI:A(B.csrf)};D='https://api.live.bilibili.com/xlive/web-room/v1/index/roomEntryAction';B._post_sth(url=D,data=C) def do_notplay(F,ids): - C=ids;G=F.detailContent_args.get(a);H=F.detailContent_args.get(W);I=F.detailContent_args.get(B4);D={CI:A(F.csrf)};E=B + C=ids;G=F.detailContent_args.get(a);H=F.detailContent_args.get(W);I=F.detailContent_args.get(B5);D={CI:A(F.csrf)};E=B if CK in C:F.detailContent_args[CK]=A(C[0]);return elif'follow'in C: - if C3 in C:D.update({'fids':A(H),'tagids':A(C[0])});E='https://api.bilibili.com/x/relation/tags/addUsers' + if C4 in C:D.update({'fids':A(H),'tagids':A(C[0])});E='https://api.bilibili.com/x/relation/tags/addUsers' else:D.update({'fid':A(H),'act':A(C[0])});E='https://api.bilibili.com/x/relation/modify' elif'zhui'in C:D.update({AY:A(I)});E='https://api.bilibili.com/pgc/web/follow/'+A(C[0]) - elif B0 in C:D.update({a:A(G),B0:A(C[0])});E='https://api.bilibili.com/x/web-interface/archive/like' - elif B_ in C:D.update({a:A(G),'multiply':A(C[0]),'select_like':T});E='https://api.bilibili.com/x/web-interface/coin/add' - elif'fav'in C:D.update({'rid':A(G),r:A0});D[C[1]+'_media_ids']=A(C[0]);E='https://api.bilibili.com/x/v3/fav/resource/deal' + elif B1 in C:D.update({a:A(G),B1:A(C[0])});E='https://api.bilibili.com/x/web-interface/archive/like' + elif C0 in C:D.update({a:A(G),'multiply':A(C[0]),'select_like':T});E='https://api.bilibili.com/x/web-interface/coin/add' + elif'fav'in C:D.update({'rid':A(G),r:A1});D[C[1]+'_media_ids']=A(C[0]);E='https://api.bilibili.com/x/v3/fav/resource/deal' elif'triple'in C:D.update({a:A(G)});E='https://api.bilibili.com/x/web-interface/archive/like/triple' elif'reply'in C:D.update({'oid':A(C[0]),'rpid':A(C[1]),r:T,'action':T});E='http://api.bilibili.com/x/v2/reply/action' F._post_sth(url=E,data=D) def get_cid(D,video): C=video;F='https://api.bilibili.com/x/web-interface/view?aid=%s'%A(C[a]);G=D._get_sth(F);H=I.loads(G.text);B=H[E];C[n]=B[n];C[d]=B[d] - if BY in B and C0 in B[BY]:C[z]=D.find_bangumi_id(B[BY]) + if Ba in B and C1 in B[Ba]:C[A0]=D.find_bangumi_id(B[Ba]) cookie_dic_tmp={} def get_cookies(A,key): D='https://passport.bilibili.com/x/passport-login/web/qrcode/poll?qrcode_key='+key;F=A._get_sth(D,P);B=I.loads(F.text) if B[M]==0: C=B[E][Co] - if not C:A.cookie_dic_tmp[key]=A2(A.session_fake.cookies);A.pool.submit(A.getFakeCookie) + if not C:A.cookie_dic_tmp[key]=A3(A.session_fake.cookies);A.pool.submit(A.getFakeCookie) return C return'网络错误' def set_cookie(A,key,_type): @@ -1228,8 +1218,8 @@ class Spider(Spider): B.userConfig[E]=B.userConfig[A(E)+AE].copy();B.userConfig.pop(E+AE);B.dump_config() elif H=='clear':B.userConfig[E]=B.defaultConfig[E].copy();B.userConfig.pop(A(E)+AE);B.dump_config() else: - if E==y: - F=F.split(An) + if E==z: + F=F.split(Ap) if V(F)==3:F[1]+=K+A(F[2]) F={D:F[0],C:A(F[1])} if F in G:B.userConfig[A(E)+AE].remove(F) @@ -1239,13 +1229,13 @@ class Spider(Spider): if not G:G=A.userConfig[A5]=[] if action=='clear': for E in G: - E[C]=E[C].replace(An,K) - if E in A.userConfig.get(y,[]):A.userConfig[y].remove(E) + E[C]=E[C].replace(Ap,K) + if E in A.userConfig.get(z,[]):A.userConfig[z].remove(E) if E in A.userConfig.get(F,[]):A.userConfig[F].remove(E) A.userConfig.pop(A5) elif id in s(f(lambda x:x[C],A.userConfig.get(A5,[]))): - B={D:name,C:id};A.userConfig[A5].remove(B);B[C]=id.replace(An,K) - if B in A.userConfig.get(y,[]):A.userConfig[y].remove(B) + B={D:name,C:id};A.userConfig[A5].remove(B);B[C]=id.replace(Ap,K) + if B in A.userConfig.get(z,[]):A.userConfig[z].remove(B) if B in A.userConfig.get(F,[]):A.userConfig[F].remove(B) else:B={D:name,C:id};A.userConfig[A5].append(B) A.dump_config() @@ -1253,21 +1243,21 @@ class Spider(Spider): E={A9:A.header[A9]} if F(action): D=A.userConfig.get(AP) - if D and D[CF]!=A.userConfig[Bj]: - A.userConfig[AP][Ba]='正在更新';B=D[o];C=Bg(url=B,headers=E,timeout=(3,5)) + if D and D[CF]!=A.userConfig[Bk]: + A.userConfig[AP][Bc]='正在更新';B=D[o];C=CM(url=B,headers=E,timeout=(3,5)) if C.status_code==200: H=B.split(AA) - with B9(f"{AF}/{H[-1]}",'w',encoding=At)as J:J.write(C.text) - A.userConfig[AP][Ba]='更新完成' - else:A.userConfig[AP][Ba]='更新失败' + with BA(f"{AQ}/{H[-1]}",'w',encoding=Au)as J:J.write(C.text) + A.userConfig[AP][Bc]='更新完成' + else:A.userConfig[AP][Bc]='更新失败' else: - B=A.mirror_site+CW;C=A.fetch(B,headers=E);G=I.loads(C.text);K=G.get(CF) + B='http://jm92swf.s1002.xrea.com/index.php/update.json';C=A.fetch(B,headers=E);G=I.loads(C.text);K=G.get(CF) if K:A.userConfig[AP]=G vod_qn_id={'127':'8K','126':'杜比视界','125':'HDR','120':'4K','116':'1080P60帧','112':'1080P+','80':'1080P','64':'720P'};vod_codec_id={'7':'avc','12':'hevc','13':'av1'};vod_audio_id={'30280':D2,'30232':'132000','30216':'64000'} def get_dash_media(I,video): H='SegmentBase';B=video;C=A(B.get(m));D=B.get(D3);J=B.get('codecs');L=B.get('bandwidth');M=B.get('startWithSap');E=B.get(D4);N=B.get('baseUrl').replace('&','&');O=B[H].get('indexRange');P=B[H].get('Initialization');F=E.split(AA)[0] if F==AB:Q=B.get('frameRate');R=B.get('sar');S=B.get('width');T=B.get('height');G=f"height='{T}' width='{S}' frameRate='{Q}' sar='{R}'" - elif F==Bd:U=I.vod_audio_id.get(C,D2);G=f"numChannels='2' sampleRate='{U}'" + elif F==Bf:U=I.vod_audio_id.get(C,D2);G=f"numChannels='2' sampleRate='{U}'" if D:C+=K+A(D) V=f''' @@ -1283,9 +1273,9 @@ class Spider(Spider): if E==AB: C=J=I.detailContent_args.get(CK,B) if J:J=F(J) - else:C=A(I.userConfig[Ao]);J=120 - N=A(I.userConfig[Bm]) - elif E==Bd:C=A(I.userConfig[Ap]);J=F(C);N=L + else:C=A(I.userConfig[Aq]);J=120 + N=A(I.userConfig[Bn]) + elif E==Bf:C=A(I.userConfig[Ar]);J=F(C);N=L G=s(f(lambda x:A(x[m])+K+A(x[D3]),D));H=[] if C+K+N in G:H.append(D[G.index(C+K+N)]) if not H and E==AB: @@ -1296,16 +1286,16 @@ class Spider(Spider): for P in G: O=P.split(K) if M and F(M)>F(O[0]):break - elif E==AB and F(O[0])<=J and not M or E==Bd and not M or F(O[0])==M: + elif E==AB and F(O[0])<=J and not M or E==Bf and not M or F(O[0])==M: M=F(O[0]) if E==AB and A(O[1])==N:H=[D[G.index(A(P))]];break H.append(D[G.index(A(P))]) R=f'\n \n {B.join(f(I.get_dash_media,H))}\n ';return R get_dash_event=j.Event() def get_dash(A,ja): - B=ja.get(d);C=ja.get('minBufferTime');D=A.pool.submit(A.get_dash_media_list,ja.get(AB));E=A.pool.submit(A.get_dash_media_list,ja.get(Bd));F=f'\n {D.result()}{E.result()}\n \n' - with B9(f"{AF}/playurl.mpd",'w',encoding=At)as G:G.write(F) - A.get_dash_event.set();x.sleep(3);os.remove(f"{AF}/playurl.mpd") + B=ja.get(d);C=ja.get('minBufferTime');D=A.pool.submit(A.get_dash_media_list,ja.get(AB));E=A.pool.submit(A.get_dash_media_list,ja.get(Bf));F=f'\n {D.result()}{E.result()}\n \n' + with BA(f"{AQ}/playurl.mpd",'w',encoding=Au)as G:G.write(F) + A.get_dash_event.set();x.sleep(3);os.remove(f"{AQ}/playurl.mpd") def get_durl(I,ja): H='size';C=-1;A=-1 for D in range(V(ja)): @@ -1316,34 +1306,32 @@ class Spider(Spider): if A==-1:A=0 G=ja[A][o] return G - def playerContent(C,flag,id,vipFlags): - C.stop_heartbeat_event.set();D={D5:B,o:B};F=id.split(K) + S='https://api.bilibili.com/x/v1/dm/list.so?oid=';C.stop_heartbeat_event.set();D={D5:B,o:B};F=id.split(K) if'web'in id or D6==F[0]:return C.live_playerContent(flag,id,vipFlags) if V(F)<2:return D H=F[0];G=F[1] if Cr in F: if'liveFilter'in id:id=F[2];C.add_cateManualLiveExtra(H,G,id) elif G==CE:C._checkUpdate(H) - elif G in[Ar,y,BC,BD]:S=F[2];C.set_normal_cateManual(H,G,S) + elif G in[At,z,BD,BE]:U=F[2];C.set_normal_cateManual(H,G,U) elif'login'in id:C.set_cookie(H,G) elif'logout'in id:C.unset_cookie(H) else:C.set_normal_default(H,G) return D elif'notplay'in F:C.pool.submit(C.do_notplay,F);return D elif G==n: - N={a:A(H)};C.get_cid(N);G=N[n];F.append(CH+A(N[d]));P=N.get(z) + N={a:A(H)};C.get_cid(N);G=N[n];F.append(CH+A(N[d]));P=N.get(A0) if P:id+=K+P;F.append(P) - U=C.encrypt_wbi(avid=H,cid=G,fnval=4048,fnver=0,fourk=1) - O=f"https://api.bilibili.com/x/player/wbi/playurl?{U}" + W=C.encrypt_wbi(avid=H,cid=G,fnval=4048,fnver=0,fourk=1) + O=f"https://api.bilibili.com/x/player/wbi/playurl?{W}" dan = f'https://api.bilibili.com/x/v1/dm/list.so?oid={G}' - if z in id: - if Al in id: - W=s(A for A in f(lambda x:x if z in x else AU,F)if A is not AU);O='https://www.bilibili.com/bangumi/play/'+W[0];D[o]=O;D['flag']='bilibili';D[Al]=T;D['jx']=T;D[CL]=A({A9:C.header[A9]}) - D['danmaku'] = dan - return D + if A0 in id: + if An in id:X=s(A for A in f(lambda x:x if A0 in x else AU,F)if A is not AU);O='https://www.bilibili.com/bangumi/play/'+X[0];D[o]=O;D['flag']='bilibili';D[An]=T;D['jx']=T;D[CL]=A({A9:C.header[A9]});D[Al]=S+A(G) + D['danmaku'] = dan + return D O='https://api.bilibili.com/pgc/player/web/playurl?aid={}&cid={}&fnval=4048&fnver=0&fourk=1'.format(H,G) - X=C._get_sth(O,AS);J=I.loads(X.text) + Y=C._get_sth(O,AS);J=I.loads(Y.text) if J[M]==0: if E in J:Q=J[E] elif AM in J:Q=J[AM] @@ -1354,29 +1342,28 @@ class Spider(Spider): D['danmaku'] = dan return D R=Q.get('dash') - if R:C.get_dash_event.clear();Y=C.pool.submit(C.get_dash,R);C.get_dash_event.wait();D[o]=f"{AF}/playurl.mpd" + if R:C.get_dash_event.clear();Z=C.pool.submit(C.get_dash,R);C.get_dash_event.wait();D[o]=f"{AQ}/playurl.mpd" else:D[o]=C.get_durl(Q.get('durl',{})) - D[Al]=L;D[B8]=B;D[CL]=C.header;C.pool.submit(C.start_heartbeat,H,G,F) + D[An]=L;D[B9]=B;D[CL]=C.header;D[Al]=S+A(G);C.pool.submit(C.start_heartbeat,H,G,F) D['danmaku'] = dan return D - def live_playerContent(G,flag,id,vipFlags): U='video/x-flv';T='url_info';C={D5:B,o:B};D=id.split(K) dan = f'https://api.bilibili.com/x/v1/dm/list.so?oid={D[1]}' if V(D)<2: C['danmaku'] = dan return C - if G.userid and F(G.userConfig[BB])>0:G.pool.submit(G.post_live_history,D[-1]) + if G.userid and F(G.userConfig[BC])>0:G.pool.submit(G.post_live_history,D[-1]) if D[0]==D6: W=F(D[1]);format=F(D[2]);H=F(D[3]);X=F(D[-1]);O='https://api.live.bilibili.com/xlive/web-room/v2/index/getRoomPlayInfo?room_id={0}&protocol=0,1&format={1}&codec={2}&qn={3}&ptype=8&platform=web&dolby=5&panorama=1&no_playurl=0&mask=1'.format(X,format,H,W);Q=G._get_sth(O,P);J=I.loads(Q.text) if J[M]==0: - try:N=J[E][Cz].get(CG);H=N[C_][0][Bc][0][Bb][0] + try:N=J[E][Cz].get(CG);H=N[C_][0][Be][0][Bd][0] except: C['danmaku'] = dan return C Y=A(H['base_url']);Z=A(H[T][0]['host']);a=A(H[T][0]['extra']);N=Z+Y+a;C[o]=N - if'.flv'in N:C[B8]=U - else:C[B8]=B + if'.flv'in N:C[B9]=U + else:C[B9]=B else: C['danmaku'] = dan return C @@ -1390,13 +1377,13 @@ class Spider(Spider): if R[M]==0: J=R[E];S=J['durl'] if V(S)>0:C[o]=S[0][o] - if'h5'in D[0]:C[B8]=B - else:C[B8]=U + if'h5'in D[0]:C[B9]=B + else:C[B9]=U else: C['danmaku'] = dan return C - C[Al]=L;C[CL]={D7:'https://live.bilibili.com',A9:G.header[A9]} + C[An]=L;C[CL]={D7:'https://live.bilibili.com',A9:G.header[A9]} C['danmaku'] = dan return C - config={'player':{},Z:{BE:[{S:C6,J:'分类',G:[{D:B1,C:B1},{D:C1,C:C1},{D:B2,C:B2},{D:C2,C:C2},{D:'我的粉丝',C:'我的粉丝'}]}],AI:[{S:b,J:'个人动态排序',G:[{D:'最新发布',C:Ah},{D:'最多播放',C:'click'},{D:'最多收藏',C:'stow'},{D:'最早发布',C:Ce}]}],Ad:[{S:A1,J:'分类',G:[{D:'番剧',C:T},{D:'国创',C:AV},{D:'电影',C:A0},{D:'电视剧',C:'5'},{D:'纪录片',C:AQ},{D:'综艺',C:'7'}]},{S:b,J:'排序',G:[{D:A3,C:A3},{D:'播放数量',C:A0},{D:'更新时间',C:L},{D:'最高评分',C:AV},{D:'弹幕数量',C:T},{D:'追看人数',C:AQ},{D:'开播时间',C:'5'},{D:'上映时间',C:'6'}]},{S:C5,J:'付费',G:[{D:'全部',C:'-1'},{D:'免费',C:T},{D:'付费',C:'2%2C6'},{D:'大会员',C:'4%2C6'}]}],As:[{S:b,J:'排序',G:[{D:'近期热门',C:'hot'},{D:'月播放量',C:Ay},{D:'最新投稿',C:'new'},{D:'频道精选',C:Cl}]}],Ae:[{S:b,J:'排序',G:[{D:'收藏时间',C:'mtime'},{D:'播放量',C:Ay},{D:'投稿时间',C:'pubtime'}]}],BF:[{S:r,J:'分类',G:[{D:'视频',C:BM},{D:AH,C:AW},{D:BL,C:BL},{D:BS,C:BS}]}],BG:[{S:r,J:'类型',G:[{D:'视频',C:AB},{D:'番剧',C:D0},{D:Ad,C:D1},{D:AH,C:AW},{D:'用户',C:C7}]},{S:b,J:'视频排序',G:[{D:'综合排序',C:Cn},{D:'最新发布',C:Ah},{D:'最多点击',C:'click'},{D:'最多收藏',C:'stow'},{D:'最多弹幕',C:'dm'}]},{S:d,J:'视频时长',G:[{D:'全部',C:L},{D:'60分钟以上',C:AV},{D:'30~60分钟',C:AQ},{D:'5~30分钟',C:A0},{D:'5分钟以下',C:T}]}]}};header={'Origin':Bt,D7:Bt,A9:'Mozilla/5.0 (Macintosh; Intel Mac OS X 13_2_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Safari/605.1.15'} + config={'player':{},Z:{BF:[{S:C6,J:'分类',G:[{D:B2,C:B2},{D:BU,C:BU},{D:C2,C:C2},{D:B3,C:B3},{D:C3,C:C3},{D:'我的粉丝',C:'我的粉丝'}]}],AI:[{S:b,J:'别人投稿排序',G:[{D:'最新发布',C:Ai},{D:'最多播放',C:'click'},{D:'最多收藏',C:'stow'},{D:'最早发布',C:Ce}]}],Ad:[{S:A2,J:'分类',G:[{D:'番剧',C:T},{D:'国创',C:AV},{D:'电影',C:A1},{D:'电视剧',C:'5'},{D:'纪录片',C:AR},{D:'综艺',C:'7'}]},{S:b,J:'排序',G:[{D:y,C:y},{D:'播放数量',C:A1},{D:'更新时间',C:L},{D:'最高评分',C:AV},{D:'弹幕数量',C:T},{D:'追看人数',C:AR},{D:'开播时间',C:'5'},{D:'上映时间',C:'6'}]},{S:C5,J:'付费',G:[{D:'全部',C:'-1'},{D:'免费',C:T},{D:'付费',C:'2%2C6'},{D:'大会员',C:'4%2C6'}]}],Ae:[{S:b,J:'排序',G:[{D:'近期热门',C:'hot'},{D:'月播放量',C:Az},{D:'最新投稿',C:'new'},{D:'频道精选',C:Cl}]}],Af:[{S:b,J:'排序',G:[{D:'收藏时间',C:'mtime'},{D:'播放量',C:Az},{D:'投稿时间',C:'pubtime'}]}],BG:[{S:r,J:'分类',G:[{D:'全部',C:BW},{D:'视频',C:BN},{D:AH,C:AW},{D:BM,C:BM},{D:BT,C:BT}]}],BH:[{S:r,J:'类型',G:[{D:'视频',C:AB},{D:'番剧',C:D0},{D:Ad,C:D1},{D:AH,C:AW},{D:'用户',C:C7}]},{S:b,J:'视频排序',G:[{D:'综合排序',C:Cn},{D:'最多点击',C:'click'},{D:'最新发布',C:Ai},{D:'最多收藏',C:'stow'},{D:'最多弹幕',C:'dm'}]},{S:d,J:'视频时长',G:[{D:'全部',C:L},{D:'60分钟以上',C:AV},{D:'30~60分钟',C:AR},{D:'5~30分钟',C:A1},{D:'5分钟以下',C:T}]}]}};header={'Origin':Bu,D7:Bu,A9:'Mozilla/5.0 (Macintosh; Intel Mac OS X 13_2_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Safari/605.1.15'} def localProxy(A,param):return[200,'video/MP2T',action,B] \ No newline at end of file