nutch1.0 在windows环境下的安装与使用

来源:互联网 发布:java获取磁盘io 编辑:程序博客网 时间:2024/05/13 10:57

步骤:

1、下载资源

2、安装过程

3、抓取过程

4、部署过程

5、检测过程

进入正题:

1、下载资源:

cygwin:http://cygwin.com/install.html,setup.exe

nutch-0.9:http://115.com/file/behqez1a (太难找了)

nutch-1.0:http://115.com/file/anq4fh8t

nutch-1.2:http://115.com/file/dpny2r6s

nutch-1.4:http://labs.renren.com/apache-mirror/nutch/

相信使用nutch的人都已经装了jdk、tomcat。

2、安装过程:

cygwin安装:

http://apps.hi.baidu.com/share/detail/30458811,全部安装后,9.4G,准备好足够的空间

nutch的安装:(1.3一下版本,1.3以上请看:http://hi.baidu.com/haininghacker/blog/item/dd91173c08e882d89f3d6285.html#0)

主要是配置,将刚才的下载gz包解压到某个地方,如g:\nutch-1.0

A) nutch-1.0下建一个logs文件夹,目的是为了爬的时候记录日志到其中

B) nutch-1.0下建一个crawled文件夹,目的是爬到的页面建索引到这个目录,至关重要!

C) nutch-1.0下新建一个txt,放入网址,如http://www.apache.org/,取名urls.txt。[注意:网址最后一个/必须要,否则会不抓网页],如有多个网址用换行隔开就行

D) nutch-1.0》conf下crawl-urlfilter.txt,修改倒数第三行和第四行,如

# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*apache.org/

可以再在下面加其他的网址,当然最简单就是+^http://([a-z0-9]*\.)*就行了

这里需要注意一点,如果需要抓动态网页,还需要修改其中的一行,具体详见:http://www.blogjava.net/kxx129/archive/2010/04/24/319280.html

E) nutch-1.0》conf下nutch-site.xml,<configuration></configuration>中加入:

<property>
          <name>http.agent.name</name>
          <value>myfirsttest</value>《=================================必填项,否则会搜索无结果。copy后注意要删除这条注释
          <description></description>
</property>

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

        <property>
          <name>http.agent.url</name>
          <value>myfirsttest.com</value>
          <description></description>
        </property>

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

  <name>searcher.dir</name>

  <value>G:\nutch-1.0\crawled</value>《=================================指向crawled文件夹的路径。copy后注意要删除这条注释

  <description></description>

</property>

<property>

 <name>fetcher.max.crawl.delay</name>

 <value>30</value>>《=================================页面有效期30天。copy后注意要删除这条注释

 <description></description>

</property>

3、抓取过程:

命令 bin/nutch crawl urls -dir crawled -threads 5 -depth 100 -topN 1000000 >& logs/crawl.log

通过cygwin来实现抓取,每次进入cygwin后,需要输入export LANG="zh_CN.GBK",否则抓取时会报IOException, job Faild  的异常。详情:http://wenku.baidu.com/view/70968e4cf7ec4afe04a1df56.html?from=related&hasrec=1

及时测试,如

bin/nutch org.apache.nutch.searcher.NutchBean apache

注:nutch命令详解http://hi.baidu.com/867862605/blog/item/bf65f51898460105403417c0.html

4、部署过程

将nutch-1.0下的war包拖到tomcat下的webapp下。运行tomcat,会将war包解压成nutch-1.0

在此nutch-1.0下修改一个文件:WEB-INF>>classes>>nutch-site.xml

<configuration></configuration>中加入:
<property>
  <name>searcher.dir</name>
  <value>G:\nutch-1.0\crawled</value>《=====================================一样啊
  <description></description>
</property>
再来修改tomcat的server.xml,用来处理中文乱码的。刚才的链接里面有介绍:http://wenku.baidu.com/view/70968e4cf7ec4afe04a1df56.html?from=related&hasrec=1

5、检测过程

这个最简单,就是测试你的nutch了。在http://localhost:8080/nutch-1.0/下输入关键字,看是否有记录,没有就需要好好检查了。

如果你比较细心,就会发现其实nutch的分页做得不好,处理方法请看:http://blog.csdn.net/spring123tt/article/details/7402097