一.安装准备
1. Cygwin:Nutch的标准配置环境应该是linux,为模拟linux环境,安装cygwin
2. Nutch1.2:用于抓取网页并索引网页文件的搜索引擎
下载地址:http://apache.etoak.com//nutch/
3. JDK1.6:nutch是基于java虚拟机的搜索引擎,所以必须安装
4. Tomcat6.0:是nutch提供的一个检索测试web工程
二.环境变量设置
1. JAVA_HOME:设置jdk的安装目录(JDK1.5下会出错,nutch是基于1.6开发的,如果需要使用1.5可能需要将源代码用1.5重新编译)。
2. PATH:设置java虚拟机的编译运行目录,%JAVA_HOME%\bin;%PATH%
3. 将cygwin的bin路径加入PATH,否则tomcat 启动时会找不到whoami命令
PATH=D:\cygwin\bin;%PATH%
三.修改Nutch的配置文件
1. 添加网站域名,以供网络爬虫抓取并索引
首先在bin目录下新建目录urls,在urls中新建一个文本文家nutch.txt,将要抓取的网站地址输入,比如http://www.sina.com.cn/(注意最后的/一定要有)
2. 修改网络爬虫抓取网页路径的规则
打开conf\crawl-urlfilter.txt文件,将
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
修改为
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*sina.com.cn/(这里也要有/)
3. 修改网络爬虫代理配置
打开nutch/conf/nutch-site.xml文件,修改为:
http.agent.name
HD nutch agent
http.agent.version
1.0
四.开始抓取符合配置文件路径的网页,并建立索引
进入nutch目录,进入bin目录
$sh nutch crawl urls -dir sina -depth 2 -threads 5 -topN 1000 >>log1.log
crawl:通知nutch.jar,执行crawl的main方法。
urls:存放需要爬行的url.txt文件的目录
dir sina 爬行后文件保存的位置
depth 2:爬行次数,或者成为深度,不过还是觉得次数更贴切,建议测试时改为1。
threads 指定并发的进程这是设定为 4
topN :一个网站保存的最大页面数。
五.部署测试web应用,进行搜索
1. 将nutch解压包中的nutch-1.2.war拷贝到tomcat的webapps目录下,解压为名称为ROOT(主要是省去了根路径,修改时需要停止tomcat)
2. 修改索引文件所在路径,即刚才抓取时设置的路径
修改/webapps/ROOT/WEB-INF/classes/nutch-site.xml
修改为
searcher.dir
D:\nutch1.2\bin\sina
3. 为支持中文检索(不设置的话中文将无法解析),修改tomcat配置文件server.xml
enableLookups="false"
redirectPort="8443"
acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="UTF-8" useBodyEncodingForURI="true" />
4. 启动tomcat,测试nutch搜索引擎,http://localhost:8080
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23071790/viewspace-703710/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23071790/viewspace-703710/