windows下nutch1.0环境搭建及测试

先申明,此文非全部原创,结合网上资料加上自己测试环境记录的内容,做个记录加深自己的印象。

 

1.安装jdk并设置环境

Jdk版本为1.6,在这里用了最简单环境设置,如果你设置不成功请参照网上教程,再此不过多说明.

配置PATH环境变量;D:/soft/Java/jdk1.6.0_13/bin

配置CLASSPATH环境变量 ,;


配置NUTCH_JAVA_HOME为D:/soft/Java/jdk1.6.0_13
2.安装Tomcat

我测试用的5.5版本

3.安装Cygwin.(在windows模拟linux环境)
提供一个iso镜像地址:ftp://soft.coolersky.com:19527/iso/cygwin2.510.2.2.iso
下载完后安装,安装过程网上有教程,不会的朋友可以去参考

4.安装并配置Nutch

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

2)将包nutch-1.0.tar.gz放到任意目录下。(例如D:/work)

打开Cygwin的快捷方式,cd d:/work

3)运行tar zxvf nutch-0.9.tar.gz进行解包,会在根目录下面生成nutch-1.0文件夹。(windosw下也可以直接解压)

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

5)打开nutch-1.0/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]*/.)*163.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>chinahui</value>
<description></description>
</property>

<property>
  <name>http.agent.url</name>
  <value>http://www.163.com</value>
  <description></description>
</property>

<property>
  <name>http.agent.email</name>
  <value>zhonghui@**.com</value>
  <description></description>
</property>


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

5.用nutch进行爬行

进入nutch目录

$ bin/nutch crawl urls -dir crawldata -depth 1 -threads 5 -topN 50 >& crawl.log

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

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

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

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

-threads 指定并发的进程 这是设定为 5


-topN 50:一个网站保存的最大页面数。

 

>& crawl.log 输出日志,参考用

 

注意爬网的时候crawldata目录不能存在,要不然会出错,如下:

exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory crawldata/index already exists!
    at org.apache.nutch.indexer.IndexMerger.merge(IndexMerger.java:74)
    at org.apache.nutch.crawl.Crawl.main(Crawl.java:151)



6.配置tomcat

1、将nutch-1.0.war复制到到Tomcat 的webapps目录下解压并改名为nutch。
2.  编辑D:/soft/Tomcat 5.5/Tomcat 5.5/webapps/nutch/WEB-INF/classes/nutch-site.xml文件
<configuration>
<property>
<name>searcher.dir</name>
<value>D:/work/nutch-1.0/crawldata</value>
</property>

</configuration>

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

6、在Tomcat /webapps/nutch/zh/include 下面新建header.jsp,内容就是复制header.html,但是
前面加上
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
在../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/ 就可以看到搜索主页了,而且搜索支持中文和分词。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值