[Nutch]Nutch抓取过程分析

上一篇文章有说明nutch的按照和编译过程,本篇日志主要讲解nutch抓取的过程。

1.抓取的条件

在urls目录下面建立一个文本文件url.txt,将需要抓取的连接写入,如:

http://blog.tianya.cn

2.执行抓取命令

在runtime/local目录下面执行如下命令:

nohup bin/nutch crawl urls -dir data -depth 3 -threads 100 &

3.抓取的过程

运行抓取命令之后,会生成2个目录和1个文件:
这里写图片描述
在logs目录下面有两个文件:
这里写图片描述
在hadoop.log里面有比nohup.out更加详细的执行信息。

来看下nohup.out的log:
[Nutch]Nutch抓取过程分析_第1张图片

其中第一句log表示没有solrUrl,直接跳过:
这里写图片描述

后面就是一些执行的参数,在我们执行bin/nutch命令的时候带的参数:
这里写图片描述

然后就开始注入了,注入的目的是将文本的URL传入到CrawlDB里面:
[Nutch]Nutch抓取过程分析_第2张图片
从注入的log可以看出,整个过程只花了15s时间。

注入完成之后,就开始创建抓取列表:
这里写图片描述
整个过程花了15s。

然后就开始正式的进行抓取操作了:
[Nutch]Nutch抓取过程分析_第3张图片
将抓取的结果保持在如下路径:

data/segments/20160423200417

下面的log是列出当前线程的状态,因为我们在执行抓取命令的时候,有设置 100个线程:
[Nutch]Nutch抓取过程分析_第4张图片

一直到如下log出现,表示这次抓取已经完成:
这里写图片描述
这个抓取过程花了10s时间。

抓取完成之后,就会对抓取的结果进行解析:
这里写图片描述
解析的过程大概花了10s时间。

由于在抓到的结果里面也有很多输出链接,而在解析的过程之中,就能够得到这些链接,然后将获取得到的这些新的链接,存入crawldb里面:
[Nutch]Nutch抓取过程分析_第5张图片

到这里,一个抓取的执行周期就已经完成了,之后就进入到第二个执行周期中:
[Nutch]Nutch抓取过程分析_第6张图片

4.过程总结

用一个架构图来表示整个抓取过程为:
[Nutch]Nutch抓取过程分析_第7张图片
整个的过程就是从上图中的1–》2–》3–》4. 表示一个抓取周期。

你可能感兴趣的:(Nutch,Nutch深入学习)