`
zhangxiang390
  • 浏览: 216482 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

nutch的安装(转)

阅读更多

nutch作为开源代码,为热爱搜索引擎的开发人员们提供了很好的学习平台,0.8版本开始,采用了Hadoop作为自己的分布式文件系统,更是把nutch同其他开源搜索引擎的差距拉开。 ntuch提供了一个高效、开源、易操作的搜索引擎,内部有许多细微之处都是值得借鉴的,例如采用了hadoop的分布式文件系统,类似eclipse 的插件技术,apache的httpclient来访问网站,org.cyberneko.html得HtmlParse来解析页面等等。

   nutch的官方网站:http://lucene.apache.org/nutch/
   nutch的入门文章:http://lucene.apache.org/nutch/tutorial8.html

   以下详细的介绍一下nutch0.8的安装方法:

一、环境:
      1.操作系统:windowsXP, windows2000+
      2.javaVM:java1.5.x,设置JAVA_HOME到环境变量
      3.cygwin,当然这个不是必需的,只是nutch提供的脚本只能在shell环境下使用,所以使用cygwin来虚拟shell命令。
      4.nutch版本:0.9+
      5.tomcat:5.0+

二、cygwin的安装:

      cygwin的安装不再介绍安装步骤,只介绍安装后需要如何判断是否能够使用:在cygwin的安装目录下,查找x:\cygwin\cygwin\bin\sh.exe,存在此命令即可使用。
      cygwin在删除后会发现无法再次成功安装的问题,可以通过注册表内的查找功能,删除所有包含cygwin内容的键值即可。

 

三、nutch的安装和配置:

      1。从http://lucene.apache.org/nutch/release/下载0.9或更高的版本,解压缩后,放置到某个目录下(如d:)。

      2。在nutch/bin下,建立urls目录,然后建立一个url.txt文件,在url.txt文件内写入一个希望爬行的url,例如:http://www.sina.com.cn

      3。打开nutch\conf\crawl-urlfilter.txt文件,把MY.DOMAIN.NAME字符替换为url.txt内的url的域名,其实更简单点,直接删除MY.DOMAIN.NAME这几个字就可以了,也就是说,只保存+^http://([a-z0-9]*\.)*这几个字就可以了,表示所有http的网站都同意爬行。

      4 。打开nutch\conf\conf/nutch-site.xml文件,在<configuration></configuration>内插入一下内容:
<property>
 <name>http.agent.name</name>
 <value></value>
 <description>HTTP 'User-Agent' request header. MUST NOT be empty -
 please set this to a single word uniquely related to your organization.
 
 NOTE: You should also check other related properties:
 
     http.robots.agents
     http.agent.description
     http.agent.url
     http.agent.email
     http.agent.version
 
 and set their values appropriately.
 
 </description>
</property>
 
<property>
 <name>http.agent.description</name>
 <value></value>
 <description>Further description of our bot- this text is used in
 the User-Agent header. It appears in parenthesis after the agent name.
 </description>
</property>
 
<property>
 <name>http.agent.url</name>
 <value></value>
 <description>A URL to advertise in the User-Agent header. This will
   appear in parenthesis after the agent name. Custom dictates that this
   should be a URL of a page explaining the purpose and behavior of this
   crawler.
 </description>
</property>
 
<property>
 <name>http.agent.email</name>
 <value></value>
 <description>An email address to advertise in the HTTP 'From' request
   header and User-Agent header. A good practice is to mangle this
   address (e.g. 'info at example dot com') to avoid spamming.
 </description>
</property>
     把<name>XXX</name>之间的内容替换为其他字符,当然就算是不替换也无所谓,这里的设置,是因为nutch遵守了robots协议,在获取response时,把自己的相关信息提交给被爬行的网站,以供识别。

   以上配置,是爬取intranet的配置方式。
 四、执行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路径下。(如:cd  /cygdrive/d/nutch-0.9/bin)
      3。执行:sh nutch crawl urls -dir crawl -depth 3 -topN 50

   具体的爬行日志可以在nutch/logs目录下看到,注意查找“INFO  fetcher.Fetcher - fetching http://XXXXXXX”这样的内容,这里是抓去过程日志。
五、查询搜索:
   nutch提供了类似google、baidu的网搜索页面,在nutch压缩包下找到 nutch-0.9.war文件,放到tomcat/webapps目录下,修改webapps/nutch/WEB-INF/classes /nutch-site.xml文件内容如下:

<property>
<name>searcher.dir</name>
<value>d:\\nutch-0.9\\bin\\crawl</value>
</property>

   <value/>的内容是刚才爬行后的crawl目录位置,提供给客户端来查询。

  配置完成后,启动tomcat,输入http://localhost:8080/nutch-0.9,输入关键字,就会看到结果。

中文可能会出现乱码的问题,这个问题其实和 Nutch 关系不大,主要原因是使用 Tomcat 5.0 的问题。解决办法是修改 Tomcat 的 server.xml 文件的 connnector:

<Connector port="8080"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" 
    URIEncoding="UTF-8" useBodyEncodingForURI="true" />

其中 URIEncoding="UTF-8" useBodyEncodingForURI="true" 是需要新增的。否则搜索栏输入的字符默认编码将不能正确解析。

分享到:
评论

相关推荐

    \Lucene Nutch和安装说明文旦

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

    nutch

    《Nutch 入门教程.pdf》这本书籍或文档应该包含了 Nutch 的基础知识、安装配置、使用示例以及常见问题解答等内容。通过阅读此教程,你可以了解如何搭建 Nutch 爬虫环境,编写自定义插件,以及进行定制化抓取和索引。...

    nutch2.2.1-src

    1. **环境配置**:确保安装了Java开发环境(JDK)和构建工具(如Maven或Ant)。 2. **源码编译**:使用Maven或Ant命令编译源码,生成可执行的Nutch二进制文件。 3. **配置Nutch**:修改`conf/nutch-site.xml`等...

    nutch根据URL来查找快照

    1. **配置Nutch**: 首先,你需要确保Nutch已经正确安装并且配置完毕,包括设置爬虫的种子URL、配置抓取策略(如Crawl Interval)以及存储路径等。 2. **执行抓取**: 使用Nutch的`bin/nutch crawl`命令启动抓取过程...

    nutch2.2.1

    如果你打算编译和运行Nutch 2.2.1,你需要安装Java环境、Ant、Hadoop和Apache Maven。然后按照以下步骤操作: 1. 修改`conf`目录下的配置文件以适应你的环境。 2. 在命令行中导航到项目根目录,运行`ant runtime`来...

    myeclipse8.5导入nutch1.2源码

    - 转到 Libraries 标签页,点击 Add Class Folder,选择 `nutch1.2/conf` 目录。 3. **调整库顺序**: - 在 Order and Export 页面,找到 `nutch1.2/conf` 并将其置顶。 - 完成后点击 Finish,完成项目创建。 4...

    开发基于 Nutch 的集群式搜索引擎

    - 安装Nutch 0.8.1版本。 - 配置Hadoop环境,确保Nutch能够在Hadoop集群中正常工作。 - 设置主节点(RHAS 3.0)和从节点(Debian GNU/Linux 3.1)。 - 启动SSH服务。 3. **配置Nutch爬虫**: - 在Nutch配置...

    Nutch使用入门

    1. **下载并安装Nutch** - 从Apache官方网站下载最新版本的Nutch,解压缩到你选择的目录,例如 `D:\Nutch-1.0.2`。 2. **配置工作目录** - 使用Cygwin进入Nutch的安装目录,例如 `cd /cygdrive/d/nutch-1.0`。 3. **...

    nutch入门实例教程.pdf

    - **Tomcat 安装与配置**: 用于部署 Nutch 的 Web 界面,需配置相应的服务器环境。 - **Nutch 安装与配置**: - **下载与解压**: 下载 Nutch 的最新稳定版并解压。 - **配置文件修改**: 修改 `conf/nutch-site....

    nutch1.5-官方包

    - **README.txt**:提供项目的简要介绍和安装、运行指南。 - **NOTICE.txt**:列出项目中使用的第三方软件及版权信息。 - **lib**:存放Nutch依赖的库文件,包括Java类库和其他必要的二进制文件。 - **bin**:...

    nutch学习笔记之第一天初学

    通过本篇学习笔记,我们将深入探讨Nutch的基本概念、安装配置流程以及一些核心组件的功能。 #### 一、Nutch简介 Nutch是一款用于抓取网页并构建搜索引擎的工具包。它基于Hadoop,能够高效地处理大量数据,并且支持...

    apache nutch 2.2 linux

    Apache Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,以便于搜索引擎或者其他信息检索系统使用。Nutch 2.2 版本是该项目的一个稳定版本,尤其适合在 Linux 系统上运行。下面将详细阐述 ...

    nutch入门学习

    Nutch 的安装通常包括下载源代码或发行版、解压、配置环境变量以及设置必要的配置文件等步骤。Nutch 的配置文件主要有 `conf/nutch-site.xml` 和 `conf/solrconfig.xml` 等,用于指定索引存储位置、日志级别等参数。...

    Nutch插件开发和服务器发布流程

    - 转到Nutch主目录下,执行`ant runtime`命令来重新编译整个项目。 **6. 清理旧数据** - 删除HBase中的`webpage`表以及Solr服务的数据源。 - 通过HBase shell删除`webpage`表。 - 删除Solr服务的数据源。 **7. ...

    nutch-windows-script:在 Windows 上运行 Nutch 的简单脚本

    - **Java Development Kit (JDK)**:Nutch是用Java编写的,所以需要安装JDK并设置好环境变量。 - **Apache Ant**:用于构建Nutch项目,执行编译和测试任务。 - **Git**:获取nutch-windows-script项目的源代码。 - *...

    网络爬虫教程

    ### 知识点详解:Nutch教程——网络爬虫实现 #### 一、Nutch简介与准备工作 **Nutch** 是一个高度可扩展且开放源代码的网络爬虫项目,它可以抓取整个互联网上的网页,并对其进行索引。Nutch基于Hadoop构建,非常...

    news-nutch-plugin

    5. `README.md`或`docs`: 描述插件用途、安装和使用指南的文档。 通过这个插件,用户可以构建一个专门针对新闻网站的爬虫系统,高效地获取和处理新闻数据,为新闻检索、分析或监测等应用提供支持。在实际应用中,...

    大数据运维技术第2章 Hadoop平台安装课件.pptx

    Hadoop平台安装技术 Hadoop是一个大数据处理技术生态圈,包括众多软件框架。它起源于Apache Nutch项目,创始人为Doug Cutting。Hadoop的主要组件包括HDFS、MapReduce、YARN、HBase、Sqoop、Flume、Kafka、Storm、...

Global site tag (gtag.js) - Google Analytics