Ответ Криса - только половина правды (по крайней мере с Heritrix 3.1.x, который я использую).A DecideRule возвращает ПРИНЯТЬ, ОТКАЗАТЬ или ОТСУТСТВУЕТ.Если правило возвращает NONE, это означает, что это правило «не имеет мнения» по этому поводу (как ACCESS_ABSTAIN в Spring Security).Теперь ContentTypeMatchesRegexDecideRule (как и все другие MatchesRegexDecideRule ) можно настроить на возврат решения, если совпадение с регулярным выражением (настроено двумя свойствами «решение» и «регулярное выражение»).Параметр означает, что это правило возвращает решение ПРИНЯТЬ, если регулярное выражение соответствует, но возвращает NONE, если оно соответствует , а не .И, как мы уже видели, NONE - это не мнение, так что shouldProcessRule будет оцениваться как ACCEPT, потому что не было принято никаких решений.
Таким образом, чтобы архивировать ответы только с текстом / html * Content-Type, настройте DecideRuleSequence, где всепо умолчанию отклонено, и только выбранные записи будут приняты.
Это выглядит так:
<bean id="warcWriter" class="org.archive.modules.writer.WARCWriterProcessor">
<property name="shouldProcessRule">
<bean class="org.archive.modules.deciderules.DecideRuleSequence">
<property name="rules">
<list>
<!-- Begin by REJECTing all... -->
<bean class="org.archive.modules.deciderules.RejectDecideRule" />
<bean class="org.archive.modules.deciderules.ContentTypeMatchesRegexDecideRule">
<property name="decision" value="ACCEPT" />
<property name="regex" value="^text/html.*" />
</bean>
</list>
</property>
</bean>
</property>
<!-- other properties... -->
</bean>
Чтобы вообще не загружать изображения, фильмы и т. д., настройте «область действия»bean-компонент с MatchesListRegexDecideRule, который ОТРАЖАЕТ URL-адреса с хорошо известными расширениями файлов, такими как:
<!-- ...and REJECT those from a configurable (initially empty) set of URI regexes... -->
<bean class="org.archive.modules.deciderules.MatchesListRegexDecideRule">
<property name="decision" value="REJECT"/>
<property name="listLogicalOr" value="true" />
<property name="regexList">
<list>
<value>.*(?i)(\.(avi|wmv|mpe?g|mp3))$</value>
<value>.*(?i)(\.(rar|zip|tar|gz))$</value>
<value>.*(?i)(\.(pdf|doc|xls|odt))$</value>
<value>.*(?i)(\.(xml))$</value>
<value>.*(?i)(\.(txt|conf|pdf))$</value>
<value>.*(?i)(\.(swf))$</value>
<value>.*(?i)(\.(js|css))$</value>
<value>.*(?i)(\.(bmp|gif|jpe?g|png|svg|tiff?))$</value>
</list>
</property>
</bean>