开源搜索引擎Nutch 0.9的安装使用

2024-02-17 13:38

本文主要是介绍开源搜索引擎Nutch 0.9的安装使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开源搜索引擎Nutch 0.9的安装使用

Nutch是Apache组织的一个开源项目,利用它用户可以 建立自己内部网的搜索引擎,也可以建立针对整个网络的搜索引擎。
一、Linux下的安装使用
  (我使用的操作系统是red hat as4)

  1.安装JDK,我安装的是JDK1.5 update11,安装方法到网上搜

  2.安装TOMCAT,我安装的是tomcat5.5.23,安装方法到网上搜,输入http://127.0.0.1:8080出现变态猫就ok了,可以进入下一步。

  3.到http://www.nutch.org下载Nutch 0.9,2007年4月2日发布的,嘿嘿。

    解压与安装
    下来的文件是nutch-0.9.tar.gz
    运行以下命令以解压:
    gunzip nutch-0.9.tar.gz            
    得到文件:nutch-0.9.tar
    再运行以下命令解包:
    tar –xvf nutch-0.9.tar
    终于得到了nutch-0.9目录,里面包含了nutch代码/文档

    测试
    进入nutch-0.9目录,执行bin/nutch,
    看到下列提示,则说明安装成功:
    Usage: nutch COMMAND
    where COMMAND is one of :
    ......

    设置待抓取网站
    在nucth-0.9目录下建立urls目录(也可以自己命名),在urls目录下建立个文件,我取名为nutch,没有扩展名,扩展名为.txt应该也可以
    打开刚才建立的这个名称为nutch的文件,输入待抓取的网站地址,如:
    http://www.sunleap.com/
    最后的/不能漏掉.

    编辑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]*/.)*www.sunleap.com/
    表示抓取http://([a-z0-9]*/.)*www.sunleap.com/域名下的所有页面

    编辑conf目录下的nutch-site.xml文件,该文件用于将爬虫信息告诉被抓取的网站,如果不进行设置nutch不能运行.
    该文件默认为这样:
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

    <!-- Put site-specific property overrides in this file. -->

    <configuration>
   
    </configuration>

    下面是我修改后的一个例子:
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

    <!-- Put site-specific property overrides in this file. -->

    <configuration>
        <property>
          <name>http.agent.name</name>
          <value>myfirsttest</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>myfirsttest</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>myfirsttest.com</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>test@test.com</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>

    </configuration>
    上述文件描述了爬虫的名称/描述/来自哪个网站/联系email等信息.

    抓取
    执行抓取并建立索引的命令:
    bin/nutch crawl urls -dir sunleap -depth 4 -threads 5 -topN 1000 >&logs/log1.log
    其中
        urls目录中的文件里记录了待爬网站地址
        -dir指定爬来的信息放到哪个目录下
        -depth 指定抓取的深度
        -thread 指定线程数
        -topN 指定抓取该网站的前若干页,这个参数对于抓取大网站的网页非常有用
        >&logs/log1.log指定日志存放位置,如果你想在控制台监视运行情况,可以不使用这行代码

    等待几分钟,抓取及建立索引结束

    配置tomcat
    删除Tomcat/webapps下的ROOT文件夹。
    复制nutch-0.9.war到到tomcat的webapps/下,同时改名为ROOT.war(Tomcat运行时将自动解开为ROOT目录)
    修改/webapps/ROOT/WEB-INF/classes/nutch-site.xml :
    将
    <configuration>
    </configuration>
    换成
    <configuration>
        <property>
            <name>searcher.dir</name>
            <value>/www/nutch0.9/sunleap</value>
        </property>
    </configuration>   
    把value里的内容替换为你实际存放抓取内容的地址,注意最后没有/,我开始加了/好像不行.


    为了支持中文需要修改tomcat的配置文件,打开tomcat/conf下的server.xml文件,将其中的Connector部分改成如下形式即可:
    <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
        enableLookups="false"
        redirectPort="8443"
        acceptCount="100"
        connectionTimeout="20000"
        disableUploadTimeout="true"
        URIEncoding="UTF-8" useBodyEncodingForURI="true" />
    注意最后一行的两项是新加的.

    利用tomcat搜索   
    重启tomcat,在浏览器中输入:http://127.0.0.1:8080
    出现nutch搜索界面,
    在搜索框中输入java并搜索,将看到你的搜索结果

二、Windows下的安装使用
    在安装nutch前先下载安装Cygwin,Cygwin是一个在Windows平台上模拟运行Unix的环境.
    nutch的安装/设置可以在windows下完成,但执行nutch的命令(如crwal)需要在Cygwin中进行.
    tomcat的配置同上.

这篇关于开源搜索引擎Nutch 0.9的安装使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/717932

相关文章

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

mac安装redis全过程

《mac安装redis全过程》文章内容主要介绍了如何从官网下载指定版本的Redis,以及如何在自定义目录下安装和启动Redis,还提到了如何修改Redis的密码和配置文件,以及使用RedisInsig... 目录MAC安装Redis安装启动redis 配置redis 常用命令总结mac安装redis官网下

springboot整合 xxl-job及使用步骤

《springboot整合xxl-job及使用步骤》XXL-JOB是一个分布式任务调度平台,用于解决分布式系统中的任务调度和管理问题,文章详细介绍了XXL-JOB的架构,包括调度中心、执行器和Web... 目录一、xxl-job是什么二、使用步骤1. 下载并运行管理端代码2. 访问管理页面,确认是否启动成功

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者