发现规则
2022年10月27日大约 3 分钟
发现 (discoverUrl) 是特殊的地址规则。是由栏目信息和地址规则组合。
普通模式
格式: 栏目名称
::子栏目名称
::地址规则
地址规则
可以是前面介绍的 请求规则 的所有形式 (内容不要换行)。
多个栏目可以使用 换行符
、&&
分隔。
普通模式 最多支持到二级栏目。
普通写法
主页::https://www.baidu.com
导航::百度::https://www.baidu.com
导航::百度::https://www.baidu.com
电影::https://www.xxx.com/vodshow/1/page/$page.html
王者荣耀::全部::{"url":"https://m.huya.com/cache.php?m=Game&do=ajaxGetGameLive&gameId=2336&page=searchPage&pageSize=120","headers":{"referer": "https://m.huya.com"}}
脚本写法
使用 JS 脚本来拼接出符合 格式
的字符串。可以根据实际情况很灵活的实现,只要最终输出的结果符合格式就行。下面给出一个示例。
@js:
let items=[
["电影::热播榜","11","1","1"],
["电影::好评榜","8","1","1"],
["电影::新上线","4","1","1"],
];
result='';
items.forEach((e)=>{
result=result+e[0]+'::https://www.xxx.com/search?channel_id='+e[2]+'&data_type='+e[3]+'&is_purchase=0&mode='+e[1]+'&page_id=$page&ret_num=48\n';
});
result;
筛选模式
筛选模式需要在发现地址中返回符合格式的对象。可以实现类似网站中的多类型条件筛选的效果。
提示
此模式从 大白版 V3.4.0
开始支持。
效果图:
写法 1
{
// 可选,默认的 url,使用 `{筛选类型关键字}` 来表示动态的筛选状态值,执行是会替换成筛选类型对应的值
url: '$host/show/{kind}-{area}-{by}-{class}-----$page---{year}.html',
value: [
// 栏目数组
{
name: '名称', // 栏目名称
kind: '1', // 栏目类别ID
url: '', // 可选,栏目的 url (不指定会使用默认的 url)
data: null, // 可选,附加的数据, 取列表时会传入 lastResult 中
value: [
// 筛选类型数组
{
key: '', // 筛选类型关键字
name: '名称', // 筛选类型名称
value: [
// 筛选项数组
{name: '', value: ''},
...
]
},
...
]
}
]
}
写法 2
{
url: '', // 可选,默认的 url
value: [
// 栏目数组
[
name, // 栏目名称
kind, // 栏目类别ID
[
// 筛选类型数组
{
key: '', // 筛选类型关键字
name: '名称', // 筛选类型名称
value: [
// 筛选项数组
{name: '', value: ''}
...
]
},
...
],
url, // 可选,栏目的 url
data, // 可选,附加数据
],
]
}
字段名称的简写形式
关键字 | 简写形式 |
---|---|
url | - |
name | n |
value | v |
key | k |
kind | k 或 key |
简写示例:
@js: result = {
url: "$host/show/{kind}-{area}-{by}-{class}-----$page---{year}.html",
v: [
// 格式 1
['电影', 1, [
{
k: 'class',
n: '剧情',
value: [{"n": "全部","v": ""},{"n": "喜剧","v": "喜剧" },{"n": "爱情","v": "爱情"}]
},
{
k: 'area',
n: '地区',
v: [{n: '全部',v: ''},{n: '大陆',v: '大陆'},{n: '中国香港',v: '香港'},{n: '美国',v: '美国'}]
}
]],
// 格式 2
{
n: '剧集',
k: 2,
url: '',
v: [
{
k: 'class',
n: '剧情',
value: [{"n": "全部","v": ""},{"n": "a","v": "喜剧" },{"n": "b","v": "爱情"}]
},
{
k: 'area',
n: '地区',
v: [{n: '全部',v: ''},{n: '大陆',v: '大陆'},{n: '中国香港',v: '香港'},{n: '美国',v: '美国'}]
}
],
},
['动漫', 4]
]
}