First, you need to get a copy of the Nutch code. You can download a release from http://lucene.apache.org/nutch/release/
. Unpack the release and connect to its top-level directory. Or, check out the latest source code from subversion
and build it with Ant
.
Try the following command:
bin/nutch
This will display the documentation for the Nutch command script.
这部分工作有如下几步:
1、运行cygwin
安装完成cygwin后运行,执行命令:
cd d:nutch
cd nutch-0.9
cygwin所示的当前目录为:
/cygdrive/d/nutch/nutch-0.9
在此目录下执行命令:bin/nutch,如果正确的话,会有Usage:nutch COMMAND提示
Intranet: Configuration
To configure things for intranet crawling you must:
- Create a directory with a flat file of root urls. For example, to crawl the nutch
site you might start with a file named urls/nutch
containing the url of just the Nutch home page. All other Nutch pages should be reachable from this page. The urls/nutch
file would thus contain:
http://lucene.apache.org/nutch/
- Edit the file conf/crawl-urlfilter.txt
and replace MY.DOMAIN.NAME
with the name of the domain you wish to crawl. For example, if you wished to limit the crawl to the apache.org
domain, the line should read:
+^http://([a-z0-9]*\.)*apache.org/
This will include any url in the domain apache.org
.
- Edit the file conf/nutch-site.xml
, insert at minimum following properties into it and edit in proper values for the properties:
<property>
<name>http.agent.name</name>
<value></value>
<description>Our HTTP 'User-Agent' request header.</description>
</property>
<property>
<name>http.robots.agents</name>
<value>*</value>
<description>The agent strings we'll look for in robots.txt files,
comma-separated, in decreasing order of precedence.</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.
</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.</description>
</property>
对于第一条应在d:\nutch\nutch-0.9下建文件夹urls,在此文件夹下建文本文件nutch.txt,其中的内容为:http://lucene.apache.org/nutch/
对于第二条,打开conf/crawl-urlfilter.txt
,找到MY.DOMAIN.NAME
,修改为:
+^http://([a-z0-9]*\.)*apache.org/
对于第三条,此次实验使用nutch-default.xml, 修改如下属性:
http.agent.name
http.robots.agents
http.agent.description
http.agent.url
http.agent.email
http.agent.version
例如:
<property>
<name>http.agent.name</name>
<value>NutchCVS</value>
<description>Our HTTP 'User-Agent' request header.</description>
</property>
<property>
<name>http.robots.agents</name>
<value>*</value>
<description>The agent strings we'll look for in robots.txt files,
comma-separated, in decreasing order of precedence.</description>
</property>
<property>
<name>http.agent.description</name>
<value>Nutch</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>http://lucene.apache.org/nutch/</value>
<description>A URL to advertise in the User-Agent header. This will
appear in parenthesis after the agent name.
</description>
</property>
<property>
<name>http.agent.email</name>
<value>nutch-agent@lucene.apache.org</value>
<description>An email address to advertise in the HTTP 'From' request
header and User-Agent header.</description>
</property>
修改完成后保存。
Intranet: Running the Crawl
Once things are configured, running the crawl is easy. Just use the crawl command. Its options include:
- -dir
dir
names the directory to put the crawl in.
- -threads
threads
determines the number of threads that will fetch in parallel.
- -depth
depth
indicates the link depth from the root page that should be crawled.
- -topN
N
determines the maximum number of pages that will be retrieved at each level up to the depth.
For example, a typical call might be:
bin/nutch crawl urls -dir crawl -depth 3 -topN 50
Typically one starts testing one's configuration by crawling at shallow depths, sharply limiting the number of pages fetched at each level (-topN
), and watching the output to check that desired pages are fetched and undesirable pages are not. Once one is confident of the configuration, then an appropriate depth for a full crawl is around 10. The number of pages per level (-topN
) for a full crawl can be from tens of thousands to millions, depending on your resources.
Once crawling has completed, one can skip to the Searching section below.
此处只需运行如下命令即可:
bin/nutch crawl urls -dir crawled-depth 3 -topN 50 >&crawl.log
运行完成后,会生成crawled文件夹和crawl.log日志文件。
在日志文件中会发现抛pdf文件错误,那是因为默认情况下不支持对pdf文件的索引,要想对pdf文件也进行正确的索上,找到nutch-default.xml中的plugin.includes属性,添加上pdf,即为parse-(text|html|js|pdf)。
crawled中包含有segment, linkdb, indexed, index, crawldb文件夹。
到此为止,索引数据准备完毕。
下面是如何在tomcat中运行。
将nutch-0.9.war拷到tomcat的webapps目录下,并改名为nutch.war;
进入conf\Catalina\localhost目录下,创建文件nutch.xml,内容如下:
Context path="/nutch" debug="0" privileged="true"
/contect
启运tomcat;
进入解压后的webapps\nutch\WEB-INF\classes目录,将nutch-default.xml的search.dir设置为D:\nutch\nutch-0.9\crawled;
打开浏览器,运行http://localhost:8080/
nutch;
现就可以进行搜索了,输入apache,就可以查询得到相关的结果。
相关推荐
nutch配置nutch-default.xml
Apache Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,以便于搜索引擎进行高效检索。Nutch 是由 Apache Software Foundation 维护,它提供了完整的网络爬虫解决方案,包括数据采集、预处理、...
Apache Nutch 是一款高度可扩展的开源搜索引擎,它主要用于网络数据的抓取和索引。Nutch 的设计目的是为了提供一种高效、可靠且易于维护的解决方案,尤其适用于大数据量的互联网内容处理。在这个"apache-nutch-1.4-...
Apache Nutch是一个强大的开源搜索引擎项目,它主要用于网络爬虫和数据索引。Nutch是由Apache软件基金会开发并维护的,其目标是提供一种可扩展、可靠的全网搜索解决方案。Nutch 1.7是该项目的其中一个稳定版本,包含...
因此,利用Eclipse作为开发工具,可以简化Nutch的配置流程,提供一个友好的图形界面来管理项目和代码,同时利用其强大的调试功能,帮助开发者快速定位和解决问题。 ### 二、Eclipse配置Nutch的步骤详解 #### 步骤1...
这个`apache-nutch-1.6-src.tar.gz`文件包含了Nutch 1.6的源代码,允许开发者深入研究其内部机制,定制自己的爬虫需求,或者为项目贡献代码。 源代码包`apache-nutch-1.6`中通常包含以下几个关键部分: 1. **源...
Nutch 是一个开源的搜索引擎项目,它主要用于网络爬虫和网页索引。在Nutch的运行过程中,配置文件起着至关重要的作用,它们定义了Nutch的行为方式和各种参数设置。Nutch的配置文件主要分为三类: 1. **Hadoop的配置...
Apache Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,以便进行全文搜索。Nutch 1.3 是该项目的一个稳定版本,提供了许多关键功能和改进。这个源码包 "apache-nutch-1.3-src.tar.gz" 和 ...
1. **Nutch 概述**:Nutch 是 Apache 软件基金会的一个项目,主要目标是提供一个可扩展、高效且可靠的网络数据抓取系统。它能够自动发现、下载、解析网页并存储为索引,为构建自定义搜索引擎提供基础。 2. **Nutch ...
- 配置项目的 BuildPath,将 `lib` 目录下的所有 JAR 文件添加到项目的库中。 - 修改配置文件,如 `nutch-site.xml` 和 `crawl-urlfilter.txt`,以适应你的需求。 - **借助 Cygwin 使用 Nutch**: - 安装 ...
Apache Nutch是一个强大的开源搜索引擎项目,它主要用于网络数据抓取和索引。Nutch 1.4是该项目的一个稳定版本,发布于2012年,尽管后续有更新的版本,但1.4版本因其稳定性及广泛的应用而备受青睐。在深入探讨Nutch ...
**Nutch搜索引擎配置详解** Nutch是一款开源的网络爬虫软件,主要用于收集、索引和搜索互联网上的数据。它在大数据领域中占有重要地位,尤其对于构建自定义搜索引擎的项目非常实用。Nutch的设计理念是模块化,允许...
Apache Nutch 是一款开源的网络爬虫项目,其1.13版本的源代码提供了丰富的学习资源,适合对网络爬虫技术感兴趣的开发者深入研究。Nutch 主要用于抓取、索引和搜索互联网上的信息,它是一个高度可扩展的系统,能够...
Nutch搜索引擎·Nutch简介及安装(第1期) Nutch搜索引擎·Solr简介及安装(第2期) Nutch搜索引擎·Nutch简单应用(第3期) Nutch搜索引擎·Eclipse开发配置(第4期) Nutch搜索引擎·Nutch浅入分析(第5期)
Nutch是一款刚刚诞生的完整的开源搜索引擎系统,可以结合数据库进行索引,能快速构建所需系统。Nutch 是基于Lucene的,Lucene为 Nutch 提供了文本索引和搜索的API,所以它使用Lucene作为索引和检索的模块。Nutch的...
- **定义**: Apache Nutch 是一款基于 Java 的开源网页爬虫项目,能够自动抓取互联网上的网页及其内部链接,并对其进行索引处理。 - **功能**: - 自动获取网页中的超链接。 - 检测坏链接。 - 创建已爬取网页的...
如果你想自定义Nutch,你可以根据项目需求修改配置文件,编写新的插件,或者对现有的代码进行调整。例如,你可以创建一个新的解析器来处理特定格式的网页,或者实现一个特殊的搜索算法以提升搜索质量。 总的来说,...