`
lizhengfa
  • 浏览: 45421 次
  • 来自: ...
社区版块
存档分类
最新评论

Nutch 完整安装文档

阅读更多
Nutch 安装文档
安装Cygwin
      
首先,我们去http://www-inst.eecs.berkeley.edu/~instcd/iso/下载到Cygwin软件的ISO文件,用Daemon软件将其设为虚拟光驱后,双击其中的Setup文件,出现程序安装的向导界面(如图1所示)。
    
    
  点击“下一步”后,安装向导要求选择Cygwin的安装方式,如图2所示:
   
    
  图示中共有三种安装方式:
  (1)Install from Internet:从Internet上下载并安装软件;
  (2)Download Without Installing:从Internet上下载安装的文件,但暂时不安装;
  (3)Install from Local Directory:从本地含有安装文件的目录进行安装。
  我们选择第三项“Install from Local Directory”后,点击“下一步”,如图3所示:
   
    
  安装向导要求选择Cygwin的安装路径,我们可以在“Root Directory”文本框中更改安装路径,点击“下一步”,如图4所示:
   
            
  安装向导要求选择Cygwin安装文件所在的本地存储路径,可以在“Local Package Directory”中设置,点击“下一步”,如图5所示:
   
    
  安装向导显示出所要安装的内容列表,用户可以根据自己的实际需要来决定安装哪些程序。点击循环箭头图标后面的文字,可以更改安装的方式,常用的方式有Default(表示只安装缺省的安装项)、Install(表示安装全部程序,空间要求较大)、Reinstall(表示重新安装程序)。推荐选择“Install”方式,一步到位,以免后扰,不过用户应保证至少有2G以上的空间可供使用。点击“下一步”后,就开始正式的安装了(如图6所示)。
   
    
  最后出现如图7所示的窗口,点击“完成”后,Cygwin安装完毕。
   
    
  至此,笔者还要对Cygwin再多说几句。Cygwin是一个在Windows平台上模拟运行Unix的环境,用户可以通过它来熟悉与学习Unix系统的操作。对于Unix系统还不甚熟悉的读者可以参阅笔者之前写作的《Unix操作系统的入门与基础》、《Unix的轻巧约取而实得》系列文章,下文中对涉及使用到的Unix命令将不再给予详细解释。
   
  2、安装Nutch
   
  去
http://mirror.vmmatrix.net/apache/lucene/nutch/下载到Nutch的最新版本,将其解压到指定目录中,如笔者是将其解压到I:\nutch-0.7.1中。
   
  3、测试Nutch命令
   
  在运行Nutch的脚本命令前,需要设置一些环境变量。Cygwin提供了一个名为cygwin.bat的文件,通过它可以自动完成必需环境变量的设置。该文件可在cygwin所在的根目录下找到,感兴趣的读者还可通过UltraEdit等编辑器打开该文件一查究竟。其实Cygwin安装完成之后,会在Windows系统桌面生成一图标,如图8所示:
   
    
  此图标就是cygwin根目录下cygwin.bat文件的快捷方式,双击此图标将打开一类似DOS窗口。由于先前笔者将Nutch的压缩包解压至I:\nutch-0.7.1中,故在此命令窗口中输入命令“cd /cygdrive/i/nutch-0.7.1”,读者可根据自己的安装路径进行相应的修改,然后使用命令“ls -l”可查看nutch-0.7.1中的所有子目录及文件信息。执行命令“bin/nutch”,如果读者能看到如图9所示的提示,那恭喜你,Nutch在Windows系统中的安装已经大功告成了!
   
    
安装配置nutch
安装步骤:
1,安装JDK 安装路径:C:\j2sdk1.4.2_042
 
2,安装tomcat,安装路径:D:\jakarta-tomcat-5.0.28
3,安装nutch-0.8.1.tar.gz
   将下载的压缩包解压缩到:D:\cygwin\nutch-0.8.1
 
 
配置步骤:
1、配置环境变量:
       NUTCH_JAVA_HOME="C:\j2sdk1.4.2_04"
2、创建目录
       在nutch\bin 目录下创建一个urls目录,然后在目录里面新建一个文件,文件名为 “url.txt”,内容为你要爬行的网站如:http://www.sina.com.cn或者 http://133.40.188.130:8880/klms
3、修改nutch\conf\crawl-urlfilter.txt文件
打开nutch\conf\crawl-urlfilter.txt文件,把MY.DOMAIN.NAME字符替换为url.txt内的url的域名,其实更简单点,直接删除MY.DOMAIN.NAME这几个字就可以了,也就是说,只保存+^http://([a-z0-9]*\.)*这几个字就可以了,表示所有http的网站都同意爬行。
如:+^http://([a-z0-9]*\.)*133.40.188.130:8880/
或者:+^http://([a-z0-9]*\.)*sina.com.cn/
4、修改nutch\conf\conf/nutch-site.xml文件
       打开nutch\conf\conf/nutch-site.xml文件,在<configuration></configuration>内插入一下内容:注:如果是sina.com.cn 则value 的值修改为:http://www.sina.com.cn
         <property>
                         <name>http.robots.agents</name>
                         <value>http://133.40.188.130:8880/klms</value>
         </property>
         <property>
                         <name>http.agent.name</name>
                         <value>http://133.40.188.130:8880/klms</value>
         </property>
         <property>
                         <name>http.agent.url</name>
                         <value>http://133.40.188.130:8880/klms</value>
         </property>
 
     把<name>XXX</name>之间的内容替换为其他字符,当然就算是不替换也无所谓,这里的设置,是因为nutch遵守了robots协议,在获取response时,把自己的相关信息提交给被爬行的网站,以供识别。
5、修改nutch\conf\nutch-default.xml
打开nutch\conf\nutch-default.xml 文件,找到<name>http.agent.name</name> ,然后把Value值随便设计一个。
<name>http.agent.name</name>
 <value>sina</value>
以上配置,是爬取intranet的配置方式。
6、执行nutch
由于配置nutch采用的是单独网站的配置方式,所以执行上我们也采用的是单网查询,全网查询在以后的内容中介绍。
先看一看nutch给出的命令:nutch crawl urls -dir crawl -depth 3 -topN 50
crawl:通知nutch.jar,执行crawl的main方法。
urls:存放需要爬行的url.txt文件的目录,注意,这个名字需要和你的文件夹目录相同,如果你的文件夹为search,那这里也应该改成search。
 -dir crawl:爬行后文件保存的位置,可以在nutch/bin目录下找到。
-depth 3:爬行次数,或者成为深度,不过还是觉得次数更贴切,建议测试时改为1。
 -topN 50:一个网站保存的最大页面数。
      执行命令的步骤:
1.  进入cygwin界面。
2.  使用cd命令,进入nutch\bin路径下。
3.  执行:sh nutch crawl urls -dir crawl -depth 3 -topN 50
4.  具体的爬行日志可以在nutch/logs目录下看到,注意查找“INFO  fetcher.Fetcher - fetching http://XXXXXXX”这样的内容,这里是抓去过程日志。
7、查询搜索:
nutch提供了类似google、baidu的网页页面,在nutch压缩包下找到nutch-0.8.war文件,放到tomcat/webapps目录下,修改webapps/nutch/WEB-INF/classes/nutch-site.xml文件内容如下:
<property>
<name>searcher.dir</name> <value>E:\\software\\splider\\nutch\\nutch-0.8\\nutch-0.8\\crawl</value>
</property>
   <value/>的内容是刚才爬行后的crawl目录位置,提供给客户端来查询。
8.解决中文问题
打开tomcat 目录下的conf\server.xml ,解决中文问题。
<Connector port="8880"
   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
   enableLookups="false" redirectPort="8443" acceptCount="100"
   debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="UTF-8" useBodyEncodingForURI="true" />
 
  配置完成后,启动tomcat,输入http://localhost:8080/nutch,输入关键字,就会看到结果了:
 
 
现在可以开始抓网页了
用cygwin进入/home/nutch目录,
./bin/nutch crawl ./URLS/URLS-20060212 -dir sina.com.cn -depth 2 -threads 4
depth 参数指爬行的深度,这里处于测试的目的,选择深度为 2 ;
threads 参数指定并发的进程 这是设定为 4 ;
3,配置tomcat
       将D:\Program Files\Tomcat 5.5\webapps\ROOT目录下文件全部删除
       将D:\cygwin\home\nutch中nutch-0.7.1.war解压缩到ROOT目录中
       (可以直接使用winrar解压缩,或者用命令jar xvf nutch-0.7.1.war)

       配置文件:D:\Program Files\Tomcat 5.5\webapps\ROOT\WEB-INF\classes\nutch-site.xml
<nutch-conf>
    <property>
        <name>searcher.dir</name>
        <value>D:\cygwin\home\nutch\sina.com.cn</value>
    </property>
</nutch-conf>

       重启tomcat服务器

       IE中输入http://localhost:8080
      
       你就可以看到自己的搜索引擎了
 
Nutch 爬行方式
Nutch 的爬虫有两种方式:
1、爬行企业内部网
1、爬行企业内部网(Intranet crawling)。针对少数网站进行。用 crawl 命令。
2、爬行整个互联网
2.1、爬行整个互联网。 使用低层的 inject, generate, fetch 和 updatedb 命令。具有更强的可控制性。
2.1.1、全网爬行
全网爬行设计去处理非常大量的爬行,它可能要花几个星期的时间才能完成,并起需要多台电脑来运行它。
2.1.2 下载 http://rdf.dmoz.org/rdf/content.rdf.u8.gz 然后解压 解压命令为: gunzip content.rdf.u8.gz
2.1.3 创建目录 mkdir dmoz
2.1.4 每搜索5000条URL记录选择一个存进urls文件: bin/nutch org.apache.nutch.tools. DmozParser content.rdf.u8 -subset 5000 > dmoz/urls
4.4 初始化crawldb: bin/nutch inject crawl/crawldb dmoz
4.5 从crawldb生成fetchlist: bin/nutch generate crawl/crawldb crawl/segments
4.6 fetchlist放置在重新创造的段目录,段目录根据指定的时间创建,我们保存这段变量s1:
s1=`ls -d crawl/segments/2* | tail -1`
echo $s1 显示结果如:crawl/segments/2006******* /*号部分表示是月日时的数字,如20060703150028
4.7 运行这段: bin/nutch fetch $s1
4.8 完成后更新数据结果: bin/nutch updatedb crawl/crawldb $s1
4.9现在数据库的参考页设在最初,接着来取得新的1000页:
bin/nutch generate crawl/crawldb crawl/segments -topN 1000
s2=`ls -d crawl/segments/2* | tail -1`
echo $s2
bin/nutch fetch $s2
bin/nutch updatedb crawl/crawldb $s2
4.10 让我们取得周围的更多:
bin/nutch generate crawl/crawldb crawl/segments -topN 1000
s3=`ls -d crawl/segments/2* | tail -1`
echo $s3
bin/nutch fetch $s3
bin/nutch updatedb crawl/crawldb $s3
4.11 创建索引:
bin/nutch invertlinks crawl/linkdb -dir crawl/segments
4.12 使用索引命令: bin/nutch index crawl/indexes crawl/crawldb crawl/linkdb crawl/segments/*
相关资料链接地址
http://www.nutchchina.com
分享到:
评论
1 楼 kjj 2009-06-11  
好文,正在学习nutch!!

相关推荐

    nutch2.3.1安装文档教程

    ### Nutch 2.3.1 安装与配置指南 #### 一、配置 ant 环境 在安装 Nutch 之前,首先需要确保环境中已经安装了 Apache Ant 工具,因为 Nutch 的构建过程依赖于 Ant。以下是具体步骤: 1. **下载 ant**: - 访问 ...

    nutch1.4帮助文档

    nutch1.4帮助文档,学习nutch1.4必备,最新nutch1.4核心类解读!

    Nutch插件开发文档

    ### Nutch插件开发知识点详解 #### 一、Nutch插件系统概述 Nutch是一款开源的网络爬虫工具,其强大的灵活性与扩展性得益于其独特的插件系统设计。插件(Plugin)作为Nutch的核心组件之一,为用户提供了一种灵活的...

    nutch1.2测试文档

    nutch1.2测试文档

    Nutch API帮助文档

    Nutch API帮助文档,学习Nutch必备

    nutch 初学文档教材

    2. nutch的安装与配置.....3 2.1 JDK的安装与配置.3 2.2 nutch的安装与配置........5 2.3 tomcat的安装与配置......5 3. nutch初体验7 3.1 爬行企业内部网....7 3.1.1 配置nutch....7 3.1.2 配置tomcat..8 3.1.3 ...

    关于Nutch的安装

    如果显示出Nutch命令脚本的帮助文档,说明Nutch已成功安装。 **4. 网络爬行** Nutch的网络爬行分为内部网爬行和全网爬行。 **4.1 内部网爬行** 内部网爬行适用于大型网站的抓取。你需要: - **创建URL文件**:...

    nutch的安装方法,好用

    ### Nutch 的安装方法详解 #### 一、前言 Nutch是一款开源的网络爬虫项目,基于Hadoop实现,可以抓取整个互联网,并且能够根据网页内容进行索引和检索。本文将详细介绍如何在Windows环境下安装配置Nutch,使初学者...

    nutch帮助文档;nutch学习 入门

    - 官方文档:Apache Nutch官网提供了详细的使用指南和API文档。 - 社区资源:参与Nutch的邮件列表、论坛讨论,获取最新的开发动态和问题解答。 - 开源教程:网上有许多开源的Nutch学习教程和视频课程,可供参考。...

    windows下nutch的安装.pdf

    而Nutch在不同版本的Windows操作系统上的兼容性,以及是否需要特别的依赖库,都需要在安装前仔细阅读Nutch的官方文档。注意,由于OCR扫描可能会产生错误,理解和应用过程中需要根据实际情况进行调整和修正。

    Nutch 安装与配置文档

    【Nutch 安装与配置】Nutch 是一个开源的搜索引擎项目,主要负责网页抓取、索引和搜索。在Windows环境下,为了运行Nutch,我们需要先安装Cygwin,这是一个提供Unix-like环境的工具,使得Windows用户可以执行类似于...

    Nutch API帮助文档2.2.1(目前最新版)

    Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。 本版本为html版,在离线情况下也可以方便使用。目前(2014.5.5)为最新版本的2.2.1。

    nutch使用文档

    nutch 使用文档 Nutch 是一个开源的网络爬虫工具,使用 Java 语言编写,主要用于爬取和索引互联网上的网页。下面是 Nutch 的使用方法和相关知识点。 Nutch 搭建过程 Nutch 的搭建过程主要包括准备工作、安装 ...

    nutch爬虫说明文档

    此外,Nutch 的API文档可以部署在Tomcat服务器上,以便随时查阅。 **配置Nutch** 配置Nutch 主要涉及到修改 `nutch-site.xml` 文件。此文件位于 `conf` 目录下,用于覆盖 `nutch-default.xml` 中的默认设置。例如,...

    Nutch简要文档

    【Nutch 简要文档】 Nutch 是一个开源的 Web 搜索引擎项目,由 Java 编写,它提供了一种分布式爬虫解决方案,能够从互联网中抓取网页并进行索引,为数据分析和信息检索提供支持。Nutch 的设计目标是透明度和公正性...

    nutch2.3+hbase0.94.14+hadoop1.2.1安装文档.

    nutch2.3+hbase0.94.14+hadoop1.2.1安装文档.txt )

    Nutch环境搭建文档

    5. 通过运行`bin/nutch`命令在`release-1.6/runtime/local`目录下测试安装是否成功。 6. 执行Nutch的抓取命令,如`bin/nutch crawl`,根据命令提示进行Web抓取操作。 Nutch的抓取过程通常包括种子URL设置、爬网、...

    \Lucene Nutch和安装说明文旦

    标题中的“Lucene Nutch和安装说明文档”暗示了我们要讨论的是一个关于Apache Lucene和Nutch的安装过程。Lucene是一个全文搜索引擎库,它提供了核心的搜索功能,而Nutch则是一个基于Lucene的开源网络爬虫项目,用于...

    lucene2.4+nutch学习笔记三:lucene 在多个文本文档里找出包含一些关键字的文档

    《Lucene 2.4与Nutch学习笔记:在多文本文档中搜索关键词》 Lucene是一个高性能、全文本搜索引擎库,它为开发者提供了在Java应用程序中实现全文搜索功能的基本工具。Nutch则是一个开源的网络爬虫项目,用于抓取...

Global site tag (gtag.js) - Google Analytics