上传文件至 521/lib

This commit is contained in:
2025-09-08 06:49:52 +02:00
parent 4d79c23a33
commit 6377c6a2a7
5 changed files with 1920 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
{
"class":[
{"type_name":"幼儿识字","type_id":"幼儿识字"},
{"type_name":"第一课:自我介绍","type_id":"少儿口才第一课:自我介绍"},
{"type_name":"第二课:站姿训练","type_id":"少儿口才主持人第二课:站姿训练"},
{"type_name":"第三课:坐姿训练","type_id":"少儿口才第三课:坐姿训练"},
{"type_name":"第四课:眼神训练","type_id":"少儿口才演讲第四课:眼神训练"},
{"type_name":"第五课:口部操","type_id":"少儿口才第五课:咋给娃们讲口部操"},
{"type_name":"少儿口才_01","type_id":"01_01:少儿口才天天练_01"},
{"type_name":"少儿口才_02","type_id":"01_02:少儿口才"},
{"type_name":"少儿口才_03","type_id":"01_03:少儿口才"},
{"type_name":"少儿口才_04","type_id":"01_04:少儿口才"},
{"type_name":"【少儿口才训练系列】","type_id":"【少儿口才训练系列】"}
]
}
Binary file not shown.
+33
View File
@@ -0,0 +1,33 @@
{
"作者": "🐰兔爷🐇",
"站名": "厂长资源",
"编码": "UTF-8",
"发布地址": "https://www.cz01.vip/",
"请求头": "User-Agent$MOBILE_UA",
"主页url": "https://www.czzymovie.com",
"首页": "200",
"起始页": "1",
"分类url": "/{cateId}/page/{catePg};;rcRA",
"分类": "豆瓣电影Top250$dbtop250#最新电影$zuixindianying#剧场版$dongmanjuchangban#电影$movie_bt/movie_bt_series/dyy#电视剧$movie_bt/movie_bt_series/dianshiju#俄罗斯电影$movie_bt/movie_bt_series/eluosidianying#加拿大电影$movie_bt/movie_bt_series/jianadadianying#动画$movie_bt/movie_bt_series/dohua#华语电影$movie_bt/movie_bt_series/huayudianying#印度电影$movie_bt/movie_bt_series/yindudianying#国产剧$movie_bt/movie_bt_series/guochanju#日剧$movie_bt/movie_bt_series/rj#日本电影$movie_bt/movie_bt_series/ribendianying#欧美电影$movie_bt/movie_bt_series/meiguodianying#海外剧(其他)$movie_bt/movie_bt_series/hwj#美剧$movie_bt/movie_bt_series/mj#韩剧$movie_bt/movie_bt_series/hj#韩国电影$movie_bt/movie_bt_series/hanguodianying#番剧$fanju",
"数组": "<li><a&&</a></h",
"图片": "data-original=\"&&\"",
"标题": "alt=\"&&\"",
"副标题": "jidi\"><span>&&<+-+furk\">&&<",
"链接": "href=\"&&\"",
"影片年代": "年份:&&</li",
"影片地区": "地区:&&</li",
"影片类型": "类型:&&</li",
"状态": "上映:&&</li",
"导演": "导演:&&</li",
"主演": "主演:&&</li",
"简介": "👶+yp_context\">&&</div",
"线路数组": "<div class=\"ypxingq&&</div",
"线路标题": "厂长专线",
"播放数组": "<div class=\"paly_list_btn&&</div",
"播放列表": "<a&&/a>",
"播放标题": ">&&<",
"播放链接": "href=\"&&\"",
"搜索url": "/daoyongjiek0shibushiyoubing?q={wd}&f=_all&p={pg}",
"搜索模式": "1",
"筛选": "1"
}
+1494
View File
@@ -0,0 +1,1494 @@
{ "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt",
"class": [
{
"type_name": "小姐姐",
"type_id": "小姐姐"
},
{
"type_name": "野外求生",
"type_id": "野外求生"
},
{
"type_name": "百家讲坛",
"type_id": "百家讲坛"
},
{
"type_name": "KEEP",
"type_id": "keep健身"
},
{
"type_name": "游泳",
"type_id": "游泳教学"
},
{
"type_name": "英雄联盟",
"type_id": "英雄联盟"
},
{
"type_name": "王者荣耀",
"type_id": "王者荣耀"
},
{
"type_name": "纪录片",
"type_id": "纪录片"
},
{
"type_name": "Discovery探索频道",
"type_id": "Discovery探索频道"
},
{
"type_name": "真人秀",
"type_id": "真人秀"
},
{
"type_name": "电影解说",
"type_id": "电影解说"
},
{
"type_name": "挑战",
"type_id": "挑战"
},
{
"type_name": "露营",
"type_id": "露营"
},
{
"type_name": "蹦极",
"type_id": "蹦极"
},
{
"type_name": "白噪音",
"type_id": "白噪音"
},
{
"type_name": "美食",
"type_id": "美食"
},
{
"type_name": "体育",
"type_id": "体育"
},
{
"type_name": "相声小品",
"type_id": "相声小品"
},
{
"type_name": "足球",
"type_id": "足球"
},
{
"type_name": "篮球",
"type_id": "篮球"
},
{
"type_name": "动物世界",
"type_id": "动物世界"
},
{
"type_name": "凡人修仙传",
"type_id": "凡人修仙传"
}
],
"filters": {
"搞笑": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"TVBox": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"球星": [
{
"key": "tid",
"name": "分类",
"value": [
{
"n": "全部",
"v": "球星"
},
{
"n": "梅西",
"v": "梅西"
},
{
"n": "C罗",
"v": "C罗"
},
{
"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": "NBA",
"v": "NBA"
},
{
"n": "詹姆斯",
"v": "詹姆斯"
},
{
"n": "库里",
"v": "库里"
},
{
"n": "杜兰特",
"v": "杜兰特"
},
{
"n": "UFC",
"v": "UFC"
},
{
"n": "斯诺克",
"v": "斯诺克"
},
{
"n": "网球",
"v": "网球"
},
{
"n": "F1",
"v": "F1"
},
{
"n": "高尔夫",
"v": "高尔夫"
}
]
},
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"相声小品": [
{
"key": "tid",
"name": "分类",
"value": [
{
"n": "全部",
"v": "相声小品"
},
{
"n": "单口相声",
"v": "单口相声"
},
{
"n": "群口相声",
"v": "群口相声"
},
{
"n": "德云社",
"v": "德云社"
},
{
"n": "青曲社",
"v": "青曲社"
},
{
"n": "郭德纲",
"v": "郭德纲"
},
{
"n": "岳云鹏",
"v": "岳云鹏"
},
{
"n": "曹云金",
"v": "曹云金"
},
{
"n": "评书",
"v": "评书"
},
{
"n": "小曲",
"v": "小曲"
},
{
"n": "二人转",
"v": "二人转"
},
{
"n": "春晚小品",
"v": "春晚小品"
},
{
"n": "赵本山",
"v": "赵本山"
},
{
"n": "陈佩斯",
"v": "陈佩斯"
},
{
"n": "冯巩",
"v": "冯巩"
},
{
"n": "宋小宝",
"v": "宋小宝"
},
{
"n": "赵丽蓉",
"v": "赵丽蓉"
},
{
"n": "郭达",
"v": "郭达"
},
{
"n": "潘长江",
"v": "潘长江"
},
{
"n": "郭冬临",
"v": "郭冬临"
},
{
"n": "严顺开",
"v": "严顺开"
},
{
"n": "文松",
"v": "文松"
},
{
"n": "开心麻花",
"v": "开心麻花"
},
{
"n": "屌丝男士",
"v": "屌丝男士"
},
{
"n": "喜剧综艺",
"v": "喜剧综艺"
}
]
},
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"儿童": [
{
"key": "tid",
"name": "分类",
"value": [
{
"n": "全部",
"v": "儿童"
},
{
"n": "教育",
"v": "儿童教育"
},
{
"n": "歌曲",
"v": "儿童歌曲"
},
{
"n": "舞蹈",
"v": "儿童舞蹈"
},
{
"n": "成语故事",
"v": "儿童成语故事"
},
{
"n": "音乐",
"v": "儿童音乐"
},
{
"n": "儿童MV",
"v": "儿童MV"
},
{
"n": "贝乐虎",
"v": "贝乐虎"
},
{
"n": "宝宝巴士",
"v": "宝宝巴士"
},
{
"n": "儿童好声音",
"v": "儿童好声音"
}
]
},
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"动物世界": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"戏曲": [
{
"key": "tid",
"name": "分类",
"value": [
{
"n": "全部",
"v": "戏曲"
},
{
"n": "京剧",
"v": "京剧"
},
{
"n": "越剧",
"v": "越剧"
},
{
"n": "黄梅戏",
"v": "黄梅戏"
},
{
"n": "评剧",
"v": "评剧"
},
{
"n": "豫剧",
"v": "豫剧"
},
{
"n": "昆曲",
"v": "昆曲"
},
{
"n": "高腔",
"v": "高腔"
},
{
"n": "梆子腔",
"v": "梆子腔"
},
{
"n": "河北梆子",
"v": "河北梆子"
},
{
"n": "晋剧",
"v": "晋剧"
},
{
"n": "蒲剧",
"v": "蒲剧"
},
{
"n": "雁剧",
"v": "雁剧"
},
{
"n": "上党梆子",
"v": "上党梆子"
},
{
"n": "秦腔",
"v": "秦腔"
},
{
"n": "武安平调",
"v": "武安平调"
},
{
"n": "二人台",
"v": "二人台"
},
{
"n": "吉剧",
"v": "吉剧"
},
{
"n": "龙江剧",
"v": "龙江剧"
},
{
"n": "越调",
"v": "越调"
},
{
"n": "河南曲剧",
"v": "河南曲剧"
},
{
"n": "山东梆子",
"v": "山东梆子"
},
{
"n": "淮剧",
"v": "淮剧"
},
{
"n": "沪剧",
"v": "沪剧"
},
{
"n": "滑稽戏",
"v": "滑稽戏"
},
{
"n": "婺剧",
"v": "婺剧"
},
{
"n": "绍剧",
"v": "绍剧"
},
{
"n": "徽剧",
"v": "徽剧"
},
{
"n": "闽剧",
"v": "闽剧"
},
{
"n": "莆仙戏",
"v": "莆仙戏"
},
{
"n": "梨园戏",
"v": "梨园戏"
},
{
"n": "高甲戏",
"v": "高甲戏"
},
{
"n": "赣剧",
"v": "赣剧"
},
{
"n": "采茶戏",
"v": "采茶戏"
},
{
"n": "汉剧",
"v": "汉剧"
},
{
"n": "湘剧",
"v": "湘剧"
},
{
"n": "祁剧",
"v": "祁剧"
},
{
"n": "湖南花鼓戏",
"v": "湖南花鼓戏"
},
{
"n": "粤剧",
"v": "粤剧"
},
{
"n": "潮剧",
"v": "潮剧"
},
{
"n": "桂剧",
"v": "桂剧"
},
{
"n": "彩调",
"v": "彩调"
},
{
"n": "壮剧",
"v": "壮剧"
},
{
"n": "川剧",
"v": "川剧"
},
{
"n": "黔剧",
"v": "黔剧"
},
{
"n": "滇剧",
"v": "滇剧"
},
{
"n": "傣剧",
"v": "傣剧"
},
{
"n": "藏剧",
"v": "藏剧"
},
{
"n": "皮影戏",
"v": "皮影戏"
}
]
},
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"窗白噪音": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"演唱会": [
{
"key": "tid",
"name": "分类",
"value": [
{
"n": "全部",
"v": "演唱会"
},
{
"n": "周杰伦",
"v": "周杰伦"
},
{
"n": "陈奕迅",
"v": "陈奕迅"
},
{
"n": "Beyond",
"v": "Beyond"
},
{
"n": "刘德华",
"v": "刘德华"
},
{
"n": "郭富城",
"v": "郭富城"
},
{
"n": "张学友",
"v": "张学友"
},
{
"n": "黎明",
"v": "黎明"
},
{
"n": "李宗盛",
"v": "李宗盛"
},
{
"n": "邓丽君",
"v": "邓丽君"
},
{
"n": "朴树",
"v": "朴树"
},
{
"n": "林子祥",
"v": "林子祥"
},
{
"n": "任贤齐",
"v": "任贤齐"
},
{
"n": "张信哲",
"v": "张信哲"
},
{
"n": "孙楠",
"v": "孙楠"
},
{
"n": "张宇",
"v": "张宇"
},
{
"n": "周华健",
"v": "周华健"
},
{
"n": "蔡依林",
"v": "蔡依林"
},
{
"n": "薛之谦",
"v": "薛之谦"
},
{
"n": "洛天依",
"v": "洛天依"
},
{
"n": "初音未来",
"v": "初音未来"
},
{
"n": "许嵩",
"v": "许嵩"
},
{
"n": "戴佩妮",
"v": "戴佩妮"
},
{
"n": "邓紫棋",
"v": "邓紫棋"
},
{
"n": "张韶涵",
"v": "张韶涵"
},
{
"n": "蔡健雅",
"v": "蔡健雅"
},
{
"n": "莫文蔚",
"v": "莫文蔚"
},
{
"n": "刘若英",
"v": "刘若英"
},
{
"n": "周深",
"v": "周深"
},
{
"n": "毛不易",
"v": "毛不易"
},
{
"n": "汪苏泷",
"v": "汪苏泷"
},
{
"n": "李宇春",
"v": "李宇春"
},
{
"n": "徐佳莹",
"v": "徐佳莹"
},
{
"n": "杨宗纬",
"v": "杨宗纬"
},
{
"n": "胡彦斌",
"v": "胡彦斌"
},
{
"n": "杨千嬅",
"v": "杨千嬅"
},
{
"n": "张靓颖",
"v": "张靓颖"
},
{
"n": "李荣浩",
"v": "李荣浩"
},
{
"n": "杨丞琳",
"v": "杨丞琳"
},
{
"n": "林志炫",
"v": "林志炫"
},
{
"n": "陶喆",
"v": "陶喆"
},
{
"n": "胡夏",
"v": "胡夏"
},
{
"n": "李玉刚",
"v": "李玉刚"
},
{
"n": "弦子",
"v": "弦子"
},
{
"n": "陈小春",
"v": "陈小春"
},
{
"n": "萧亚轩",
"v": "萧亚轩"
},
{
"n": "鹿晗",
"v": "鹿晗"
},
{
"n": "纵贯线",
"v": "纵贯线"
},
{
"n": "许巍",
"v": "许巍"
},
{
"n": "林俊杰",
"v": "林俊杰"
},
{
"n": "赵雷",
"v": "赵雷"
},
{
"n": "谭咏麟",
"v": "谭咏麟"
},
{
"n": "凤凰传奇",
"v": "凤凰传奇"
},
{
"n": "容祖儿",
"v": "容祖儿"
},
{
"n": "周传雄",
"v": "周传雄"
},
{
"n": "SHE",
"v": "SHE"
},
{
"n": "苏打绿",
"v": "苏打绿"
},
{
"n": "五月天",
"v": "五月天"
},
{
"n": "张国荣",
"v": "张国荣"
},
{
"n": "梅艳芳",
"v": "梅艳芳"
},
{
"n": "孙燕姿",
"v": "孙燕姿"
},
{
"n": "李健",
"v": "李健"
},
{
"n": "华晨宇",
"v": "华晨宇"
},
{
"n": "袁娅维",
"v": "袁娅维"
},
{
"n": "大张伟",
"v": "大张伟"
},
{
"n": "TFBOYS",
"v": "TFBOYS"
},
{
"n": "王俊凯",
"v": "王俊凯"
},
{
"n": "易烊千玺",
"v": "易烊千玺"
},
{
"n": "王源",
"v": "王源"
},
{
"n": "田馥甄",
"v": "田馥甄"
},
{
"n": "小虎队",
"v": "小虎队"
},
{
"n": "张杰",
"v": "张杰"
},
{
"n": "王菲",
"v": "王菲"
},
{
"n": "伍佰",
"v": "伍佰"
},
{
"n": "刀郎",
"v": "刀郎"
},
{
"n": "草蜢",
"v": "草蜢"
},
{
"n": "潘玮柏",
"v": "潘玮柏"
},
{
"n": "梁静茹",
"v": "梁静茹"
},
{
"n": "林宥嘉",
"v": "林宥嘉"
},
{
"n": "蔡徐坤",
"v": "蔡徐坤"
},
{
"n": "周慧敏",
"v": "周慧敏"
},
{
"n": "李圣杰",
"v": "李圣杰"
},
{
"n": "张惠妹",
"v": "张惠妹"
},
{
"n": "萧敬腾",
"v": "萧敬腾"
},
{
"n": "周笔畅",
"v": "周笔畅"
},
{
"n": "焦迈奇",
"v": "焦迈奇"
},
{
"n": "尤长靖",
"v": "尤长靖"
},
{
"n": "郑中基",
"v": "郑中基"
},
{
"n": "谭维维",
"v": "谭维维"
},
{
"n": "陈慧娴",
"v": "陈慧娴"
},
{
"n": "张艺兴",
"v": "张艺兴"
},
{
"n": "王嘉尔",
"v": "王嘉尔"
},
{
"n": "刘宪华",
"v": "刘宪华"
},
{
"n": "张敬轩",
"v": "张敬轩"
},
{
"n": "李克勤",
"v": "李克勤"
},
{
"n": "阿杜",
"v": "阿杜"
},
{
"n": "郭静",
"v": "郭静"
},
{
"n": "崔健",
"v": "崔健"
},
{
"n": "庾澄庆",
"v": "庾澄庆"
},
{
"n": "汪峰",
"v": "汪峰"
},
{
"n": "那英",
"v": "那英"
},
{
"n": "杨坤",
"v": "杨坤"
},
{
"n": "叶倩文",
"v": "叶倩文"
},
{
"n": "王心凌",
"v": "王心凌"
},
{
"n": "张震岳",
"v": "张震岳"
},
{
"n": "韩红",
"v": "韩红"
},
{
"n": "齐秦",
"v": "齐秦"
},
{
"n": "张雨生",
"v": "张雨生"
},
{
"n": "黄品源",
"v": "黄品源"
},
{
"n": "林忆莲",
"v": "林忆莲"
},
{
"n": "丁当",
"v": "丁当"
},
{
"n": "郑智化",
"v": "郑智化"
},
{
"n": "李玟",
"v": "李玟"
},
{
"n": "谢霆锋",
"v": "谢霆锋"
},
{
"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": "By2",
"v": "By2"
},
{
"n": "郁可唯",
"v": "郁可唯"
},
{
"n": "宋亚森",
"v": "宋亚森"
},
{
"n": "费玉清",
"v": "费玉清"
},
{
"n": "费翔",
"v": "费翔"
},
{
"n": "金志文",
"v": "金志文"
},
{
"n": "黄家强",
"v": "黄家强"
},
{
"n": "方大同",
"v": "方大同"
},
{
"n": "吴克群",
"v": "吴克群"
},
{
"n": "罗大佑",
"v": "罗大佑"
},
{
"n": "光良",
"v": "光良"
},
{
"n": "田震",
"v": "田震"
},
{
"n": "凤飞飞",
"v": "凤飞飞"
},
{
"n": "谭晶",
"v": "谭晶"
},
{
"n": "王杰",
"v": "王杰"
},
{
"n": "羽泉",
"v": "羽泉"
},
{
"n": "金池",
"v": "金池"
},
{
"n": "屠洪刚",
"v": "屠洪刚"
},
{
"n": "戴荃",
"v": "戴荃"
},
{
"n": "郭采洁",
"v": "郭采洁"
},
{
"n": "罗志祥",
"v": "罗志祥"
},
{
"n": "王力宏",
"v": "王力宏"
},
{
"n": "林肯公园",
"v": "林肯公园"
},
{
"n": "迈克尔杰克逊",
"v": "迈克尔杰克逊"
},
{
"n": "泰勒·斯威夫特",
"v": "泰勒·斯威夫特"
},
{
"n": "阿黛尔",
"v": "阿黛尔"
},
{
"n": "BIGBANG",
"v": "BIGBANG"
},
{
"n": "LadyGaga",
"v": "LadyGaga"
},
{
"n": "贾斯丁比伯",
"v": "贾斯丁比伯"
},
{
"n": "中岛美雪",
"v": "中岛美雪"
},
{
"n": "仓木麻衣",
"v": "仓木麻衣"
},
{
"n": "后街男孩",
"v": "后街男孩"
},
{
"n": "布兰妮",
"v": "布兰妮"
},
{
"n": "夜愿乐队",
"v": "夜愿乐队"
}
]
},
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
]
}
}
+378
View File
@@ -0,0 +1,378 @@
globalThis.getRandomItem = function(items) {
return items[Math.random() * items.length | 0];
}
var rule = {
title: '采集之王[合]',
author: '道长',
version: '20240706 beta17',
update_info: ``.trim(),
host: '',
homeTid: '',
homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}',
detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid',
searchUrl: '/api.php/provide/vod/?wd=**&pg=#TruePage##page=fypage',
classUrl: '/api.php/provide/vod/',
url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyfilter',
filter_url: '{{fl.类型}}',
headers: {
'User-Agent': 'MOBILE_UA'
},
timeout: 5000,
limit: 20,
search_limit: 10,
searchable: 1,
quickSearch: 0,
filterable: 1,
play_parse: true,
parse_url: '',
search_match: false,
search_pic: true,
预处理: $js.toString(() => {
function getClasses(item) {
let classes = [];
if (item.class_name && item.class_url) {
if (!/&|电影|电视剧|综艺|动漫[\u4E00-\u9FA5]+/.test(item.class_name)) {
try {
item.class_name = ungzip(item.class_name)
} catch (e) {
log(`不识别的class_name导致gzip解码失败:${e}`)
return classes
}
}
let names = item.class_name.split('&');
let urls = item.class_url.split('&');
let cnt = Math.min(names.length, urls.length);
for (let i = 0; i < cnt; i++) {
classes.push({
'type_id': urls[i],
'type_name': names[i]
});
}
}
return classes
}
if (typeof(batchFetch) === 'function') {
rule.search_limit = 16;
log('当前程序支持批量请求[batchFetch],搜索限制已设置为16');
}
let _url = rule.params;
log(`传入参数:${_url}`);
if (_url && typeof(_url) === 'string' && /^(http|file)/.test(_url)) {
if (_url.includes('$')) {
let _url_params = _url.split('$');
_url = _url_params[0];
rule.search_match = !!(_url_params[1]);
if (_url_params.length > 2) {
rule.search_pic = !!(_url_params[2]);
}
}
let html = request(_url);
let json = JSON.parse(html);
let _classes = [];
rule.filter = {};
rule.filter_def = {};
json.forEach(it => {
let _obj = {
type_name: it.name,
type_id: it.url,
parse_url: it.parse_url || '',
searchable: it.searchable !== 0,
api: it.api || '',
cate_exclude: it.cate_exclude || '',
cate_excludes: it.cate_excludes || [],
};
_classes.push(_obj);
try {
let json1 = [];
if (it.class_name && it.class_url) {
json1 = getClasses(it);
} else {
json1 = JSON.parse(request(urljoin(_obj.type_id, _obj.api || rule.classUrl))).class;
}
if (_obj.cate_excludes && Array.isArray(_obj.cate_excludes) && _obj.cate_excludes.length > 0) {
json1 = json1.filter(cl => !_obj.cate_excludes.includes(cl.type_name));
} else if (_obj.cate_exclude) {
json1 = json1.filter(cl => !new RegExp(_obj.cate_exclude, 'i').test(cl.type_name));
}
rule.filter[_obj.type_id] = [{
"key": "类型",
"name": "类型",
"value": json1.map(i => {
return {
"n": i.type_name,
'v': i.type_id
}
})
}];
if (json1.length > 0) {
rule.filter_def[it.url] = {
"类型": json1[0].type_id
};
}
} catch (e) {
rule.filter[it.url] = [{
"key": "类型",
"name": "类型",
"value": [{
"n": "全部",
"v": ""
}]
}];
}
});
rule.classes = _classes;
}
}),
class_parse: $js.toString(() => {
input = rule.classes;
}),
推荐: $js.toString(() => {
VODS = [];
if (rule.classes) {
let randomClass = getRandomItem(rule.classes);
let _url = urljoin(randomClass.type_id, input);
if (randomClass.api) {
_url = _url.replace('/api.php/provide/vod/', randomClass.api)
}
try {
let html = request(_url, {
timeout: rule.timeout
});
let json = JSON.parse(html);
VODS = json.list;
VODS.forEach(it => {
it.vod_id = randomClass.type_id + '$' + it.vod_id;
it.vod_remarks = it.vod_remarks + '|' + randomClass.type_name;
});
} catch (e) {}
}
}),
一级: $js.toString(() => {
VODS = [];
if (rule.classes) {
let _url = urljoin(MY_CATE, input);
let current_vod = rule.classes.find(item => item.type_id === MY_CATE);
if (current_vod && current_vod.api) {
_url = _url.replace('/api.php/provide/vod/', current_vod.api)
}
let html = request(_url);
let json = JSON.parse(html);
VODS = json.list;
VODS.forEach(it => {
it.vod_id = MY_CATE + '$' + it.vod_id
});
}
}),
二级: $js.toString(() => {
VOD = {};
if (orId === 'update_info') {
VOD = {
vod_content: rule.update_info.trim(),
vod_name: '更新日志',
type_name: '更新日志',
vod_pic: 'https://resource-cdn.tuxiaobei.com/video/FtWhs2mewX_7nEuE51_k6zvg6awl.png',
vod_remarks: `版本:${rule.version}`,
vod_play_from: '道长在线',
vod_play_url: '随机小视频$http://api.yujn.cn/api/zzxjj.php',
};
} else {
if (rule.classes) {
let _url = urljoin(fyclass, input);
let current_vod = rule.classes.find(item => item.type_id === fyclass);
if (current_vod && current_vod.api) {
_url = _url.replace('/api.php/provide/vod/', current_vod.api)
}
let html = request(_url);
let json = JSON.parse(html);
let data = json.list;
VOD = data[0];
if (current_vod && current_vod.type_name) {
VOD.vod_play_from = VOD.vod_play_from.split('$$$').map(it => current_vod.type_name + '|' + it).join('$$$')
}
}
}
}),
搜索: $js.toString(() => {
VODS = [];
if (rule.classes) {
let canSearch = rule.classes.filter(it => it.searchable);
let page = Number(MY_PAGE);
page = (MY_PAGE - 1) % Math.ceil(canSearch.length / rule.search_limit) + 1;
let truePage = Math.ceil(MY_PAGE / Math.ceil(canSearch.length / rule.search_limit));
if (rule.search_limit) {
let start = (page - 1) * rule.search_limit;
let end = page * rule.search_limit;
let t1 = new Date().getTime();
let searchMode = typeof(batchFetch) === 'function' ? '批量' : '单个';
log('start:' + start);
log('end:' + end);
log('搜索模式:' + searchMode);
log('精准搜索:' + rule.search_match);
log('强制获取图片:' + rule.search_pic);
if (start < canSearch.length) {
let search_classes = canSearch.slice(start, end);
let urls = [];
search_classes.forEach(it => {
let _url = urljoin(it.type_id, input);
if (it.api) {
_url = _url.replace('/api.php/provide/vod/', it.api)
}
_url = _url.replace("#TruePage#", "" + truePage);
urls.push(_url);
});
let results_list = [];
let results = [];
if (typeof(batchFetch) === 'function') {
let reqUrls = urls.map(it => {
return {
url: it,
options: {
timeout: rule.timeout
}
}
});
let rets = batchFetch(reqUrls);
let detailUrls = [];
let detailUrlCount = 0;
rets.forEach((ret, idx) => {
let it = search_classes[idx];
if (ret) {
try {
let json = JSON.parse(ret);
let data = json.list;
data.forEach(i => {
i.site_name = it.type_name;
i.vod_id = it.type_id + '$' + i.vod_id;
i.vod_remarks = i.vod_remarks + '|' + it.type_name;
});
if (rule.search_match) {
data = data.filter(item => item.vod_name && (new RegExp(KEY, 'i')).test(item.vod_name))
}
if (data.length > 0) {
if (rule.search_pic && !data[0].vod_pic) {
log(`当前搜索站点【${it.type_name}】没图片,尝试访问二级去获取图片`);
let detailUrl = urls[idx].split('wd=')[0] + 'ac=detail&ids=' + data.map(k => k.vod_id.split('$')[1]).join(',');
detailUrls.push(detailUrl);
results_list.push({
data: data,
has_pic: false,
detailUrlCount: detailUrlCount
});
detailUrlCount++;
} else {
results_list.push({
data: data,
has_pic: true
});
}
}
} catch (e) {
log(`请求:${it.type_id}发生错误:${e.message}`)
}
}
});
let reqUrls2 = detailUrls.map(it => {
return {
url: it,
options: {
timeout: rule.timeout
}
}
});
let rets2 = reqUrls2.length > 0 ? batchFetch(reqUrls2) : [];
for (let k = 0; k < results_list.length; k++) {
let result_data = results_list[k].data;
if (!results_list[k].has_pic) {
try {
let detailJson = JSON.parse(rets2[results_list[k].detailUrlCount]);
log('二级数据列表元素数:' + detailJson.list.length);
result_data.forEach((d, _seq) => {
let detailVodPic = detailJson.list.find(vod => vod.vod_id.toString() === d.vod_id.split('$')[1]);
if (detailVodPic) {
Object.assign(d, {
vod_pic: detailVodPic.vod_pic
});
}
});
} catch (e) {
log(`强制获取网站${result_data[0].site_name}的搜索图片失败:${e.message}`);
}
}
results = results.concat(result_data);
}
} else {
urls.forEach((_url, idx) => {
let it = search_classes[idx];
try {
let html = request(_url);
let json = JSON.parse(html);
let data = json.list;
data.forEach(i => {
i.vod_id = it.type_id + '$' + i.vod_id;
i.vod_remarks = i.vod_remarks + '|' + it.type_name;
});
if (rule.search_match) {
data = data.filter(item => item.vod_name && (new RegExp(KEY, 'i')).test(item.vod_name))
}
if (data.length > 0) {
if (rule.search_pic && !data[0].vod_pic) {
log(`当前搜索站点【${it.type_name}】没图片,尝试访问二级去获取图片`);
let detailUrl = urls[idx].split('wd=')[0] + 'ac=detail&ids=' + data.map(k => k.vod_id.split('$')[1]).join(',');
try {
let detailJson = JSON.parse(request(detailUrl));
log('二级数据列表元素数:' + detailJson.list.length);
data.forEach((d, _seq) => {
let detailVodPic = detailJson.list.find(vod => vod.vod_id.toString() === d.vod_id.split('$')[1]);
if (detailVodPic) {
Object.assign(d, {
vod_pic: detailVodPic.vod_pic
});
}
});
} catch (e) {
log(`强制获取网站${it.type_id}的搜索图片失败:${e.message}`);
}
}
results = results.concat(data);
}
results = results.concat(data);
} catch (e) {
log(`请求:${it.type_id}发生错误:${e.message}`)
}
});
}
VODS = results;
let t2 = new Date().getTime();
log(`${searchMode}搜索:${urls.length}个站耗时:${(Number(t2) - Number(t1))}ms`)
}
}
}
}),
lazy: $js.toString(() => {
let parse_url = '';
if (flag && flag.includes('|')) {
let type_name = flag.split('|')[0];
let current_vod = rule.classes.find(item => item.type_name === type_name);
if (current_vod && current_vod.parse_url) {
parse_url = current_vod.parse_url
}
}
if (/\.(m3u8|mp4)/.test(input)) {
input = {
parse: 0,
url: input
}
} else {
if (parse_url.startsWith('json:')) {
let purl = parse_url.replace('json:', '') + input;
let html = request(purl);
input = {
parse: 0,
url: JSON.parse(html).url
}
} else {
input = parse_url + input;
}
}
}),
}