[Nutch]Nutch抓取过程分析
2016-04-24 12:45
176 查看
上一篇文章有说明nutch的按照和编译过程,本篇日志主要讲解nutch抓取的过程。
在logs目录下面有两个文件:
在hadoop.log里面有比nohup.out更加详细的执行信息。
来看下nohup.out的log:
其中第一句log表示没有solrUrl,直接跳过:
后面就是一些执行的参数,在我们执行bin/nutch命令的时候带的参数:
然后就开始注入了,注入的目的是将文本的URL传入到CrawlDB里面:
从注入的log可以看出,整个过程只花了15s时间。
注入完成之后,就开始创建抓取列表:
整个过程花了15s。
然后就开始正式的进行抓取操作了:
将抓取的结果保持在如下路径:
下面的log是列出当前线程的状态,因为我们在执行抓取命令的时候,有设置 100个线程:
一直到如下log出现,表示这次抓取已经完成:
这个抓取过程花了10s时间。
抓取完成之后,就会对抓取的结果进行解析:
解析的过程大概花了10s时间。
由于在抓到的结果里面也有很多输出链接,而在解析的过程之中,就能够得到这些链接,然后将获取得到的这些新的链接,存入crawldb里面:
到这里,一个抓取的执行周期就已经完成了,之后就进入到第二个执行周期中:
整个的过程就是从上图中的1–》2–》3–》4. 表示一个抓取周期。
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. 表示一个抓取周期。
相关文章推荐
- DIV 内层>DIV相对与外层垂直水平居中
- hover加边框或边框加粗元素不抖动
- markdown语法之如何使用LaTeX语法编写数学公式
- 目标检测的图像特征提取之(一)HOG特征
- 在js中实现邮箱格式的验证
- BZOJ 1679 牛的呼声
- LeetCode——052
- 从四方面评价百度输入法
- 第9周项目3——人数不定的工资类
- lib静态库、dll动态库
- putchar
- Maven+Springmvc+mybatis+Dubbo+Zookeeper整合分布式架构
- 计算文本的实际大小
- Space Shooter之子弹和敌人碰撞检测、爆炸特效以及敌人的运动
- [react002] component基本用法
- [JZOJ4468][JSOI2016?]轻重路径
- 第9周项目2——我的数组类
- 15个最佳的用户体验和用户界面工具和资源
- gl.h文件错误(折腾了两天竟然是这个问题)
- C++实验4-乘法口诀表