最近在搭建nutch搜索平台,期间遇到许多问题,在此与各位分享。由于具体安装过程网上已经有详细的解释,再次不必多言,只简单提一下大致过程,以期各位有宏观上的认识。
nutch0.8安装:http://blogger.org.cn/blog/more.asp?name=lhwork&id=19244
nutch0.9安装:http://www.cnblogs.com/dev2dev/archive/2006/02/01/324638.html
nutch0.9使用:http://www.cnblogs.com/dev2dev/articles/326394.html
安装过程概览如下,我会在每个步骤下将可能出现的问题做自己的说明。
[ 安装cygwin ]
为什么需要安装cygwin 呢?因为nutch中网页“爬行”与索引的建立都使用unix的shell命令(请看nutch主目录下的bin目录),而大多数的朋友都是使用windows,所以我们需要在window上来模拟unix环境,cygwin正好完成了这个工作。它使得我们可以在windows平台上使用shell命令。
什么是cygwin:http://baike.baidu.com/view/3968.html?wtp=tt
安装完成后,点击cygwin主目录下的cygwin.bat可以自动完成必须的环境变量的配置,不用我们动手了。
[安装nutch ]
虽然说是安装nutch,实际上nutch并不需要什么安装,我们将它下来下来以后解压就可以了。
然后在Windows系统的环境变量设置中,增加NUTCH_JAVA_HOME变量,并将其值设为JDK的安装目录。
[对具体网站进行爬行和索引]
在这里我们需要对几个文件进行修改,以使得我们的程序能够对具体的网站进行爬行与建立索引。下面以对中山大学的站点进行处理为例。
中山大学的主页为:http://www.sysu.edu.cn
1.对conf/crawl-urlfilter.txt文件的修改。
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
改为:
# accept hosts in MY.DOMAIN.NAME
+^http://www.sysu.edu.cn
说明:+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/这是一个用正则表达式,匹配允许爬行的网页。上面我们将其设定为唯一的具体网页了。实际上,改成+^http://([a-z0-9]*\.)*就能匹配所有的网页了。
2.在nutch主目录下(其它位置也可以,不过在运行命令时候需要指定到具体的位置)url.txt。这是指在nutch0.9下面,如果是在nutch0.8下面,需要建立一个urls的文件夹,然后在下面家里url.txt文件。
在url.txt中输入你要爬行和建立索引的网址。
3.虽然很少有文章提到,但是实际上许多网页对爬虫进行了一定的限制,只有遵循一定协议的爬虫才能进行爬行,因此需要配置爬行的协议。所以需要对config\nutch-site.xml进行修改,修改后的类容如下。
<?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>www.sysu.edu.cn</value>
<description>My Search Engine</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>
</configuration>
注意其中的红色部分,虽然网上资料都说可以不用修改,但是如果出现意味,不妨这里找原因。
[如何进行索引建立]
在完成以上过程以后就可以建立索引了,点击左面上的cygwin的图标,进入命令输入界面(有点像DOS),
输入:cd /cygdrive/e/nutch-0.9
说明:e表示e盘。
输入:bin/nutch crawl url.txt -dir crawled -depth 3 -threads 4 >& crawl.log
说明:url.txt为你上面建立的url 文件,如果是nutch0.8那,应该是urls.
crawled为你的索引目录。
3代表爬行深度。
4代表线程数。
crawl.log是日志文件。
待执行结束后,我们查看日志文件,最后一行出现finished: crawl字样代表索引建立成功。接下来就可以进行查询了。
[如何进行搜索]
将nutch目录下的.war文件拷贝到tomcat目录下(如果你还没有安装tomcat请先安装),然后改名为nutch.war。
打开ROOT\WEB-INF\classes下的nutch-site.xml文件,修改成如下形式:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="nutch-conf.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<nutch-conf>
<property>
<name>searcher.dir</name>
<value>I:/nutch-0.7.1/crawled</value>
</property>
</nutch-conf>
其中的“<value>I:/nutch-0.7.1/crawled</value>”部分,应根据自己的设置进行相应修改。
在浏览器中输入http://localhost:8080/nutch即可进入查询主页面进行查询了。
[查询页面乱码问题]
这是tomcat的问题,对Tomcat 的 server.xml 文件(在conf文件夹下)的 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" 是需要新增的。
[程序修改后的重组问题]
nutch能方便地根据自己的需要进行修改,例如我们要根据添加自己的分词工具,则修改相关的java文件即可,例如,我们要修添加JE分词,只需修改\src\java\org\apache\nutch\analysis下的NutchDocumentAnalyzer.java文件后重新编译即可。
那么如何重新组装呢?大家注意在nutch主目录下有一个build.xml文件,它就是重组时候所用的,不过光有它还不行,因为运行他还需要一个工具。那就是ant。
下载地址:http://ant.apache.org/
然后将下载的文件解压后设置环境变量,例如我的解压地址为E:\apache-ant\apache-ant-1.7.1。我就设置ANT_HOME为E:\apache-ant\apache-ant-1.7.1。并在path变量的后面添加%ANT_HOME%\bin。进入到命令行输入ant如果不提示无法识别命令,那么ant安装配置成功了。
从命令行进入到build.xml所在的目录,输入ant命令。即可开始重新编译,如果没有提示错误,那说明你的源码修改是正确的,将在改目录下产生一个build文件目录,进入该文件目录将nutch-0.9.job文件拷贝,返回上级目录粘贴,替换掉原来的nutch-0.9.job文件即可。
分享到:
相关推荐
4. **Nutch版本**:在例子中使用的是Nutch 0.8版本,但你应该从Apache Nutch的官方网站下载最新的稳定版本,以获取最新的特性和修复。 5. **Tomcat**:Nutch可能需要与Tomcat集成,特别是如果你想使用Nutch的Web...
下面我们将详细探讨如何在 Linux 系统上安装这些组件以及配置 Nutch。 首先,你需要下载以下软件: 1. apache-ant-1.10.5-bin.tar.gz:Ant 是一个 Java 编写的构建工具,用于自动化构建过程,如编译、打包和测试。 ...
### Nutch 的安装方法详解 #### 一、前言 Nutch是一款开源的网络爬虫项目,基于Hadoop实现,可以抓取整个互联网,并且能够根据网页内容进行索引和检索。本文将详细介绍如何在Windows环境下安装配置Nutch,使初学者...
nutch常见问题归总,对初学nutch的一些问题做出的整理
【Nutch安装详解】 Nutch是一款开源的网络爬虫软件,用于抓取互联网上的网页并构建搜索引擎。本文将详细介绍如何安装Nutch version 0.8。...在实际操作过程中,可能会遇到各种问题,需要根据错误提示进行调试和解决。
安装过程中,首先需要在Windows系统上安装Cygwin,安装完成后,需指定JDK的安装路径,这通常是在环境变量中设置NUTCH_JAVA_HOME。在Cygwin的终端中,通过设置环境变量来实现: ``` export NUTCH_JAVA_HOME=/path/to/...
在安装 Nutch 之前,首先需要确保环境中已经安装了 Apache Ant 工具,因为 Nutch 的构建过程依赖于 Ant。以下是具体步骤: 1. **下载 ant**: - 访问 ant 官网:[http://archive.apache.org/dist/ant/binaries/]...
在安装和配置 Nutch 开发环境时,可能会遇到各种问题,以下是对这些问题的详细解答。 首先,确保你已经下载了 Nutch 的正确版本。Nutch 的官方网站可能只提供最新的稳定版本,如 1.6 或 2.1。如果需要其他版本,...
本文将详细介绍 Apache Nutch 1.7 在 Windows 和 Linux 下的安装过程,包括安装前的准备工作、安装 Cygwin、安装 Nutch 1.7、测试 Nutch 1.7 以及与 Solr 结合使用等内容。 1. 准备工作 在安装 Apache Nutch 1.7 ...
在使用Nutch之前,你需要配置Nutch的运行环境,包括安装Java、设置Hadoop(如果需要分布式爬取)、下载和编译Nutch源代码。还需要配置Nutch的`conf/nutch-site.xml`文件,指定抓取策略、存储路径、爬虫范围等参数。 ...
nutch 使用文档 Nutch 是一个开源的网络爬虫工具,使用 Java 语言编写,主要用于爬取和索引互联网上的网页。下面是 Nutch 的使用方法和相关知识点。 Nutch 搭建过程 Nutch 的搭建过程主要包括准备工作、安装 ...
- 在Cygwin终端中,使用`cd`命令进入Nutch的根目录,并运行`bin/nutch`检查安装是否成功。如果出现Nutch的欢迎界面,表示安装正确。 5. **Nutch搜索页面部署** - 安装Tomcat服务器。 - 将Nutch目录下的`.war`...
Nutch 是一个开源的网络爬虫项目,主要设计用于抓取和索引互联网上的网页,以便进行全文搜索。本文档将引导你入门Nutch的...不过,实际使用中还需要注意版权、抓取策略和服务器性能等问题,确保合法、高效地使用Nutch。
### Nutch 使用指南 #### 一、概述 Nutch 是一个开源项目,旨在帮助用户构建自己的内部网搜索引擎或面向整个互联网的搜索引擎。本指南将基于 Nutch 的版本 0.7,详细介绍如何设置和配置 Nutch 以进行内部网爬取...
### Nutch 1.4 在 Windows 下的安装与配置知识点详解 #### 一、Nutch 简介 - **定义**: Apache Nutch 是一款基于 Java 的开源网页爬虫项目,能够自动抓取互联网上的网页及其内部链接,并对其进行索引处理。 - **...
3. **构建环境**:Nutch的构建工具是Apache Maven,确保系统已安装Maven,并且在`PATH`环境变量中包含Maven的bin目录。运行`mvn clean install`命令编译Nutch源码,生成可执行的jar文件。 4. **Cygwin环境**:在...
Nutch在windows下的安装 JDK安装 Tomcat安装 Cygwin安装
《Nutch 入门教程.pdf》这本书籍或文档应该包含了 Nutch 的基础知识、安装配置、使用示例以及常见问题解答等内容。通过阅读此教程,你可以了解如何搭建 Nutch 爬虫环境,编写自定义插件,以及进行定制化抓取和索引。...