首先svn检查nutch项目:svn co https://svn.apache.org/repos/asf/nutch/tags/release-1.6/
检出后的项目名叫release-1.6, 进入后用输入ant命令,来下载项目依赖的jar包,下载完成之后会多出Build和runtime文件夹。
运行第一个nutch任务:1.新建一个文件夹urls,新建一个url文件并且输入一个根地址 http://www.xywy.com
2.运行nutch命令,nohup bin/nutch crawl urls -dir data -depth 3 -threads 10 &
3.运行完成之后在data目录下生成三个文件夹,crawdb,linkdb,segments
segments文件夹下存放的是每运行一次generate,fetch都会生成一个以时间命令的文件夹
用nutch命令可以查看crawdb中那个url的数量:bin/nutch readdb data/crawldb/ -stats
bin/nutch readdb data/crawldb/ -stats 查看crawldb目录下的url的数据情况
bin/nutch readdb data/crawldb/ -dump data/crawldb/crawldb_dump 导出所有url
bin/nutch readdb data/crawldb/ -topN 10 data/crawldb/crawdb_topN 拿出分数排在前10的url记录
Nutch命令中readseg命令:
readseg -dump data/segments/20141204094346/ data/segments/20141204094346_dump -nocontent -nofetch -nogenerate -noparse -noparsedata -noparsetext (-dump 导出文件)
Nutch命令中的readlinkdb命令:
bin/nutch readlinkdb data/linkdb -dump data/linkdb_dump 导出linkdb的内容
bin/nutch readlinkdb data/linkdb -url http://club.xywy.com/ 查看特定url的关联url
=====================================================================================================
深入分析nutch的抓取周期
generate --> fetch --> parse --> updatedb
parse之后产生的文件夹为content、crawl_fetch、crawl_generate文件夹
执行invertlinks命令后会产生linkdb目录
parsechecker命令,该命令是用来解析一个url地址,可以通过他来查看一个url的所有输出url.
bin/nutch domainstats data2/crawldb/current/ host host 用来查看已经爬取到的url中有多少host.(可以查看host,domain,suffix,tld)。
bin/nutch webgraph -segmentDir data2/segments -webgraphdb data2/webgraphdb 根据segments生产webgraphdb文件夹
bin/nutch nodedumper -inlinks -output inlinks_node -top 1 -webgraphdb data2/webgraphdb 用nodedumper命令对webgraphdb按inlinks排序,并且查看分值。(可以根据outlinks排序,也可以根据score排序)