针对上一篇文章中出现的问题:Command crawl is deprecated, please use bin/crawl instead错误信息,今天在官网上查阅了一下,进行了总结。
 
一、bin/nutch crawl
官网解释:REMOVED AS OF NUTCH 1.8 AND NUTCH 2.3,即1.8和2.3版本不可以使用这个命令,所以才会有之前的错误。
使用说明:Crawl是org.apache.nutch.crawl.Crawl的别名,这个class可以实现全网页抓取。
Usage:
bin/nutch crawl <urlDir> [-solr <solrURL>] [-dir d] [-threads n] [-depth i] [-topN N]

<urlDir>: 种子url目录

[-solr <solrURL>]: Solr目录,可以简化索引

[-dir d]: 保存爬取结果的目录

[-threads n]: 设置线程数

[-depth i]: 爬取的深度,默认是5

[-topN N]: 从任何一个网页获取的最大外链数

例子:

bin/nutch crawl urls -dir crawl -depth 3 -topN 5

如果已经安装solr,需要索引,就用以下命令

bin/nutch crawl urls -solr http://localhost:8983/solr/ -depth 3 -topN 5

二、bin/nutch命令的使用

可以用此命令运行不同的class,即单步运行每个步骤。但是有些操作可能在某些版本不支持。参考官网:http://wiki.apache.org/nutch/CommandLineOptions

常用的:

1.bin/nutch readdb

2.bin/nutch mergedb

3.bin/nutch readlinkdb

4.bin/nutch inject

5.bin/nutch generate

6.bin/nutch fetch

7.bin/nutch parse

8.bin/nutch readseg

三、bin/crawl

官网链接:http://wiki.apache.org/nutch/bin/crawl

爬虫时,in/crawl脚本提供了更多的命令. 取代org.apache.nutch.crawl.Crawl类,推荐用此命令代替 bin/nutch crawl命令。

 Usage: bin/crawl <seedDir> <crawlID> <solrURL> <numberOfRounds>
Example: bin/crawl urls/seed.txt TestCrawl http://localhost:8983/solr/ 2

crawl脚本的参数比较多也很好理解,还可以根据自己的需要修改此文件。

四、两者的不同

主要是适用版本不同

(1)bin/nutch可以运行不同的java classes,以前版本用的居多。

(2)1.7和2.2.1及以上版本用bin/crawl取代bin/nutch crawl.

05-11 22:03