Crawl为Nutch提供的用于一站式抓取的命令,用户只需要执行一条命令就可以完成抓取的全过程。
进入Nutch的主目录,今后我们大部分执行命令的操作都是在Nutch主目录完成的,而不是在Nutch的bin目录里,因为这样可以更方便地执行一些复杂的命令。查看一站式抓取命令:
~~~
bin/crawl
~~~
查看nutch命令:
~~~
bin/nutch
~~~
输入以上两个命令显示了它们各自的使用方法,后文会详细讲解一部分常用的命令。
查看crawl的使用方法:
~~~
bin/crawl
Usage: crawl [-i|--index] [-D "key=value"] <Seed Dir> <Crawl Dir> <Num Rounds>
-i|--indexIndexes crawl results into a configured indexer
-DA Java property to pass to Nutch calls
Seed DirDirectory in which to look for a seeds file
Crawl DirDirectory where the crawl/link/segments dirs are saved
Num RoundsThe number of rounds to run this crawl for
~~~
-i|index用于告知nutch将抓取的结果添加到配置的索引器中。
-D用于配置传递给Nutch调用的参数,我们可以将索引器配置到这里。
Seed Dir种子文件目录,用于存放种子URL,即爬虫初始抓取的URL。
Crawl Dir抓取数据的存放路径。
Num Rounds循环抓取次数
使用示例:
进入Nutch的runtime/local目录,新建一个urls文件夹:
~~~
cd apache-nutch-1.10/runtime/local
mkdir urls
~~~
在urls文件夹中新建一个存放url的种子文件:
~~~
touch urls/seed.txt
~~~
向urls/seed.txt添加初始抓取的URL:
~~~
echo http://www.163.com >> urls/seed.txt
~~~
开始抓取网页(这里需确保Solr已经启动,否则不能正常在Solr中建立索引,安装和配置参考[Nutch 1.10入门教程(三)——Solr安装与配置](http://www.sanesee.com/article/step-by-step-nutch-solr-settings "Nutch 1.10入门教程(三)——Solr安装与配置")):
~~~
bin/crawl -i -D solr.server.url=http://localhost:8983/solr/ urls/ TestCrawl/ 2
~~~
这条命令中,-i告知爬虫将抓取的内容添加到给定的索引中,solr.server.url=http://localhost:8983/solr/是Solr索引器的地址,urls/为种子URL文件路径,TestCrawl为Nutch用于存储抓取数据的文件夹(包含URL、抓取的内容等数据),这里的参数2表示循环抓取两次。
通过执行上面一条命令,就可以开始抓取网页了。
在浏览器中输入http://:8983/solr,选择collection1,就可以在里面通过关键字搜索到已经建立索引的内容。这里需要注意的是,爬虫并没有将指定URL的全部页面抓取下来,查看抓取情况的具体方法请参考后续教程。