您的位置:首页 > 运维架构

Hadoop-Nutch学习整理(持续更新)

2014-11-25 15:39 417 查看
Nutch学习整理
第一部分 单机尝试
1、安装部署
Nutch的部署和其他Hadoop生态产品的部署流程基本相似:下载软件,上传到服务器,解压文件,修改配置文件。网上有很多类似资料,不再赘述。
Nutch的配置文件主要有两个:

domain-urlfilter.txt 

      是用来配置所爬取网站的范围,域名和它的子网页的正则表达式,类似于爬取规则。一般配置为:
      # accept hosts in MY.DOMAIN.NAME  

         +^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/ 

nutch-site.xml      

      这类似于对我要爬取的网站进行一下声明,不声明的话,会导致爬取失败。

2、单机主要爬取命令
简单命令格式,不赘述。
bin/nutch crawl <urlDir> [-dir d] [-threads n] [-depth i] [-topN]

3、爬取结果解析

nutch爬取下来的网页信息,保存路径格式如下:



主要爬取信息保存在路径segments下:



Crawldb是所有需要抓取的超连接信息(存放下载的URL,及下载的日期,用来页面更新检查时间,一般在爬取内容解析式不会用到)
Linkdb中存放的是所有超连接及其每个连接的连入地址和锚文本。
Segments存放抓取的页面,与上面链接深度 depth 相关,depth设为几则在 segments下生成几个以时间命名的子文件夹。下例截图是
-depth=3



Segments下的文件夹含义:

crawl_generate :names
a set of urls to be fetched
crawl_fetch : contains
the status of fetching each url
crawl_parse : contains
the outlink urls, used to update the crawldb
content : contains
the content of each url
parse_text : contains
the parsed text of each url
parse_data : contains
outlinks and metadata parsed from each url

Segments是每轮抓取的时候根据crawldb生成的。存放的信息包括6种content、crawl_fetch、crawl_generate、crawl_parse、parse_data、parse_text。其中content是抓取下来的网页内容;crawl_generate最初生成(待下载URL集合);crawl_fetch(每个下载URL的状态)、content在抓取时生成;crawl_parse(包含用来更新crawldb的外链)、parse_data、parse_text在解析抓取的数据文件时生成。
在进行爬取结果导出的时候,六个参数(-nocontent  -nofetch -noparse -noparsedata -noparsetext
-nogenerate)分别对应需要导出的内容。
导出命令例:    

[root@master local]#
bin/nutch readseg -dump data_1125/segments/20141125020224 data_dump -nocontent -nofetch -nogenerate -noparse -noparsedata 

<--未完待续-->
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: