没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
分析
1 Nutch 简介......................................................................................................................................2
1.1 nutch 体系结构....................................................................................................................2
2 抓取部分.........................................................................................................................................3
2.1 爬虫的数据结构及含义......................................................................................................3
2.2 抓取目录分析......................................................................................................................4
2.3 抓取过程概述......................................................................................................................4
2.4 抓取过程分析......................................................................................................................5
2.4.1 inject 方法.................................................................................................................6
2.4.2 generate 方法..........................................................................................................12
2.4.3 fetch 方法................................................................................................................14
2.4.4 parse 方法................................................................................................................17
2.4.5 update 方法.............................................................................................................17
2.4.6 invert 方法...............................................................................................................20
2.4.7 index 方法...............................................................................................................24
2.4.8 dedup 方法..............................................................................................................28
2.4.9 merge 方法..............................................................................................................32
3 配置文件分析...............................................................................................................................32
3.1 nutch-default.xml 分析......................................................................................................33
3.1.1 <!-- file properties -->.............................................................................................33
3.1.2 <!-- HTTP properties -->.........................................................................................34
3.1.3 <!-- FTP properties -->............................................................................................37
3.1.4 <!-- web db properties -->.......................................................................................39
3.1.5 <!-- generate properties -->.....................................................................................43
3.1.6 <!-- fetcher properties -->.......................................................................................44
3.1.7 <!-- indexer properties -->......................................................................................45
3.1.8 <!-- indexingfilter plugin properties -->.................................................................47
3.1.9 <!-- analysis properties -->.....................................................................................47
3.1.10 <!-- searcher properties -->...................................................................................47
3.1.11 <!-- URL normalizer properties -->......................................................................50
3.1.12 <!-- mime properties -->.......................................................................................50
3.1.13 <!-- plugin properties -->......................................................................................51
3.1.14 <!-- parser properties -->.......................................................................................52
3.1.15 <!-- urlfilter plugin properties -->.........................................................................53
3.1.16 <!-- scoring filters properties -->..........................................................................54
3.1.17 <!-- clustering extension properties -->................................................................55
3.1.18 <!-- ontology extension properties -->..................................................................55
3.1.19 <!-- query-basic plugin properties -->..................................................................56
3.1.20 <!-- creative-commons plugin properties -->.......................................................57
3.1.21 <!-- query-more plugin properties -->..................................................................57
3.1.22 <!-- microformats-reltag plugin properties -->.....................................................58
3.1.23 <!-- language-identifier plugin properties -->......................................................58
3.1.24 <!-- Temporary Hadoop 0.17.x workaround. -->..................................................59
3.1.25 <!-- response writer properties -->........................................................................59
3.2 regex-urlfilter.txt 解析.......................................................................................................61
3.3 regex-normalize.xml 解析.................................................................................................61
3.4 总结....................................................................................................................................62
4 参考资源.......................................................................................................................................63
1 Nutch 简介
1.1nutch 体系结构
2 抓取部分
2.1爬虫的数据结构及含义
爬虫系统是由 的爬虫工具驱动的。并且把构建和维护一些数据结构类型同一系列工
具关联起来:包括 、一系列的 和 。接下来我们将详细描
述他们。
三者的物理文件分别存储在爬行结果目录下的 文件夹内, 文件夹和
文件夹内。那么三者分别存储的信息是什么呢?
,也叫 ,其中存储的是爬虫所抓取网页之间的链接结构信息,它
只在爬虫 工作中使用而和 的工作没有任何关系。 内存储了两
种实体的信息: 和 。 实体通过描述网络上一个网页的特征信息来表征一个
实际的网页,因为网页有很多个需要描述, 中通过网页的 和网页内容的
两种索引方法对这些网页实体进行了索引。 实体描述的网页特征主要包括网页
内的 数目,抓取此网页的时间等相关抓取信息,对此网页的重要度评分等。同样的,
实体描述的是两个 实体之间的链接关系。 构成了一个所抓取网页的链
接结构图,这个图中 实体是图的结点,而 实体则代表图的边。
一次爬行会产生很多个 ,每个 内存储的是爬虫 在单独一次
抓取循环中抓到的网页以及这些网页的索引。 爬行时会根据 中的 关
系按照一定的爬行策略生成每次抓取循环所需的 !,然后 " 通过 !
中的 抓取这些网页并索引,然后将其存入 。 是有时限的,当这
些 网 页 被 重 新 抓 取 后 , 先 前 抓 取 产 生 的 就 作 废 了 。 在 存 储 中 。
文件夹是以产生时间命名的,方便我们删除作废的 以节省存储空间。
# 是 抓取的所有网页的索引,它是通过对所有单个 中的索引进行
合并处理所得的。 利用 技术进行索引,所以 中对索引进行操作的
接口对 中的 同样有效。但是需要注意的是, 中的 和
中的不同, 中的 是索引 的一部分,但是 中的
只是 中各个部分网页的内容和索引,最后通过其生成的 跟这些
已经毫无关系了。
2.2抓取目录分析
抓取后一共生成 个文件夹$分别是%
目录存放下载的 $以及下载的日期$用来页面更新检查时间&
目录存放 的互联关系$是下载完成后分析得到的&
%存放抓取的页面$下面子目录的个数于获取的页面层数有关系$通常每一层
页面会独立存放一个子目录$子目录名称为时间$便于管理&比如我这只抓取了一层页面
就只生成了 '(()( (*+,-+-, 目录&每个子目录里又有 . 个子文件夹如下%
/:每个下载页面的内容。
0!:每个下载 的状态。
0:待下载 集合。
0:包含来更新 的外部链接库。
0:包含每个 解析出的外部链接和元数据
0:包含每个解析过的 的文本内容。
:存放每次下载的独立索引目录
:符合 格式的索引目录,是 里所有 合并后的完整索引
2.3 抓取过程概述
引用到的类主要有以下 ) 个:
+、 &
用来给抓取数据库添加 的插入器
'、 &&2/
用来生成待下载任务列表的生成器
-、 &!&"
完成抓取特定页面的抓取器
3、 &&
负责内容提取和对下级 提取的内容进行解析的解析器
、 &&
负责数据库管理的数据库管理工具
.、 &&
负责链接管理
,、 &&#
负责创建索引的索引器
*、 &&
删除重复数据
)、 &&#
对当前下载内容局部索引和历史索引进行合并的索引合并器
2.4抓取过程分析
Crawler 的工作原理主要是:首先 Crawler 根据 WebDB 生成一个待抓取网页的 URL 集合叫
做 Fetchlist,接着下载线程 Fetcher 开始根据 Fetchlist 将网页抓取回来,如果下载线程有很
多个,那么就生成很多个 Fetchlist,也就是一个 Fetcher 对应一个 Fetchlist。然后 Crawler 根
据抓取回来的网页 WebDB 进行更新,根据更新后的 WebDB 生成新的 Fetchlist,里面是未
抓取的或者新发现的 URLs,然后下一轮抓取循环重新开始。这个循环过程可以叫做“产生 /
抓取/更新”循环。
指向同一个主机上 Web 资源的 URLs 通常被分配到同一个 Fetchlist 中,这样的话防止过多
的 Fetchers 对一个主机同时进行抓取造成主机负担过重。另外 Nutch 遵守 Robots Exclusion
Protocol,网站可以通过自定义 Robots.txt 控制 Crawler 的抓取。
剩余62页未读,继续阅读
Curry曰天
- 粉丝: 2
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页