关于:Heritrix Usecases有一个“仅存储成功的HTML页面”用例

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

最佳答案

您引用的用例有些过时了,请参阅Heritrix 1.x(过滤器已替换为决策规则,非常不同的配置框架)。基本概念仍然相同。

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匹配的项目,而这些项目又仅传递那些内容类型(MIME类型)与提供的正则表达式匹配的项目。

注意“决定”设置。你在统治我们的事情吗? (我的示例将所有内容都排除在外,所有不匹配的内容都被排除在外)。

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

可以在Heritrix 3 Wiki上找到有关配置Herritrix 3的更多信息(关于crawler.archive.org的用户指南是有关Heritrix 1的)。

08-28 02:32