如果我只需要抓取域中的一个主机,同时仍然抓取我们网站的其余部分,那么在默认正则表达式过滤器中放入什么正则表达式.txt来完成它?
我正在尝试阻止 https://*.bar 的所有主机.com同时只允许 https://foo.bar.com
我是否可以执行一个通用-^https?://.*.bar.com.*
规则,然后执行一个特定规则,允许一个主机+^https?://foo.bar.com.*
这行得通吗?
我试图做一个复杂的-^https?://([a-eg-zA-EG-Z0-9]
类型的事情来阻止除foo
之外的所有内容,但否定所有内容并添加回我真正想要的那个似乎要简单得多......
最具体的规则应该排在第一位,请参阅代码
https://github.com/DigitalPebble/storm-crawler/blob/399cdac2125c39ef9be26586a2ca2609f92b0988/core/src/main/java/com/digitalpebble/stormcrawler/filtering/regex/RegexURLFilterBase.java#L156
fastURLFilter https://github.com/DigitalPebble/storm-crawler/wiki/URLFilters 遵循相同的逻辑,但组织起来可能更简单。