一:准备工作:
1:下载nutch,地址是:http://www.apache.org/dist/lucene/nutch/
2:下载JDK6(一定要是jdk6的版本,否则会报错),地址是:
http://java.sun.com/javase/downloads/index.jsp
3:下载Cygwin(是一个在windows平台上运行的unix模拟环境的软件),地址是:http://www.cygwin.com/ 安装说明参考这里:
4:下载tomcat6,地址是:http://tomcat.apache.org/
二:配置:(前面的软件都安装完毕)
1:解压缩的nutch后,到conf下面修改crawl-urlfilter.txt
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*apache.org/
+^http://([a-z0-9]*\.)*longtask.com/blog/
如果有需要可以继续添加相关的站点.
2:修改conf下面的nutch-site.xml文件,在<configuration>之间添加以下内容
<property>
<name>http.agent.name</name>
<value>longtask</value>
<description>HTTP ‘User-Agent’ request header. </description>
</property>
<property>
<name>http.agent.description</name>
<value>longtask</value>
<description>Further description of our bot- this text is used in the User-Agent header.
</description>
</property>
<property>
<name>http.agent.url</name>
<value>http://www.longtask.com/blog/</value>
<description>A URL to advertise in the User-Agent header.
</description>
</property>
<property>
<name>http.agent.email</name>
<value>longtask@gmail.com</value>
<description>An email address to advertise in the HTTP ‘From’ reques header and User-Agent header.
</description>
</property>
3:回到到nutch的根目录,进入bin目录,建一个urls的文件夹,在文件夹中建一个nutch.txt的问题件,在文件中加入上面要鉴权的Url地址(抓取的网址(nutch.txt)经过(crawl-urlfilters.xml)过滤后,如果没有内容会在log中报错:Stopping at depth=0 – no more URLs to fetch.)。这个地方用nutch1.0怎么都跑不过,只能换回0.9的版本了。
三:解决搜索动态内容的问题:
需要注意在conf下面的2个文件:regex-urlfilter.txt,crawl-urlfilter.txt
# skip URLs containing certain characters as probable queries, etc.
-[?*!@=] (-改+)
这段意思是跳过在连接中存在? * ! @ = 的页面,因为默认是跳过所以,在动态页中存在?一般按照默认的是不能抓取到的。可以在上面2个文件中都修改成:
# skip URLs containing certain characters as probable queries, etc.
# -[?*!@=]
另外增加允许的一行
# accept URLs containing certain characters as probable queries, etc.
+[?=&]
意思是抓取时候允许抓取连接中带 ? = & 这三个符号的连接
注意:两个文件都需要修改,因为NUTCH加载规则的顺序是crawl-urlfilter.txt-> regex-urlfilter.txt
四:运行爬虫,抓取内容:
打开Cygwin,
在命令行窗口中输入: cd nutch的目录/bin
执行命令:
sh nutch crawl urls -dir e:/index -depth 3 -threads 4 -topN 50 >& ./log.txt
说明:
-dir dirnames 设置保存所抓取网页的目录.
-depth depth 表明抓取网页的层次深度
-delay delay 表明访问不同主机的延时,单位为“秒”
-threads threads 表明需要启动的线程数
-topN number 在每次迭代中限制爬行的头几个链接数,默认是Integer.MAX_VALUE
运行结束后,查看log.txt日志,会有爬虫检索网页的详细信息。
问题的解决:运行的过程中报错:
Stopping at depth=0 – no more URLs to fetch.
No URLs to fetch – check your seed list and URL filters.
在urls的nutch.txt中再添加一个URL即可,这个是nutch0.9的bug(如果是1.0这个地方不知道怎么搞定,所以改回0.9来部署了。)
五:部署到tomcat下面:
1:配置nutch-0.9.war包中的文件
a:修改nutch-0.9.war\WEB-INF\web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
为
<?xml version="1.0" encoding="UTF-8"?>
b:修改nutch-0.9.war\WEB-INF\class\nutch-site.xml
注意:不要让你的config中有2个<configuration>,否则的话检索不出来东西。
<configuration>
<property>
<name>searcher.dir</name>
<value>e:/index</value>
</property>
</configuration>
2:把应用部署到tomcat的webapps下面,启动tomcat,访问应用:http://localhost:8080/nutch-0.9就可以得到以下界面:

输入访问的条件后,结果如下:

分享到:
相关推荐
Nutch 0.9 是一个开源的网络爬虫项目,它是Apache软件基金会的一部分,主要用于抓取、解析和索引互联网上的网页。这个版本包含了多个关键组件,使得用户可以直接部署和使用,无需自行编译源代码。以下是关于Nutch ...
Nutch 0.9 是一个历史悠久的开源搜索引擎项目,它主要关注网络爬虫和网页抓取方面的技术。这个版本在当时提供了稳定且功能强大的爬虫框架,被广泛用于数据采集和分析任务。以下是对 Nutch 0.9 版本的一些关键知识点...
在本篇文章中,我们将深入探讨如何在Eclipse环境中编译Nutch-0.9,一个开源的网络爬虫项目,用于抓取互联网上的网页信息。文章涵盖的关键知识点包括:环境准备(JDK/JRE版本需求)、源码获取与项目导入、解决编译...
Nutch 是一个开源的网络爬虫项目,它提供了高度可扩展且可靠的网页抓取框架。随着互联网的发展,数据量日益增大,如何高效地处理这些数据成为了一个重要的问题。分页作为数据展示的一种常见方式,在提升用户体验的...
在IT领域,Apache Nutch是一款开源的Web爬虫项目,用于抓取网页并进行索引。而Eclipse作为一款流行的集成开发环境(IDE),被广泛应用于Java开发中。本文将详细解析如何在Eclipse中配置Nutch,以便于开发者更好地...
6. **测试Nutch**:为了验证Nutch是否正常工作,你可以先让Nutch抓取一些简单的网页,然后使用Nutch生成的索引文件在本地Lucene搜索服务中搜索内容,查看是否能正确返回结果。 在实际操作中,可能会遇到一些问题,...
Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,而Tomcat是一款流行的Java应用服务器,常用来部署Web应用程序。在本文中,我们将深入探讨如何在Tomcat环境下部署Nutch以及解决相关问题。 首先...
通过执行bin/nutch crawl命令,可以开始网页抓取,并在nutch-0.9目录下生成crawl文件夹存储结果。 然后,测试Nutch自带的搜索引擎。将nutch-0.9-war部署到Tomcat服务器上,并对nutch-site.xml进行配置。在运行过程...
1. **Web 爬虫(Web Crawler)**:Nutch 的核心功能之一是其高效的 Web 爬虫,能够自动发现并抓取互联网上的网页。这个爬虫使用种子 URL 开始,通过解析 HTML 页面中的链接进行深度遍历,持续抓取新的页面。Nutch 的...
3. **Segments**:Nutch 抓取的网页被分割成多个 Segment,每个 Segment 包含一组相关的网页。Segment 是抓取过程中的中间产物,可以单独处理和分析。 4. **Indexes**:最后生成的 Index 包含了对网页内容的分析结果...
Nutch能够抓取网站并建立索引,实现全文搜索功能。Cygwin是一个在Windows环境下运行的类Unix模拟环境,它提供一个庞大的类Unix工具集合,通过它能够在Windows上运行许多Linux软件。对于想要在Windows系统上使用Nutch...
在编译`Nutch`项目时,可能需要依赖各种`jar`库,包括`rtf-parse.jar`和`jid3lib-0.5.4.jar`,因为`Nutch`可能需要处理包含RTF格式的网页或者抓取的MP3等音频文件。 `rtf-parse.jar`和`jid3lib-0.5.4.jar`在`Nutch`...
Nutch 1.3 是一款强大的、开源的网页抓取工具,专为大规模互联网数据抓取设计。它不仅能够收集网页数据,还能进一步分析、构建索引,从而提供高效的数据查询接口。Nutch 的核心优势在于其对Hadoop的深度集成,利用...
Nutch 是一款基于 Java 开发的开源 Web 搜索引擎框架,它提供了强大的搜索引擎功能,包括网页抓取、索引构建以及搜索服务等。本篇文章将根据提供的文档标题、描述、标签及部分内容,详细介绍 Nutch 的安装与配置步骤...
Nutch 是一个开源的、基于 Lucene 的网络搜索引擎项目,它提供了一套完整的搜索引擎解决方案,包括网页抓取、索引和搜索功能。Nutch 0.8 版本尤其值得关注,因为它完全使用 Hadoop 进行了重写,从而充分利用了 ...
【标题】"基于Apache Nutch和Htmlunit的扩展实现AJAX页面爬虫抓取解析插件.zip" 提供了一个深入的爬虫项目实例,旨在解决AJAX动态网页内容的抓取问题。Apache Nutch是一个开源的网络爬虫框架,而Htmlunit是一个无头...
基于Apache Nutch 1.8和Htmlunit组件,实现对于AJAX加载类型页面的完整页面内容抓取解析。 According to the implementation of Apache Nutch 1.8, we can't get dynamic ...
通过以上步骤,我们可以成功安装并配置Nutch,实现网页抓取、内容解析、索引创建及全文检索等功能。此外,针对中文支持进行了特别配置,以解决乱码问题。这些组件和配置构成了Nutch的核心架构,为实现高效全文搜索...
2. **快照链接无效**:Nutch 在抓取网页时会创建网页快照,方便用户查看网页的历史状态。如果快照链接失效,可能是由于URL重定向、网页结构改变或存储问题导致。为了解决这个问题,可以: - 检查 Nutch 的抓取日志...
总结来说,Nutch 是一个强大的开源网络爬虫工具,借助 Hadoop 实现了大规模的网页抓取和搜索功能。学习和使用 Nutch 可以帮助开发者深入了解 Web 数据抓取和搜索引擎的工作原理,对于大数据处理和信息提取有着重要的...