有几个点需要注意一下的:

 

1,应该使用apache-nutch-1.2-bin压缩包,不要使用apache-nutch-1.2-src压缩包

 

2,需要运行Cygwin,除了下载安装之后,还需要设置环境变量,成功的标识是在cmd下看看能不能运行linux命令

 

3,最后设置jre为1.6

 

4,Nutch在1.2的版本上运行成功

 

5,刚部署的时候,Nutch不能支持中文,需要在Tomcat的conf的server.xml中关于端口的那部分修改成以下内容:

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


黑体字为新加部分


6,使用Tomcat运行war文件是,需要把爬取的网页数据库目录填写到/nutch-1.2/WEB-INF/classed/nutch-site.xml中,例如

<property>
    <name>searcher.dir</name>
    <value>/usr/local/nutch-1.2/crawl</value>

</property>

 

最后是是在eclipse中的步骤

1)在Eclipse新建一个Java Project,命名为Nutch。

2)将apache-nutch-1.2-src.zip解压出来的/src/java目录下的代码全部复制到工程的src目录下。

3)将解压后的nutch-1.2目录下的libpluginsconf三个文件夹复制到新建工程的根目录下(与src同级)。

4)右键工程properties,切换到"Libraries"选择"Add Class Folder..." 按钮,从列表中选择"conf", conf加入到classpath中。

5)右键工程properties,切换到"Libraries"选择"Add External JARs " 按钮,将lib文件夹中的所有jar加入到工程中。这两步完成后看代码应该不会有编译错误了。

6)修改conf下的nutch-site.xml,在configuration标签对中添加如下代码:

  1. <property>  
  2.     <name>http.agent.name</name>  
  3.     <value>Your Agent Name Here</value>  
  4. </property>  

当然,也可以对http.agent.email之类的属性赋值,但是不是必须的。这里如果没设置,运行的时候就会提示错误。

7)在conf下的nutch-default.xml中找到plugin.folders,将值设为./plugins,如果这里设置的不对,会报错:Job Failure,这也是一个常见的错误。

8)还是conf下,在crawl-urlfilter.txt中找到MY.DOMAIN.NAME,改为想抓取的网站的正则表达式,这里我们把这行改为

+^http://([a-z0-9]*\.)*163.com/   

试图抓取163网站的内容。

9)在工程的根目录下建立urls文件夹,其中新建一个url.txt文件,该文件中写入想抓取的网站URL,其实也就是一个爬虫的种子url,这里为了抓取163的网页,我们添加一个url为http://www.163.com/,注意这里最后的斜线一定要加上,不然最后的索引结果为0

10)配置java项目的运行参数:crawl urls -dir crawl -depth 5 -threads 4 -topN 10,这个参数的意思很好理解,我就不细说了,如果担心内存不够,可以设置VM的参数为:-Xms64m -Xmx512m。

最后点击Eclipse的Run按钮,如果没有什么问题,命令行下面就会显示很多打印的抓取提示,然后是索引之类的。

 

原文参考地址:http://blog.csdn.net/eaglex/article/details/6314450

posted on 2012-03-06 14:24  xnfriday  阅读(431)  评论(0编辑  收藏  举报