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代表所要搜索的关键词

你可能感兴趣的:(nutch全网爬行的底层命令)