针对上一篇文章中出现的问题: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
常用的:
三、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,以前版本用的居多。