Windows下Nutch的安装过程

来源:http://read.newbooks.com.cn/info/196850.html

一、基本要求

1. Java 1.4.x
这里
SunJava官方网站,这里可以下载到J2EE SDK 1.4版本的安装程序。

2. Apache's Tomcat 4.x
这里
Apache's Tomcat的官方网站,这里可以下载到Apache's Tomcat 6.0版本的安装程序。

3. Cygwin
这里
Cygwin的官方网站,这里可以下载到Cygwin的下载程序。

4. Nutch
这里
Nutch的官方网站,这里可以下载到Nutch 0.9版本的程序。

 

二、程序安装

1.
安装J2EETomcat

需要注意的是J2EE SDKApache's Tomact均是在Windows上运行的程序,在下载时需要选择For Windows而不是For LinuxJ2EE SDKApache's Tomact的安装都很简单,没什么好多说的。

2.
安装Cygwin

Cygwin官方网站下载的程序只是一个用于下载Cygwin的程序,需要通过这个下载程序下载Cygwin。可以到网上搜索一下相关的安装教程,过程也比较简单。

3.
安装Nutch

把从Nutch官方下载的压缩文件拷贝到Cygwin所在目录下的usr/local的目录中(放到别的目录中也可以,但最好在Cygwin下的目录中,否则执行起命令来就比较麻烦),然后解压。你也可以先解压再拷贝,这都无关紧要。最后我把解压的文件夹重命名为nutch,如果你没有重命名,在执行下面的命令时要注意替换。

4.
设置环境变量

打开Cygwin,在命令行中执行如下命令:

$ NUTCH_JAVA_HOME=D:/Sun/AppServer/JDK
$ export NUTCH_JAVA_HOME


上面的环境变量NUTCH_JAVA_HOME的值是你机器上Java SDK所在的目录,在笔者机器上是“D:/Sun/AppServer/JDK”。可以通过输入export命令查看环境变量是否添加成功。

至此我们的Nutch程序就算在Cygwin环境中安装完成了。

三、配置Nutch及执行爬行操作

在爬行之前,还需要做一些准备工作。需要注意的是在下文中如果没有特别说明,均指操作是在Windows中进行的。

1.
Nutch目录下创建一个文件用来存放要抓取的网址,这里我们创建了一个名为url.txt的文本文件,文件内容如下:

http://blog.csdn.net/thinkport/


2. 
打开Nutch目录下的conf/crawl-urlfilter.txt文件,设置爬虫搜索的范围,内容如下:

# accept hosts in MY.DOMAIN.NAME
+^http://blog.csdn.net/thinkport/


3.
打开Nutch目录下的conf/nutch-site.xml文件,在<configuration></configuration>之间添加如下内容:

<property>
  
<name>http.agent.name</name>
  
<value>Think</value>
  
<description></description>
</property>

<property>
  
<name>http.agent.description</name>
  
<value>Think</value>
  
<description></description>
</property>

<property>
  
<name>http.agent.url</name>
  
<value>http://blog.csdn.net/thinkport</value>
  
<description></description>
</property>

<property>
  
<name>http.agent.email</name>
  
<value>thinkport@email.com.net.org</value>
  
<description></description>
</property>


在上面的propertyvalue中设置你爬虫的信息,这些信息将会附加在你发送给服务器的HTTP请求中。

4.
Cygwin中执行如下命令:

$ cd /usr/local/nutch
$ bin/nutch crawl url.txt -dir blog -depth 2 -threads 10 >& crawl.log


上面的url.txt指定了我们创建的存有网址的文本文件,blog是用于保存Nutch创建的索引文件的文件夹,后面配置Tomcat时要用到。参数depth指定了爬虫爬行的深度,参数threads指定了用于爬行的并发线程数。

四、在Tomcat中搭建搜索程序

1.
Tomcatwebapps目录下,删除Root文件夹(如果你害怕,那就先给这个文件夹改个名字吧),将Nutch目录中的nutch-0.9.war重命名为root.war,然后将root.war拷贝到Tomcat/webapps目录下,Tomcat会自动为你创建一个名为ROOT的文件。

2.
webapps/root/web-inf/classes/nutch-site.xml的文件中添加如下内容:

   <property>
      <name>searcher.dir</name>
      <value>D:/cygwin/usr/local/nutch/blog</value>
    
</property>


修改value为你爬行的程序存放索引的目录,在这里我们的目录是D:/cygwin/usr/local/nutch/blog,参见本文3.4节中关于blog的说明。

3.
Web浏览器中访问http://localhost:8080/,即可使用Nutch搜索刚才爬行过的网页中的内容了。

五、常见问题

1.
Nutch的搜索框中输入中文变成乱码的问题。问题是由Tomcat引起的,只要在Tomcatconf/server.xml指定编码便可解决问题,修改后的内容如下:

<Connector 
    
port="8080" 
    protocol
="HTTP/1.1" 
    connectionTimeout
="20000" 
    redirectPort
="8443" 
    URIEncoding
="UTF-8" 
    useBodyEncodingForURI
="true" />


其中URIEncoding="UTF-8"useBodyEncodingForURI="true"是要添加的内容。

2.
错误信息:

Stopping at depth=0 - no more URLs to fetch.
No URLs to fetch - check your seed list and URL filters.


你漏了在conf/crawl-urlfilter.txt中设置搜索范围,详见本文的3.2节。

3.
错误信息:

failed with: java.lang.RuntimeException: Agent name not configured!


你漏了设置爬虫的Agent信息,详见本文的3.3节。



本文地址:http://read.newbooks.com.cn/info/196850.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值