琐碎的学习——nutch安装过程

http://wiki.apache.org/nutch/NutchTutorial

 

Apache Nutch是一个Java实现的开源的web爬虫,通过它我们可以自动搜集网页链接,减少大量的维护工作,例如检测坏链接。对抓取过的网页创建一个拷贝(Apache Solr的工作)Solr是一个开源全文索引搜索框架,通过solr,可以搜索nutch抓取的网页。nutch和solr的结合也是很简单直观

 

安装

 下载解压apache-nutch-1.X-bin.zip

 运行bin/nutch看到Usage: nutch COMMAND

 

 bin/nutch crawl urls -dir crawl -depth 3 -topN 5
	-dir 存放crawl的文件夹
	-threads 并发抓取网页的线程数目
	-depth	从root page链接深度
	-topN	每一层抓取的网页数目

简单的操作过程

 

 bin/nutch crawl urls -solr http://localhost:8983/solr/ -depth 3 -topN 5

 将抓取下来的网页生成索引

 

 Nutch数据由下面几个数据组成

1,crawldb,存放所有nutch需要抓取和已经抓取的url

2,link数据库,存放已知的urls之间的链接关系

3,一组segment,每个segment由一组urls组成,包含以下子文件夹

a,crawl_generate 需要抓取的urls

b,crawl_fetch 包含正在抓取url的状态

c,content 包含每个url获取到的文本流信息

d,parse_text 包含每个url解析过的文本

e,parse_data 包含解析到的outlinks以及metadata信息

f,crawl_parse 包含outlink URLS,用于更新crawldb

 

拆分为下面几个步骤

 

A,抓取网页

 

1,seeding the crawldb with a list of URLS

a,从DMOZ数据库中获取 (见手册)

b,从一个初始seed list获取 bin/nutch inject crawl/crawldb urls

编辑conf/nutch-site.xml

 

			<configuration>
				<property>
					<name>http.agent.name</name>
					<value>My Nutch Spider</value>
				</property>
			</configuration>

 

 			mkdir -p urls
			cd urls
			touch seed.txt
			vi seed.txt
				(ie: http://nutch.apache.org/)

 

2,fetching

从crawl/crawldb中创建需要抓取的list 

 

		bin/nutch generate crawl/crawldb crawl/segments

(生成一个以创建时间为名称的文件夹)

 

		s1=`ls -d crawl/segments/2* | tail -1`
		echo $s1   // "crawl/segments/20130105111821"
		bin/nutch fetch $s1
		bin/nutch parse $s1

然后用抓到的数据更新crawldb

 

		bin/nutch updatedb crawl/crawldb $1

这时crawldb就包含了初始设定的url和后来发现的一些url

 

		bin/nutch generate crawl/crawldb crawl/segments -topN 1000

这样,就抓去了1000个网页,然后来索引它们

 

3,invertlinks(反转链接)

 

		bin/nutch invertlinks crawl/linkdb -dir crawl/segments

 

B,搭建solr用于搜索

 

下载apache-solr-3.x.x.zip解压 

cd example

java -jar start.jar

 

检查下面两个链接能否打开

http://localhost:8983/solr/admin/

http://localhost:8983/solr/admin/stats.jsp

 

C,结合solr和nutch

cp apache-nutch-1.6/conf/schema.xml apache-solr-3.6.0/example/solr/conf/

	java -jar start.jar
	//索引
	bin/nutch solrindex http://127.0.0.1:8983/solr/ crawl/crawldb -linkdb crawl/linkdb crawl/segments/*

然后可以访问上面的两个网页进行搜索了

你可能感兴趣的:(Nutch)