【发布时间】:2015-11-12 03:52:48
【问题描述】:
我已将 Apache Nutch 2.0 源代码移植到我的项目中,并且可以直接修改和构建它。从我读到的 -topN 参数确定该深度/页面中有多少得分最高的链接将被排队。实际上,在线可用资源让我感到困惑,这让我想到了我的第一个问题:
-
-topN是否对应每个深度要获取的链接的最高得分?还是每页?
我的第二个:
- 这些 topN 链接是否与来自其他页面/深度的其他排队的 topN 链接优先?例如
topN = 2, 1 个种子 URL,对于从种子 URL 爬取的 2 个页面,从这个深度获取的链接是聚合然后排序的吗?还是只对页内链接进行排序?这假设topN是每页。
我想做的是改变 Nutch 的广度优先行为。我希望首先抓取得分最高的链接,无论它们来自哪个深度。据我了解,Nutch 首先抓取所有种子网址,然后抓取来自depth=1 的所有topN 链接,然后抓取来自depth=2 的topN 链接等等......我想做的是:
- 首先抓取所有种子网址
- 然后抓取得分最高的链接。
- 提取得分最高的页面中的外链接
- 将链接排队到 PriorityQueue
- 出列当前得分最高的链接,等等...
这让我想到了这些问题:
- 是否可以插入逻辑以遵循上述爬网行为?基本上将网络遍历更改为广度优先和深度优先的混合体,并且始终遍历得分最高的链接。
- 我可以同时执行此操作吗?
【问题讨论】:
标签: java web-crawler nutch