2015-11-12 36 views
1

我有Apache Nutch 2.0源码移植到我的项目,并可以修改&直接构建它。从我读过的-topN参数可以确定在该深度/页面中排名最高的得分链接有多少。实际上,可用资源在网上混淆了我,导致我我的第一个问题:Apache Nutch - 修改链接队列被抓取

  1. 是否-topN对应的链接数量得分最高的将要采取每深度?或者它是每页

我的第二个:

  • 做这些TOPN链接排队优先与其他排队的其他页/深度TOPN链接?例如topN = 2,1个种子URL,来自种子URL的2个已爬网页面,是从这个深度采集的链接聚合然后排序?或者只有页内链接被排序?尽管topN是每页。
  • 我想要做的是改变Nutch的广度优先行为。我希望首先抓取得分最高的链接,而不管它们来自哪个深度。据我了解,Nutch的抓取所有种子URL,然后再爬从depth=1所有topN链接,然后从depth=2topN链接等等......我想要做的是:

    • 抓取所有种子URL第一
    • 然后抓取得分最高的链接。
    • 提取出站链接在得分最高的页面
    • 队列的链接,一个PriorityQueue
    • 出队目前得分最高的链接,等等...

    这使我对这些问题:

    1. 是否可以插入逻辑以遵循上述爬网行为?基本上将网页遍历改为广度优先和深度优先的混合,并且总是遍历最高得分的链接。
    2. 我能同时做到这一点吗?

    回答

    0

    TopN在Nutch的GenerateJob中使用,以获取FetchJob中要获取的前N个最高排名分数URL。这不是每页的爬行深度。 您可以通过修改nutch-site.xml文件中的<name>http.content.limit</name>的值来更改深度。