关于: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的)。