文档章节

nutch命令详解

mysky221
 mysky221
发布于 2015/06/27 08:29
字数 2601
阅读 27
收藏 0
 

关键字: nutch 命令 
Nutch
采用了一种命令的方式进行工作,其命令可以是对局域网方式的单一命令也可以是对整个Web进行爬取的分步命令。主要的命令如下:

1. Crawl 
Crawl
“org.apache.nutch.crawl.Crawl”的别称,它是一个完整的爬取和索引过程命令。 
使用方法: 
Shell
代码 
bin/nutch crawl <urlDir> [-dir d] [-threads n] [-depth i] [-topN] 

bin/nutch crawl <urlDir> [-dir d] [-threads n] [-depth i] [-topN]
 
参数说明: 
    <urlDir>
:包括URL列表的文本文件,它是一个已存在的文件夹。 
    [-dir <d>]
Nutch保存爬取记录的工作目录,默认情况下值为:./crawl-[date],其中[date]为当前目期。 
    [-threads <n>]
Fetcher线程数,覆盖默认配置文件中的fetcher.threads.fetch值(默认为10)。 
    [-depth <i>]
Nutch爬虫迭代的深度,默认值为5 
    [-topN <num>]
:限制每一次迭代中的前N条记录,默认值为 Integer.MAX_VALUE

配置文件: 
hadoop-default.xml 
    hadoop-site.xml 
    nutch-default.xml 
    nutch-site.xml 
    crawl-tool.xml

   其他文件: 
   crawl-urlfilter.txt

2.  Readdb 
    Readdb
命令是“org.apache.nutch.crawl.CrawlDbReader”的别称,返回或者导出Crawl数据库(crawldb)中的信息。 
  
使用方法: 
Shell
代码 
bin/nutch rseaddb <crawldb> (-stats | -dump <out_dir> | -url <url>)  

bin/nutch rseaddb <crawldb> (-stats | -dump <out_dir> | -url <url>) 
参数说明: 
<crawldb>
crawldb目录. 
[-stats]:
:在控制台打印所有的统计信息 
[-dump <out_dir>]
:导出crawldb信息到指定文件夹中的文件 
[-url <url>]
:打印指定URL的统计信息 
实例: 
Shell
代码 
$ bin/nutch readdb fullindex/crawldb -stats  

$ bin/nutch readdb fullindex/crawldb -stats

CrawlDb statistics start: fullindex/crawldb 
Statistics for CrawlDb: fullindex/crawldb 
TOTAL urls:     468030 
retry 0:        467361 
retry 1:        622 
retry 2:        32 
retry 3:        15 
min score:      0.0 
avg score:      0.0034686408 
max score:      61.401 
status 1 (db_unfetched):        312748 
status 2 (db_fetched): 80671 
status 3 (db_gone):     69927 
status 4 (db_redir_temp):       1497 
status 5 (db_redir_perm):       3187 
CrawlDb statistics: done 
配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml

说明: 
-stats
命令是一个快速查看爬取信息的很有用的工作,其输出信息表示了: 
DB_unfetched
:链接到已爬取页面但还没有被爬取的页面数(原因是它们没有通过url过滤器的过滤,或者包括在了TopN之外被Nutch丢弃) 
DB_gone
:表示发生了404错误或者其他一些臆测的错误,这种状态阻止了对其以后的爬取工作。 
DB_fetched
表示已爬取和索引的页面,如果其值为0,那肯定出错了。

3. readlinkdb 
它是"org.apache.nutch.crawl.LinkDbReader"的别称,导出链接库中信息或者返回其中一个URL信息。 
使用方法: 
Shell
代码 
Bin/nutch readlinkdb <linkdb> (-dump <out_dir> | -url <url>)  

Bin/nutch readlinkdb <linkdb> (-dump <out_dir> | -url <url>) 
参数说明: 
<linkdb>
linkdb工作目录 
[-dump <out_dir>]
:导出信息到文件夹下 
[-url <url>]
:打印某个URL的统计信息 
实例: 
Shell
代码 
$ bin/nutch readlinkdb fullindex/linkdb -url www.ccnu.edu.cn - no link information  

$ bin/nutch readlinkdb fullindex/linkdb -url www.ccnu.edu.cn - no link information 
配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml

4. inject 
它是"org.apache.nutch.crawl.Injector"的别称,注入新URLcrawldb中。 
使用方法: 
Shell
代码 
bin/nutch injector <crawldb> <urldir> 

bin/nutch injector <crawldb> <urldir>
参数说明: 
<crawldb>
crawldb文件夹 
<urldir>
:保存有URL的文件的文件夹目录 
配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml 
  
以下配置文件参数影响到了注入方式: 
db.default.fetch.interval——
按天设置爬取间隔,默认值30.0f 
db.score.injected——
设置URL的默认打分,默认值1.0f 
urlnormalizer.class——
规范化URL的类,默认值为 org.apache.nutch.net.BasicUrlNormalizer

5. generate 
它是“org.apache.nutch.crawl.Generator”,从Crawldb中抓取新的Segment 
使用方法: 
Shell
代码 
bin/nutch generator <crawldb> <segments_dir> [-topN <num>] [-numFetchers <fetchers>] [-adddays <days>] 

bin/nutch generator <crawldb> <segments_dir> [-topN <num>] [-numFetchers <fetchers>] [-adddays <days>]
参数说明: 
<crawldb>
crawldb目录 
<segments_dir>
:新建的爬取Segment目录 
[-topN <num>]
:选取前多少个链接,默认值为Long.MAX_VALUE 
[-numFetchers <fetchers>]
:抓取分区数量。 Default: Configuration key -> mapred.map.tasks -> 1 
[-adddays <days>]:
添加 <days>到当前时间,配置crawling urls ,以将很快被爬取db.default.fetch.interval默认值为0。爬取结束时间在当前时间以前的。 
示例: 
Shell
代码 
bin/nutch generate /my/crawldb /my/segments -topN 100 -adddays 20 

bin/nutch generate /my/crawldb /my/segments -topN 100 -adddays 20
配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml 
说明: 
generate.max.per.host –
设置单个主机最大的URL数量,默认情况下:unlimited

6. fetch 
它是“org.apache.nutch.fetcher.Fetcher”的代称,它负责一个segment的爬取。 
使用方法: 
Shell
代码 
bin/nutch fetcher <segment> [-threads <n>] [-noParsing] 

bin/nutch fetcher <segment> [-threads <n>] [-noParsing]
参数说明: 
<segment>
segment目录 
[-threads <n>]
:运行的fetcher线程数默认值为 Configuration Key -> fetcher.threads.fetch -> 10 
[-noParsing]
:禁用自动解析segment数据 
配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml 
说明: 
Fetcher
依赖于多个插件以爬取不同的协议,目前已有的协议及支撑插件如下: 
http: 
protocol-http 
protocol-httpclient 
https: 
protocol-httpclient 
ftp: 
protocol-ftp 
file: 
protocol-file 
当爬取网上文档的时候,不应该使用protocol-file,因为它是用于爬取本地文件的。如果你想爬取httphttps,应当使用protocol-httpclient 
7. parse 
它是“org.apache.nutch.parse.ParseSegment”的代称,它对一个segment运行ParseSegment 
使用方法: 
Shell
代码 
bin/nutch parse <segment> 

bin/nutch parse <segment>
参数说明: 
<segment>
Segment文件夹 
配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml 
说明: 
它依赖于多个插件来解析不同格式的内容,支持的格式及插件有: 
内容格式 插件 备注 
text/html parse-html
使用NekoHTML 或者TagSoup解析HTML 
application/x-javascript parse-js
解析JavaScript 文档(.js). 
audio/mpeg parse-mp3
解析MP3 Audio文档(.mp3). 
application/vnd.ms-excel parse-msexcel
解析MSExcel文档 (.xls). 
application/vnd.ms-powerpoint parse-mspowerpoint
解析MSPower!Point 文档 
application/msword parse-msword
解析MSWord文档 
application/rss+xml parse-rss
解析RSS文档(.rss) 
application/rtf parse-rtf
解析RTF文档(.rtf) 
application/pdf parse-pdf
解析PDF文档 
application/x-shockwave-flash parse-swf
解析Flash 文档 (.swf) 
text-plain parse-text
解析Text文档(.txt) 
application/zip parse-zip
解析Zip文档(.zip) 
other types parse-ext
通过基于content-type或者路径前缀的外部命令来解析文档 
默认情况下只有txtHTMLJS格式的插件可用,其他的需要在nutch-site.xml中配置使用。 
8 . segread 
"segread"
"org.apache.nutch.segment.SegmentReader"的代称,它读取并导出Segment数据。 
使用方法: 
Shell
代码 
bin/nutch segread <segment> 

bin/nutch segread <segment>
参数说明: 
<segment>
Segment文件夹 
配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml 
说明: 
Nutch0.9后的版本中改为了readseg 
9 . updatedb 
它是“org.apache.nutch.crawl.CrawlDb”的代称,用fetch过程中获取的信息更新crawldb 
使用方法: 
Shell
代码 
bin/nutch updatedb <crawldb> <segment> [-noadditions] 

bin/nutch updatedb <crawldb> <segment> [-noadditions]
参数说明: 
<crawldb>
crawldb目录 
<segment>
:已经爬取的segment目录 
[-noadditions]
:是否添加新的链接到crawldb 
配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml

10.  invertlinks 
它是“org.apache.nutch.crawl.LinkDb”的代称,它用从segment中获取到的信息更新linkdb 
使用方法: 
Shell
代码 
bin/nutch invertlinks <linkdb> (-dir segmentsDir | segment1 segment2 ...) 

bin/nutch invertlinks <linkdb> (-dir segmentsDir | segment1 segment2 ...)

参数说明: 
<linkdb>: linkdb
目录 
<segment>: segment
目录,可以指定至少一个的文件夹

配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml 
11.  index 
它是“org.apache.nutch.indexer.Indexer”的代称,创建一个segment的索引,利用crawldblinkdb中的数据对索引中的页面打分。 
使用方法: 
Shell
代码 
bin/nutch index <index> <crawldb> <linkdb> <segment> ... 

bin/nutch index <index> <crawldb> <linkdb> <segment> ...
参数说明: 
<index>:
索引创建后的保存目录 
<crawldb>: crawldb
目录 
<linkdb>: linkdb
目录 
<segment>: segment
目录,可以指定多个 
配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml

12.  merge 
Merge
“org.apache.nutch.indexer.IndexMerger”的代称,它合并多个segment索引。 
使用方法: 
bin/nutch merge [-workingdir <workingdir>] <outputIndex> <indexesDir> ...

参数说明: 
[-workingdir <workingdir>]
:提定工作目录 
<outputIndex>
:合并后的索引存储目录 
<indexesDir>
:包含待合并的索引目录,可以指定多个

配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml 
13.  mergedb 
它是“org.apache.nutch.crawl.CrawlDbMerger”的代称,合并多个CrawlDbURLFilter可选择性地过滤指定内容。 
可以合并多个DB到一个中。当你分别运行爬虫并希望最终合并DB时,它会相当有用。可选择地,可以运行当前URLFilter过滤数据库中的URL,以滤去不需要的URL。当只有一个DB时也很有用,它意味着你可以通过这个工作去滤掉那些DB中你不想要的URL 
只用这个工具来过滤也是可能的,在这种情况下,只指定一个crawldb 
如果同一个URL包括在多个CrawlDb中,只有最近版本的才会被保留,即由org.apache.nutch.crawl.CrawlDatum.getFetchTime()值决定的。然而,所有版本的元数据被聚合起来,新的值代替先前的值。 
使用方法: 
bin/nutch merge output_crawldb crawldb1 [crawldb2 crawldb3 ...] [-filter] 
参数说明: 
output_crawldb
CrawlDb输出文件夹 
crawldb1 [crawldb2 crawldb3 ...]
:一个或者多个CrawlDb(s). 
-filter
:采用的URLFilters 
配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml

14.  mergelinkdb 
它是“org.apache.nutch.crawl.LinkDbMerger”的代称,用于合并多个linkdb,可以选择性的使用URLFilter来过滤指定内容。 
当分别从多个segment群中分布式建立LinkDb而又需要合并为一个时很有用。或者,也可以指定单个LinkDb,只是用它来过滤URL 
只用这个工具来过滤也是可能的,在这种情况下,只指定一个LinkDb 
如果一个URL包含在多个LinkDb中,所有的内部链接被聚合,但是最多db.max.inlinks 指定的内链数会添加进来。 如果被激活,URLFilter可以应用到所有的目标URL及其内链中。如果目标链接被禁止,所有的该目标链接的内链将和目标链接一起被移去。如果某些内链被禁止,那么只有他们会被移去,在校验上面提到的最大限制数时他们不会被计算在内。 
使用方法: 
bin/nutch mergelinkdb output_linkdb linkdb1 [linkdb2 linkdb3 ...] [-filter] 
参数说明: 
output_linkdb
:输出linkdb 
linkdb1 [linkdb2 linkdb3 ...]:
多于一个的输入LinkDb(s) 
-filter: Actual URLFilters to be applied on urls and links in LinkDb(s). 
配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml 
15.  mergesegs 
它是“org.apache.nutch.segment.SegmentMerger”的代称,用于合并多个segment,可以选择性地输出到一个或者多个固定大小的segment中。 
使用方法: 
Shell
代码 
bin/nutch mergesegs output_dir (-dir segments | seg1 seg2 ...) [-filter] [-slice NNNN] 

bin/nutch mergesegs output_dir (-dir segments | seg1 seg2 ...) [-filter] [-slice NNNN]

参数说明: 
output_dir
:结果segment的名称或者segment片的父目录 
-dir segments
:父目录,包括多个segment 
seg1 seg2 ...
segment目录列表 
-filter
:通过URLFilters过滤 
-slice NNNN:
创建多个输出segment,每一个中包括了NNNNURL

配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml 
16.  dedup 
“dedup”
“org.apache.nutch.indexer.DeleteDuplicates”的别名,它segment indexes中去掉重复的页面。 
使用方法: 
Shell
代码 
bin/nutch dedup <indexes> ... 

bin/nutch dedup <indexes> ...
参数说明: 
<indexes>
indexes索引文件 
配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml 
17.  plugin 
它是“org.apache.nutch.plugin.PluginRepository”的代称,用于从插件库中加载一个插件并执行其主方法。 
使用方法: 
Shell
代码 
bin/nutch plugin <pluginId> <className> [args ...] 

bin/nutch plugin <pluginId> <className> [args ...]参数说明: 
<pluginId>
:期望执行的插件ID 
<className>
:包含主方法的类名 
[args]
:传入插件的参数 
配置文件: 
hadoop-default.xml 
hadoop-site.xml 
nutch-default.xml 
nutch-site.xml 

 

© 著作权归作者所有

mysky221
粉丝 2
博文 66
码字总数 127368
作品 0
南京
私信 提问
《Nutch笔记》Nutch-1.7+solr-4.7集成

一、下载安装nutch 下载地址 http://apache.fayea.com/apache-mirror/nutch/1.7/apache-nutch-1.7-bin.tar.gz 安装 [root@centos data]# cd /data/[root@centos data]# mkdir nutch[root@ce......

燃點
2014/03/21
0
0
Nutch中文教程--nutcher

nutcher 是 Apache Nutch 的中文教程,在github上托管。nutch社区目前缺少教程和文档,而且教程对应版本号较为落后。nutcher致力于为nutch提供一个较新的中文教程和文档,供开发者学习。 gi...

CrawlScript
2015/03/05
3.7K
4
nutch相关命令(网上收集资料)

Nutch本地索引更新策略 Nutch查询分析总结及思考 Nutch二次开发总结(一) Nutch二次开发总结(二) Nutch基本命令解释(一) Nutch基本命令解释(二) Nutch基本命令解释(三) Nutch搜索引...

hiqj
2014/04/18
0
0
Nutch 关于读取资源数据的命令

资料来源:http://adt.haotui.com/thread-278-1-1.html 关于读取资源数据的命令 最近在研究nutch,整理了一下关于读取资源数据的命令。 1.查看crawldb数据库:bin/nutch readdb url/crawldb/...

hiqj
2014/04/18
0
0
《Nutch笔记》Nutch-2.2+MySQL集成

一、MySQL配置 1、my.ini配置 找到[mysqld]在下面添加skip-grant-tables和character-set-server=utf8 找到[mysql]、[client]在下面添加default-character-set=utf8 重启mysql服务 (注:)如...

燃點
2014/04/08
0
10

没有更多内容

加载失败,请刷新页面

加载更多

Storm+Hbase广告实时统计

本文主要讲述使用Kafka+Strom+Hbase搭建的一套广告实时计算系统。其中服务器显示使用的是SpringBoot+Vue+ElementUI+EChats. 主要内容: 1.需求 2.日志格式 3.Hbase表格设计 4.编写Storm程序 ...

飓风2000
11分钟前
2
0
android,ContentProvider+ContentObserver+ContentResolver,用法。

这个是传智播客老师讲android开发时的一个图。 一、 PersonProvider继承ContentProvider,实现ContentProvider中的数据操作类。 ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起...

天王盖地虎626
17分钟前
2
0
解决markdown中的不换行问题

没有解决我的格式显示问题 https://blog.csdn.net/qq_23483671/article/details/79017609

南桥北木
22分钟前
2
0
产品上新|ZStack3.5.0正式发布啦!

海量产品资料传送门~ 一、ZStack全线产品下载通道汇总 社区版(免费): https://www.zstack.io/product/zstack_open_source/ 企业版下载: https://www.zstack.io/product/zstack_enterpris...

ZStack社区版
24分钟前
2
0
mysql 大表分页查询 翻页 优化方案

mysql分页查询是先查询出来所有数据,然后跳过offset,取limit条记录,造成了越往后的页数,查询时间越长 一般优化思路是转换offset,让offset尽可能的小,最好能每次查询都是第一页,也就是...

花树堆雪
28分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部