如何使用Apache Nutch进行防故障增量爬网?

时间:2020-02-18 08:38:16

标签: solr web-crawler nutch

我正在尝试使用Apache Nutch和Solr构建一个小的增量式整个Web搜寻器。 现在,我的假设是我要在一台机器上运行它,并且URL数量很多,因此我无法对所有URL进行爬网。它应该是防故障的,并且在出现故障时应该易于恢复。

为了进行爬网,我进行了以下初始化:

bin/nutch inject crawl/crawldb urls
bin/nutch generate crawl/crawldb crawl/segments

然后我将无尽循环:

bin/nutch generate crawl/crawldb crawl/segments -topN 1000
s1=`ls -d crawl/segments/2* | tail -1`
echo $s1
bin/nutch fetch $s1
bin/nutch parse $s1
bin/nutch updatedb crawl/crawldb $s1


bin/nutch invertlinks crawl/linkdb -dir crawl/segments
bin/nutch index crawl/crawldb/ -linkdb crawl/linkdb/ $s1 -filter -normalize -deleteGone
bin/nutch dedup crawl/crawldb/
bin/nutch clean crawl/crawldb/ http://localhost:8983/solr

关于此,我有几个问题:

  1. 这是最佳解决方案吗?

  2. 如果Solr失败并且我必须从头开始爬网,我可以 bin/nutch index crawl/crawldb/ -linkdb crawl/linkdb/ $s1 -filter -normalize -deleteGone是否用于每个现有细分?

  3. 如何重新抓取失败的细分?

  4. 应该备份段文件夹中的所有数据。还是可以删除某些内容以节省空间?

  5. 配置了重新爬网后,此增量爬网会起作用吗? (因此设置db.fetch.schedule.class / db.fetch.interval.default / db.fetch.schedule.adaptive。*)

0 个答案:

没有答案
相关问题