Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web crawler 风暴爬虫&x27;s default-regex-filters.txt_Web Crawler_Stormcrawler - Fatal编程技术网

Web crawler 风暴爬虫&x27;s default-regex-filters.txt

Web crawler 风暴爬虫&x27;s default-regex-filters.txt,web-crawler,stormcrawler,Web Crawler,Stormcrawler,我已经处理这个问题有一段时间了,还没有弄清楚StormCrawler的default-regex-filters.txt文件是如何工作的 在一个例子中,我需要将爬虫程序限制为只爬网该站点下的项目,而不爬网该站点上的任何其他目录。我把规则 +.*\/dev\/.* 进入default-regex-filters.txt的最后一行,但它似乎不起作用。我认为标准的正则表达式规则适用,但事实似乎并非如此。上面的一个示例之前有/没有\并且它正在工作?我对此感到相当困惑,不知道该文件中是否有regex的备

我已经处理这个问题有一段时间了,还没有弄清楚StormCrawler的default-regex-filters.txt文件是如何工作的

在一个例子中,我需要将爬虫程序限制为只爬网该站点下的项目,而不爬网该站点上的任何其他目录。我把规则

+.*\/dev\/.*
进入default-regex-filters.txt的最后一行,但它似乎不起作用。我认为标准的正则表达式规则适用,但事实似乎并非如此。上面的一个示例之前有/没有\并且它正在工作?我对此感到相当困惑,不知道该文件中是否有regex的备忘单,以便我可以更轻松地构建这些文件


接下来,文件中是否也只能有一个+筛选器?我模模糊糊地记得读过,但我想确定一下。

您可以在文件中设置任意多个+过滤器

过滤的逻辑很简单

 public String filter(URL pageUrl, Metadata sourceMetadata, String url) {
    for (RegexRule rule : rules) {
        if (rule.match(url)) {
            return rule.accept() ? url : null;
        }
    }
    return null;
}
其中,accept表示该模式具有+。如果没有匹配的URL,则会对其进行筛选

是你走了吗

# accept anything else
+.
在你添加的表达式上方

您可能想看看,这可能更直观