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

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!!

相关推荐

    nutch安装配置文档

    Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。

    nutch2.3.1安装文档教程

    自己整理的亲测可用,已经安装了几遍,喜欢的可以看看

    nutch1.4帮助文档

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

    nutch1.2测试文档

    nutch1.2测试文档

    Nutch API帮助文档

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

    Nutch插件开发文档

    Nutch 高级 插件是开发 多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 API帮助文档2.2.1(目前最新版)

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

    nutch使用文档

    nutch 使用文档 Nutch 是一个开源的网络爬虫工具,使用 Java 语言编写,主要用于爬取和索引互联网上的网页。下面是 Nutch 的使用方法和相关知识点。 Nutch 搭建过程 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的开源网络爬虫项目,用于...

    Nutch 安装与配置文档

    北京邮电大学研究生课程实验指导书。 在windows上配置测试Nutch 用于学习nutch配置的各种问题 分为本地抓取,局域网抓取和互联网抓取三部分

    Nutch简要文档

    里面描述了Nutch的基本流程,Nutch与eclipse的结合,Nutch与Solr的结合

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

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

    nutch爬虫说明文档

    Nutch  Nutch 的爬虫有两种方式  爬行企业内部网(Intranet crawling:针对少数网站进行,用 crawl 命令。  爬行整个互联网:使用低层的 inject, generate, fetch 和 updatedb 命令,具有更强的可控制性。 有...

    nutch帮助文档;nutch学习 入门

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

    nutch pdf 学习文档

    Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。

    Nutch安装配置

    文件名`cygwin.doc`可能是一个关于如何安装和配置Cygwin的文档。Cygwin提供了一个类似Linux的shell,允许在Windows下运行许多Unix命令,对于Nutch的运行和调试非常有帮助。 5. **Hadoop集成**:Nutch通常与Hadoop...

    nutch配置与安装

    该文档主要介绍了nutch的安装与配置的过程,以及如何实现网内与往外的抓取。

Global site tag (gtag.js) - Google Analytics