您的位置:首页 > 其它

[Nutch]Nutch抓取过程分析

2016-04-24 12:45 176 查看
上一篇文章有说明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:



其中第一句log表示没有solrUrl,直接跳过:



后面就是一些执行的参数,在我们执行bin/nutch命令的时候带的参数:



然后就开始注入了,注入的目的是将文本的URL传入到CrawlDB里面:



从注入的log可以看出,整个过程只花了15s时间。

注入完成之后,就开始创建抓取列表:



整个过程花了15s。

然后就开始正式的进行抓取操作了:



将抓取的结果保持在如下路径:

data/segments/20160423200417


下面的log是列出当前线程的状态,因为我们在执行抓取命令的时候,有设置 100个线程:



一直到如下log出现,表示这次抓取已经完成:



这个抓取过程花了10s时间。

抓取完成之后,就会对抓取的结果进行解析:



解析的过程大概花了10s时间。

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



到这里,一个抓取的执行周期就已经完成了,之后就进入到第二个执行周期中:



4.过程总结

用一个架构图来表示整个抓取过程为:



整个的过程就是从上图中的1–》2–》3–》4. 表示一个抓取周期。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: