nutch全网爬行的底层命令

    技术2022-05-20  69

    最近在研究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代表所要搜索的关键词


    最新回复(0)