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爬取下来的网页信息,保存路径格式如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202006/01/d9c5d2e94b96b504114724ab8773852f)
主要爬取信息保存在路径segments下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202006/01/eeb94831632b0a11308c9f2ad250bdc8)
Crawldb是所有需要抓取的超连接信息(存放下载的URL,及下载的日期,用来页面更新检查时间,一般在爬取内容解析式不会用到)
Linkdb中存放的是所有超连接及其每个连接的连入地址和锚文本。
Segments存放抓取的页面,与上面链接深度 depth 相关,depth设为几则在 segments下生成几个以时间命名的子文件夹。下例截图是
-depth=3
![](https://oscdn.geek-share.com/Uploads/Images/Content/202006/01/8445402595ff23ffa84f72fa57d464cf)
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
<--未完待续-->
第一部分 单机尝试
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
<--未完待续-->
相关文章推荐
- Hadoop学习系列--持续更新中
- cocos2d-x 学习资源整理(持续更新...)
- iOS 开发学习资料整理(持续更新)
- cuda入门学习教程网站整理,持续更新中。。。
- 自己整理的android学习网站~持续更新
- cocos2d-x学习资源整理(持续更新)
- Deep Learning(深度学习)代码/课程/学习资料整理【持续更新】
- Hadoop学习笔记---持续更新中。。。
- docker学习资料整理(持续更新中..)
- hadoop 部分学习课程 持续更新
- 精心收集的Hadoop学习资料(持续更新)
- 精心收集的Hadoop学习资料(持续更新)
- Strus2学习记录整理【持续更新】
- Linux学习历程(持续更新整理中)
- Hadoop 常见错误解决方法(12-13持续整理更新中)
- 精心收集的Hadoop学习资料(持续更新)
- hadoop基础----hadoop理论(二)-----hadoop学习路线(持续更新)
- 一些学习资料的整理(持续更新中)
- Hadoop 3.0学习笔记(持续更新....)
- 个人学习网站整理(不完全记录,并持续更新)