Indexing 如何从heritrix爬网中排除除文本/html以外的所有内容?

Indexing 如何从heritrix爬网中排除除文本/html以外的所有内容?,indexing,search-engine,web-crawler,cxml,heritrix,Indexing,Search Engine,Web Crawler,Cxml,Heritrix,On:有一个“仅存储成功的HTML页面”的用例 我的问题是:我不知道如何在我的cxml文件中实现它。特别是: 将ContentTypeRegExpFilter添加到ARCWriterProcessor=>将其regexp设置设置为text/html.*。。。 示例cxml文件中没有ContentTypeRegExpFilter。您引用的用例有些过时,请参考Heritrix 1.x(过滤器已替换为Decise规则,非常不同的配置框架)。但基本概念是一样的 cxml文件基本上是一个Spring配置文

On:有一个“仅存储成功的HTML页面”的用例

我的问题是:我不知道如何在我的cxml文件中实现它。特别是: 将ContentTypeRegExpFilter添加到ARCWriterProcessor=>将其regexp设置设置为text/html.*。。。
示例cxml文件中没有ContentTypeRegExpFilter。

您引用的用例有些过时,请参考Heritrix 1.x(过滤器已替换为Decise规则,非常不同的配置框架)。但基本概念是一样的

cxml文件基本上是一个Spring配置文件。您需要将ARCWriter bean上的属性
shouldProcessRule
配置为
ContentTypeMatchesRegexDecideRule

可能的ARCWriter配置:

  <bean id="warcWriter" class="org.archive.modules.writer.ARCWriterProcessor">
    <property name="shouldProcessRule">
      <bean class="org.archive.modules.deciderules.ContentTypeMatchesRegexDecideRule">
        <property name="decision" value="ACCEPT" />
        <property name="regex" value="^text/html.*">
      </bean>
    </property>
    <!-- Other properties that need to be set ... -->
  </bean>

这将导致处理器只处理与DecideRule匹配的项,而DecideRule又只传递内容类型(mime类型)与提供的正则表达式匹配的项

小心“决策”设置。你是在排除我们公司的事情吗?(我的示例将事情规则化,排除任何不匹配的事情)

由于
shouldProcessRule
是从处理器继承的,因此这可以应用于任何处理器


有关配置Heritrix 3的更多信息,请访问(crawler.archive.org上的用户指南是关于Heritrix 1的)

Kris的答案只有一半(至少对于我正在使用的Heritrix 3.1.x而言)。决定返回接受、拒绝或无。如果一个规则返回NONE,这意味着该规则对此“没有意见”(就像SpringSecurity中的ACCESS\u弃权)。现在(和所有其他方法一样)可以配置为在正则表达式匹配时返回决策(由两个属性“decision”和“regex”配置)。该设置意味着,如果正则表达式匹配,则该规则返回接受决策,如果不匹配,则返回NONE。正如我们所看到的,没有人不是一个意见,所以我们的规则将评估接受,因为没有作出决定

因此,要仅归档text/html*内容类型的响应,请配置DecideRuleSequence,默认情况下拒绝所有内容,并且只接受选定的条目

这看起来像这样:


为了避免下载图像、电影等,请使用MatchesListRegexDecideRule配置“scope”bean,该bean拒绝具有众所周知的文件扩展名的URL,如:


*(\(avi | wmv | mpe | g | mp3))$
.*i(\(rar|zip|tar|gz))$
*(\(pdf文档xls odt))$
.*i)(\(xml))$
.*i(\.(txt|conf|pdf))$
.*i)(\(swf))$
.*i(\.(js|css))$
.*i)(\(bmp | gif | jpe | g | png | svg | tiff?)$

有一点输入错误。regex属性缺少斜杠