簡體   English   中英

獲取Nutch抓取的狀態?

[英]Getting status of a Nutch crawl?

我已經設置了Nutch,並為其提供了要抓取的URL的種子列表。 我對其進行了配置,以使其不會對種子列表之外的任何內容進行爬網。 種子列表包含約150萬個URL。 我按照指南進行操作,像這樣開始做事:

bin/nutch inject crawl/crawldb urls
bin/nutch generate crawl/crawldb crawl/segments
s1=`ls -d crawl/segments/2* | tail -1`
bin/nutch fetch $s1
bin/nutch parse $s1
bin/nutch invertlinks crawl/linkdb -dir crawl/segments
bin/nutch solrindex http://127.0.0.1:8983/solr/ crawl/crawldb -linkdb crawl/linkdb $s1 -addBinaryContent -base64

旁:我真的希望我知道如何同時進行爬網和建立索引(例如,對頁面進行爬網->對其進行索引,對下一頁進行爬網),因為我目前必須等待整個爬網完成才能對所有內容進行索引。

無論如何,現在,從檢查hadoop.log來看,我相信我已經在48小時內抓取了大約4萬個鏈接。 但是,我想確保它正確地捕獲了所有內容。 我還想看看哪些鏈接已被爬網,哪些鏈接還剩下。 我已經閱讀了所有文檔,並且似乎無法弄清楚如何獲得Nutch爬網的狀態,除非它是作為工作啟動的。

我在運行Solr 4.10的Nutch 1.10。

到目前為止,在從日志中提取爬網的過程中,您無法看到爬網的狀態。 只有在fetch-parse-updatedb作業結束​​后,您才能查詢crawldb。

而且我認為您在運行bin / nutch solrindex之前缺少了bin / nutch Updatedb作業。

如前所述,您似乎沒有使用./bin/crawl腳本,而是分別調用每個作業。

對於像您一樣大的爬網,我想到的一種方法是使用./bin/crawl腳本,默認情況下,該腳本會生成50k url,以供每次迭代獲取。 在每次迭代之后,您可以使用:

./bin/nutch readdb <crawl_db> -stats

通過https://wiki.apache.org/nutch/CommandLineOptions給出的命令來檢查crawldb狀態。

如果要更頻繁地檢查更新,請在./bin/crawl腳本中更改(降低)“-topN”參數(傳遞給生成作業)。 現在,通過更改迭代次數,您就可以爬網整個種子列表。

希望這可以幫助 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM