发现规则

大白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-
namen
valuev
keyk
kindkkey

简写示例

@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]
  ]
}
上次编辑于:
贡献者: yangyxd