Storm-Crawler重定向处理相关技术问题咨询
Storm-Crawler: 重定向、外链输出与拓扑流程的疑问解答
针对你关于Storm-Crawler的几个核心疑问,结合你给出的实验配置,我来逐一拆解说明:
1. 能否在不输出外链的前提下跟随重定向?
从你的实验结果来看,确实做不到。这是因为在Storm-Crawler的逻辑里,重定向的目标URL被归类为特殊的外链。当你设置parser.emitOutlinks: false时,会全局阻止所有外链(包括重定向目标)被解析器输出——哪怕redirections.allowed: true开启了重定向抓取权限,重定向目标也无法进入后续的注入流程。
2. 被重定向的URL会以“DISCOVERED”状态注入后端吗?
基于你的配置(parser.emitOutlinks: false),不会。重定向目标属于外链的一种,关闭外链输出后,解析器不会将其传递给URL注入器或后端存储,自然也就不会以DISCOVERED状态被记录到后端。
3. 检测到页面重定向时,该页面会走完抓取器之后的拓扑流程吗?
是的,原页面会完成抓取后的大部分拓扑环节。当抓取器获取到返回重定向响应的页面后,会正常传递到解析阶段:
- 解析器会识别出页面的重定向规则
- 但由于
parser.emitOutlinks: false,不会输出重定向目标URL - 原页面的状态更新(比如标记为已抓取)、配置好的内容存储等流程仍会正常执行
你的实验配置参考:
# crawler.yaml redirections.allowed: true parser.emitOutlinks: false # urlfilters.json "maxDepth": 2
内容的提问来源于stack exchange,提问作者EJO
相关产品推荐
相关产品推荐

