【发布时间】:2017-05-16 05:16:59
【问题描述】:
在 Nutch 2.x 中,有没有办法只生成未获取的 url 而不是基于分数?
【问题讨论】:
标签: apache web-crawler nutch
在 Nutch 2.x 中,有没有办法只生成未获取的 url 而不是基于分数?
【问题讨论】:
标签: apache web-crawler nutch
嗯,对于 Nutch 1.x,您可以使用自 Nutch 1.12 以来提供的 jexl 支持(我认为):
$ bin/nutch generate -expr "status == db_unfetched"
使用此命令,您可以确保只考虑具有db_unfetched 状态的 URL 来生成您要抓取的分段。
此功能在 2.x 分支上仍然不可用,但编写自定义 GeneratorJob 可以解决问题。
另一方面,由于生成器 Job 已经在考虑对要获取的 URL 列表进行排序的分数,也许更简单的方法是编写自定义 ScoringFilter。
例如,如果您看一下:https://github.com/apache/nutch/blob/2.x/src/java/org/apache/nutch/scoring/ScoringFilter.java#L69-L81,ScoringFilter 已经提供了一个 generatorSortValue 方法,仅用于为生成器作业生成评分值,因此您可以编写自己的方法来提升那些处于未获取状态的 URL .
【讨论】: