nutch全网爬行的底层命令

最近在研究nutch,找到了关于使用底层命令进行全网爬行的资料。

首先获得网址集,使用http://rdf.dmoz.org/rdf/ 目录下的content.example.txt 文件做测试,建立文件夹dmoz

命令:bin/nutch org.apache.nutch.tools.DmozParser content.example.txt >dmoz/urls

注射网址到crawldb数据库:

命令:bin/nutch inject crawl/crawldb dmoz

创建抓取列表:

命令:bin/nutch generate crawl/crawldb crawl/segments

把segments下的文件保存到变量s1中,供以后调用:

命令:s1=`ls -d crawl/segments/2* | tail -1`

命令:echo $s1

注`不是单引号,而是左上角跟~一个键位的那个

运行fetcher获取这些url信息:

命令:bin/nutch fetch $s1

更新数据库,把获取的页面信息存进数据库中:

命令:bin/nutch updatedb crawl/crawldb $s1

第一次抓取结束。

接下来选择分值排在前10的url来进行第二次和第三次抓取:

命令:bin/nutch generate crawl/crawldb crawl/segments -topN 10

命令:s2=`ls -d crawl/segments/2* | tail -1`

命令:echo $s2

命令:bin/nutch fetch $s2

命令:bin/nutch updatedb crawl/crawldb $s2

命令:bin/nutch generate crawl/crawldb crawl/segments -topN 10

命令:s3=`ls -d crawl/segments/2* | tail -1`

命令:echo $s3

命令:bin/nutch fetch $s3

命令:bin/nutch updatedb crawl/crawldb $s3

根据segments的内容更新linkdb数据库:

命令:bin/nutch invertlinks crawl/linkdb crawl/segments/*

建立索引:

命令:bin/nutch index crawl/indexes crawl/crawldb crawl/linkdb crawl/segments/*

可以通过此命令进行查询:

命令:bin/nutch org.apache.nutch.searcher.NutchBean faq 此处的faq代表所要搜索的关键词

你可能感兴趣的:(apache)