2016-05-09 29 views
1

過去兩週我一直在收集/抓取網站。我已使用crawl命令設置100迭代。該過程剛剛完成。我如何知道爬網的數據的覆蓋範圍?我真的不期待一個確切的數字,但我真的很想知道大約有多少信息在網站中未被抓取。如何定義我nutch爬行的覆蓋範圍?

回答

0

謝謝@ Jorge。根據你所說的話:

Nutch的不知如何大/小是的網站()你正在爬行

這樣的想法,沒有辦法來計算,除非你知道預先網站的大小。

再次感謝。

2

你的問題有點含糊不清,如果你想弄清楚你已經抓取的整個網站有多少數據是一個難題,Nutch不知道網站有多大/多小)你在爬行。你說你已經完成了100次迭代,使用bin/crawl腳本中的默認設置,這意味着在每次迭代中Nutch最多可以獲取50 000個URL(https://github.com/apache/nutch/blob/master/src/bin/crawl#L117),但這並不意味着你的網站沒有更多URL只是意味着這是Nutch的配置,也許Nutch甚至沒有發現所有的URL。在每次迭代中,Nutch都可以發現新的URL,從而使流程漸進式化。

你可以做的是執行bin/nutch readdb命令傳遞-stats參數,是這樣的:

$ bin/nutch readdb crawl/crawldb -stats 

這應該會類似於輸出:

CrawlDb statistics start: crawl/crawldb 
Statistics for CrawlDb: crawl/crawldb 
TOTAL urls: 575 
retry 0: 569 
retry 1: 6 
min score: 0.0 
avg score: 0.0069252173 
max score: 1.049 
status 1 (db_unfetched): 391 
status 2 (db_fetched): 129 
status 3 (db_gone): 53 
status 4 (db_redir_temp): 1 
status 5 (db_redir_perm): 1 
CrawlDb statistics: done 

有了這個信息,你可以知道發現的網址總數以及獲取的網址數量,以及一些更有用的信息。