繁体   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