之前几篇博文对nucth抓取周期的几个命令做了说明,本篇博文将对nutch抓取周期以外的几个重要的命令的使用进行详细的说明。
1. mergesegs
合并多个segment为一个segment。
参数:
参数说明:
- output_dir: 输出目录
- dir:合并路径
命令:
bin/nutch mergesegs data2/segments_all -dir data2/segments/
合并结果:
从结果可以看出,是把三个segments合并为了一个segment。
先来看下之前3个segment相关大小:
再来看下合并的结果大小:
从结果来看,大小没有变,是因为数据量比较小,如果数据量很大的话,效果也会相当的明显。另外hadoop对于处理大文件有先天的优势,所以合并的命令有非常大的作用。
合并的命令有3个:
另外两个:mergedb和mergelinkdb的使用方法和mergesegs的使用完全一样,这里不做详细说明。
2. invertlinks
反转连接,得到每一个连接的输入连接库。
参数:
参数说明:
- linkdb: linkdb路径
- dir:输出路径
执行命令:
bin/nutch mergesegs data2/segments_all -dir data2/segments/
执行结果:
可以看到,在data目录下面生成了linkdb目录了:
3. parsechecker
对一个url进行源数据的解析以及文本内容的解析。
参数:
参数说明:
- url:需要check的url。
执行命令:
bin/nutch parsechecker http://www.cnbeta.com
执行结果:
从执行结果可以看出有213条外链,网站签名等信息。
4. domainstats
域统计:从crwaldb中计算域名统计信息。
参数:
参数说明:
- inputDirs:输入目录,为crawldb路径;
- outDir:输出目录。
- host|domain|suffix|tld:从小到大的范围统计。
执行命令:
bin/nutch domainstats data2/crawldb/current/ host host
bin/nutch domainstats data2/crawldb/current/ domian domain
bin/nutch domainstats data2/crawldb/current/ suffix suffix
bin/nutch domainstats data2/crawldb/current/ tld tld
执行结果如下:
再来看看4个目录里面的内容:
5. webgraph
从已经存在的segment从生成一个web graph。
参数:
参数说明:
- segment:单独或者多个的segment目录;
- segmentDir:使用的segment的目录;
- webgraphdb:web graph 数据库路径。
执行命令:
bin/nutch webgraph -segmentDir data2/segments/ -webgraphdb data2/webgraphdb
执行结果:
6. nodedumper
查看web graph的内容。
参数:
参数说明:
- asSequenceFile:是否把输出文件设置为一个序列文件;
- group:根据host或者domain分组;
- inlinks:根据输入连接排序;
- outlinks:根据输出连接排序;
- sorces:根据分数排序;
- output:输出目录;
- topn:根据自然顺序显示N条结果;
- webgraphdb:webgraphdb目录。
执行命令:
bin/nutch nodedumper -topn 1 -inlinks -output inlinks_topn_1 -webgraphdb data2/webgraphdb
执行结果:
查看结果:
执行命令:
bin/nutch nodedumper -topn 1 -outlinks -output outlinks_topn_1 -webgraphdb data2/webgraphdb
执行结果:
查看结果:
执行命令:
bin/nutch nodedumper -topn 1 -scores -output scores_topn_1 -webgraphdb data2/webgraphdb
执行结果:
查看结果:
7. linkrank
计算分值。
参数:
参数说明:
- webgraphdb:webgraphdb的路径。
执行命令:
bin/nutch linkrank -webgraphdb data2/webgraphdb
执行结果:
再来通过nodedumper看下分值:
执行命令:
bin/nutch nodedumper -scores -output after_inject_score -topn 1 -webgraphdb data2/webgraphdb
结果:
从中就可以看到分值了。
8. freegen
轻量级抓取:从文本文件里面生成一个segment,然后对这个segment进行抓取。
参数:
参数说明:
- inputDir:输入路径;
- segmentsDir:segments路径。
执行命令:
mkdir url2
vim url2/url.txt//输入http://cnbbeta.com
bin/nutch freegen url2 data/segments
执行结果:
可以看到生成了新的segment:
9. indexchecker
对当前所配置的索引的插件进行检查。
参数:
参数说明:
- url:需要进行检查的url。
执行命令:
bin/nutch indexchecker httP://www.163.com
执行结果: