根据 Nutch 中的条件获取后拒绝 url

Reject url's after fetching based on a condition in Nutch

我想知道是否可以根据条件(例如发布日期或时间)过滤获取的 url。我知道我们可以通过 regex-urlfilter 过滤 url 以进行提取。

就我而言,我不想为旧文档编制索引。因此,如果一份文件在 2017 年之前发布,则必须予以拒绝。是否需要任何日期过滤器插件或已经可用!

如有任何帮助,我们将不胜感激。提前致谢。

如果您只想避免 索引 旧文档,您可以编写自己的 IndexingFilter 来检查您的情况并避免索引文档。您没有提及您的 Nutch 版本,但假设您使用的是 v1 we have a new PR(它将为下一个版本做好准备),它将使用 JEXL 表达式提供开箱即用的功能 allow/prevent文档被索引。

如果你能抓住这个 PR 并测试它并提供一些反馈就太棒了!

如果你愿意,你可以编写自己的自定义插件,你可以检查 mimetype-filter 是否有与你想要的类似的东西(在这种情况下,我们应用基于 mimetype 的过滤)。

还有一个警告,目前 Nutch 使用的 fetchTimemodifiedTime 来自网络服务器在获取资源时发送的 headers,保持请记住,不应信任这些值(除非您 100% 确定),因为在大多数情况下您会得到错误的日期。 NUTCH-1414 提出了一种从页面内容中提取发布日期的更好方法,或者您可以实现自己的解析器。

请记住,使用这种方法您仍然 fetch/parse 旧文档,您将跳过索引步骤。