日期:2014-05-17  浏览次数:20816 次

Nutch1.2+Windows环境搭建
 


                     
Nutch1.2+Windows环境搭建



Nutch介绍
简单介绍
Nutch是一个开源的、Java实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具
主要特点
     Nutch 致力于让每个人能很容易, 同时花费很少就可以配置世界一流的Web搜索引擎. 为了完成这一宏伟的目标, Nutch必须能够做到:
  
   * 每个月取几十亿网页   

   * 为这些网页维护一个索引   

   * 对索引文件进行每秒上千次的搜索  
 
   * 提供高质量的搜索结果   
版本说明
当前最高版本为:apache-nutch-1.2-bin.zip
下载地址 : http://apache.etoak.com//nutch/apache-nutch-1.2-bin.zip
源码地址 :http://apache.etoak.com//nutch/apache-nutch-1.2-src.zip
安装前提
    cygwin  在windows 环境中 安装成功

安装说明
解压到 apache-nutch-1.2-bin.zip 到 C:\cygwin\目录下

运行cygwin快捷方式  如下图cd进入nutch-1.2/bin下面



打开 修改nutch-1.2/conf/nutch-site.xml
修改nutch-1.2/conf/nutch-site.xml  
<configuration>
   <property>
     <name>http.agent.name</name>
     <value>skean</value>
     <description></description>
   </property>
   <property>
     <name>http.agent.description</name>
     <value></value>
     <description></description>
   </property>
   <property>
     <name>http.agent.url</name>
     <value></value>
     <description></description>
   </property>
   <property>
     <name>http.agent.email</name>
     <value></value>
     <description></description>
   </property>
</configuration>

注:http.agent.name段下的skean值一定要给出(当然值是随意的)
有兴趣的可以查看nutch-1.2/conf/nutch-default.xml这个文件,里面也有http.agent.name段,默认值为空,所以才要我们强制指明

修改nutch-1.2/conf/crawl-urlfilter.txt
倒数四行的代码修改成如下(只是修改了+^http://([a-z0-9]*\.)*163.com/)指 明我们抓取的网站是http://www.163.com/下的网站。

# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*163.com/
# skip everything else


在nutch-1.2/bin/下建立文件夹urls,然后在urls下面建立文件url.txt   内容如下
http://www.163.com/




配置JAVAHOME 环境变量
在cygwin中进入nutch-1.2/bin目录 下 执行如下命令
export JAVA_HOME="/cygdrive/C/Program Files/Java/jdk1.6.0_10"

执行抓取命令  在cygwin中进入nutch-1.2/bin目录
./nutch crawl urls -dir crawl -depth 5 -threads 4 -topN 50

出现如下界面:


注:urls就是你之前建立的文件夹
      -dir crawl就是创建crawl文件夹来存储抓取的数据
      -depth 5 就是抓取的深度
      -threads 4 就是执行的线程数
      -topN 50 就是每层抓取数目
这样你的抓取数据都在crawl中了
可以执行
./nutch readdb sina/crawldb/ -stats
注:查看抓取信息。
把nutch-1.2文件夹下的nutch-1.2.war拷到tomcat的webapps文件下

配置nutch-1.2/WEB-INF/classes/nutch-site.xml 修改后如下
<configuration>
<property>
     <name>searcher.dir</name>
     <value>C:/cygwin/nutch-1.2/bin/crawl</value>
</property>
</configuration>

注:C:/cygwin/nutch-1.2/bin/crawl这个路径就是你之前抓取数据的存放路径。
中文乱码问题
配置tomcat的conf文件夹下的server.xml

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeo