2015-11-12 23 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>的值來更改深度。