nutch 安装 配置 运行

1.安装jdk

Jdk版本为1.6, 下载地址:

http://www.sun.com/download/

安装路径:C:\Program Files\Java\jdk1.6.0_05\(安装路径不做硬性要求)

配置PATH环境变量  ;%JAVA_HOME%\bin;%TOMCAT_HOME%\bin

配置JAVA_HOME环境变量  C:\Program Files\Java\jdk1.6.0_05

配置JAVA_BIN环境变量  C:\Program Files\Java\jdk1.6.0_05\bin

配置CLASSPATH环境变量 %JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar

2.安装Tomcat

版本为5.0 (一定要用Tomcat5.0,如果注意下载了Tomcat6.0,会导致运行时的一些不知名的异常:例如 “Attribute value details.getValue("url") is quoted with " which must be escaped when used within the value)
下载地址:

http://tomcat.apache.org/

设置TOMCAT_HOME环境变量  c:\tomcat

3.安装Cygwin.(在windows模拟linux环境)

下载Cygwin

4.安装Nutch

1)下载nutch包,地址为http://lucene.apache.org/nutch/,大约60M

2)将包nutch-0.9.tar.gz放到cygwin的安装目录根目录下。(例如D:\cygwin

打开Cygwin的快捷方式,退到根目录,运行dir会看到nutch-0.9.tar.gz.

3)运行tar xvf nutch-0.9.tar.gz进行解包,会在根目录下面生成nutch-0.9文件夹。

4)将该文件改名, mv nutch-0.9 nutch

5)在nutch目录下,建立urls目录,然后建立一个url(不带后缀名哦)文件,在url文件内写入一个希望爬行的url,例如:http://www.sohu.com/   (后面的/不能丢)

6)打开nutch\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]*\.)*sohu.com/(这里要注意哦)
7)打开nutch/conf/nutch-site.xml文件,在<configuration></configuration>内插入以下内容:

<property>

  <name>http.agent.name</name>

  <value>nutch</value>

  <description></description>

</property>

 

<property>

  <name>http.agent.description</name>

  <value>hello</value>

 

<description></description>

</property>

 

<property>

  <name>http.agent.url</name>

  <value>http://www.baidu.com</value>

  <description></description>

</property>

 

<property>

  <name>http.agent.email</name>

  <value>[email protected]</value>

  <description></description>

</property>

 

 

 

 

       注意http.agent.name的value值一定要写上,不能为空,否则会在抓取网页时会报错!

5.nutch进行爬行

进入nutch目录

$ sh ./bin/nutch crawl urls -dir mydir -depth 2 -threads 4 -topN 50

crawl:通知nutch.jar,执行crawlmain方法。

urls:存放需要爬行的url.txt文件的目录

-dir mydir 爬行后文件保存的位置

-depth 2:爬行次数,或者成为深度,不过还是觉得次数更贴切,建议测试时改为1

-threads 指定并发的进程 这是设定为 4
-topN 50
:一个网站保存的最大页面数。

注意爬网的时候mydir目录不能存在,要不然会出错

 

6.配置tomcat

1、将nutch-0.9.war复制到到Tomcat 的webapps目录下解压并改名为nutch。 
2.  编辑C:\tomcat\webapps\nutch\WEB-INF\classes\nutch-site.xml文件
<configuration>
<property>
<name>searcher.dir</name> 
<value>C:\cygwin\nutch\mydir</value>
</property>
</configuration>

注意<value>C:\cygwin\nutch\mydir</value>是爬取网页的目录,一定要注意<value>C:\cygwin\nutch\mydir</value>之间不能有空格,不能写成<value> C:\cygwin\nutch\mydir   </value>这样,不然会出现不知名的异常,找个老半天也找不到错在哪,一般会出现译码错误。

6、在Tomcat \webapps\nutch\zh\include 下面新建header.jsp,内容就是复制header.html,但是 
前面加上 
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
D:\tomcat\webapps\nutch\search.jsp里面,找到并修改为 
<jsp:include page="<%= language + "/include/header.jsp"%>"/> 
顺便把下面js注释掉 
function queryfocus() { 
//search.query.focus(); } 

7
、在Tomcat\conf\server.xml 找到以下段,并修改 
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" useBodyEncodingForURI="true" />

注意URIEncoding="UTF-8" useBodyEncodingForURI="true" 这个一定要写上,否则在搜索页面有乱码!
8
、重启tomcat,访问 http://localhost:8080/nutch/ 就可以看到搜索主页了,而且搜索支持中文和分词。

猜你喜欢

转载自liuxinglanyue.iteye.com/blog/809211