149. 【应-21-2·难】URL 是否允许爬取
中等
Python
📋 题目描述
给定 N 条 robots 规则与一个待查 URL 路径,判断是否允许爬取。
**匹配规则**:
- 一条规则形如 `Allow path` 或 `Disallow path`,path 以 `/` 开头;
- 若查询路径以某条规则的 path 为**前缀**,称该规则"匹配";
- 多条规则同时匹配时,**path 越长优先级越高**;
- 长度相同时,**Allow 优先于 Disallow**;
- 用最高优先级的那条规则做最终判定,输出 `ALLOW` 或 `DENY`;
- 若没有任何规则匹配,默认输出 `ALLOW`。
📥 输入描述
第一行整数 N(0<=N<=200)。
接下来 N 行规则,每行 `Allow path` 或 `Disallow path`,类型与 path 之间一个空格。
最后一行为待查路径(以 `/` 开头)。
📤 输出描述
一行 `ALLOW` 或 `DENY`。
输入样例
2 Disallow /admin Allow /admin/public /admin/public/x
输出样例
ALLOW
提示:把规则按 (-len(path), 0 if Allow else 1) 排序,依次扫描,第一条 path 是查询前缀的就决定结果。
请登录后提交代码