nutch环境配置备忘:
1、Cygwin安装
我使用的是Cygwin本地安装版,local install,并把所有组件都设为installed即可。
2、解压nutch
将NUTCH-0.9解压后复制到HOME/Administrator下,或者在Cygwin下使用gunzip命令皆可。
3、安装JDK
可能是我的系统最近不正常吧,我的JDK必须安装在nutch目录下才能找到(正确设置了环境变量,可是只要安装在其它位置,就找不到JDK,如果哪位能知道原因,请指教,非常感谢!)我这里的安装路径是:C:\cygwin\home\Administrator\nutch-0.9\JDK
环境变量设置如下:(此处可以只设置NUTCH_JAVA_HOME)
JAVA_HOME C:\cygwin\home\Administrator\nutch-0.9\JDK
CLASS_PATH 添加 ;C:\cygwin\home\Administrator\nutch-0.9\JDK\lib
NUTCH_JAVA_HOME C:\cygwin\home\Administrator\nutch-0.9\JDK
PATH 添加 ;C:\cygwin\home\Administrator\nutch-0.9\JDK\bin
4、使用爬虫之前的准备
首先在bin目录下新建目录urls,在urls中新建一个文本文家nutch.txt,将要抓取的网站地址输入,比如
http://www.sina.com.cn/(注意最后的/一定要有)
打开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]*\.)*sina.com.cn/(这里也要有/呦)
打开nutch/conf/nutch-site.xml文件,修改<configuration>< /configuration>为:
<configuration>
<property>
<name>http.agent.name</name>
<value>HD nutch agent</value>
</property>
<property>
<name>http.agent.version</name>
<value>1.0</value>
</property>
</configuration>
保存
5、开始爬
进入nutch目录,进入bin目录
$sh nutch crawl urls -dir sina -depth 4 -threads 5 -topN 1000 >logs/log1.log(要先建立自己的日志目录)
(url地址为bin目录下,要写全名)
crawl:通知nutch.jar,执行crawl的main方法。
urls:存放需要爬行的url.txt文件的目录
-dir sina 爬行后文件保存的位置
-depth 2:爬行次数,或者成为深度,不过还是觉得次数更贴切,建议测试时改为1。
-threads 指定并发的进程 这是设定为 4
-topN :一个网站保存的最大页面数。
**注意sina文件夹不能存在,会报错
曾经出现的错误:
Generator: 0 records selected for fetching, exiting ...
Stopping at depth=0 - no more URLs to fetch.
No URLs to fetch - check your seed list and URL filters.
解决方法:在urls的 nutch.txt中再添加一个URL即可,原因现在还不知道。
6、挂上服务器
当爬取网页成功之后,开始配置 TOMCAT
TOMCAT的安装目录是:C:\Program Files\Apache Software Foundation\Tomcat 5.5
TOMCAT_HOME C:\Program Files\Apache Software Foundation\Tomcat 5.5
CALSSPATH 添加: %TOMECAT_HOME%\bin;
在服务器关闭的状态下,删除 TOMCAT中WEBAPPS文件夹中的ROOT文件夹,将nutch-0.9.war拷贝到webapps下,改名为ROOT.war,启动 TOMCAT,会自动解压出ROOT文件。
修改/webapps/ROOT /WEB-INF/classes/nutch-site.xml:
将
<configuration>
</configuration>
换成
<configuration>
<property>
<name>searcher.dir</name>
<value>(修改为自己的下载目录)</value>
</property>
</configuration>
为了支持中文需要修改 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并搜索,将看到你的搜索结果
***曾经出现的错误
org.apache.jasper.JasperException: /search.jsp(151,22) Attribute value language + "/include/header.html" is quoted with " which must be escaped when used within the value
这个错误困扰了我很长时间,后来在http://news.skelter.net/articles/2008/09/24/nutch-0-9-quoted-with-must-be-escaped
找到解答
解决方法是:把search.jsp的第151行改成
<jsp:include page="<%= language + \"/include/header.html\"%>"/>
就是在 ^ 添加一个\
之后就正常了。作者说可能是TOMCAT6的特殊问题,可我用 TOMCAT5.5~~~不过确实解决了。
******************问题解决了的华丽的分割线********************
****引自http://blog.sina.com.cn/s/blog_4cc16fc50100bqxe.html****
分析:查看nutch Web应用根目录下的search.jsp可知,是引号匹配的问题。
<jsp:include page="<%= language + "/include/header.html"%>"/> //line 152 search.jsp
第一个引号和后面第一个出现的引号进行匹配,而不是和这一行最后一个引号进行匹配,所以问题就出现了。
解决方法:
将该行代码修改为:<jsp:include page="<%= language+urlsuffix %>"/>
这里我们定一个字符串urlsuffix,我们把它定义在language字符串定义之后,
String language = // line 116 search.jsp
ResourceBundle.getBundle("org.nutch.jsp.search", request.getLocale())
.getLocale().getLanguage();
String urlsuffix="/include/header.html";
修改完成后,为确保修改成功,重启一下Tomcat服务器,进行搜索,不再报错。
分享到:
相关推荐
Apache Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,以便于搜索引擎进行高效检索。Nutch 是由 Apache Software Foundation 维护,它提供了完整的网络爬虫解决方案,包括数据采集、预处理、...
Apache Nutch是一个强大的开源搜索引擎项目,它主要用于网络爬虫和数据索引。Nutch是由Apache软件基金会开发并维护的,其目标是提供一种可扩展、可靠的全网搜索解决方案。Nutch 1.7是该项目的其中一个稳定版本,包含...
1. **解压**:首先,你需要将"apache-nutch-1.4-bin.tar.gz"解压到本地目录,得到Nutch的运行环境。 2. **配置**:编辑conf/nutch-site.xml文件,设置如存储路径、抓取间隔、抓取范围等相关参数。 3. **创建种子**:...
Nutch是一款刚刚诞生的完整的开源搜索引擎系统,可以结合数据库进行索引,能快速构建所需系统。Nutch 是基于Lucene的,Lucene为 Nutch 提供了文本索引和搜索的API,所以它使用Lucene作为索引和检索的模块。Nutch的...
- **配置文件**:Nutch的运行依赖于一系列配置文件,如`conf/nutch-site.xml`,用户可以通过修改这些文件来定制爬虫行为。 - **插件系统**:Nutch支持丰富的插件体系,如URL过滤器、解析器、索引器等,开发者可以...
在“apache-nutch-1.4-src.tar.gz”这个压缩包中,包含了Nutch 1.4版本的源代码,用户可以根据自己的需求对代码进行定制和扩展。 Nutch 的主要组件包括以下几个方面: 1. **网络爬虫(Crawler)**:Nutch 的网络...
标题中的“人工智能-项目实践-搜索引擎-基于Nutch+ElasticSearch+MySQL+SSM的简易搜索引擎”揭示了一个项目,旨在构建一个简易的搜索引擎,利用了人工智能的一些原理和技术。这个项目结合了多个开源工具,包括Nutch...
总之,"apach-nutch-1.9-bin.tar.gz" 提供了一个完整的搜索引擎搭建工具,通过理解其工作原理和配置方法,你可以快速地构建自己的网页抓取和搜索系统。虽然Nutch 1.9相对较老,但对于初学者或小型项目来说,它的简单...
Nutch搜索引擎·Nutch简介及安装(第1期) Nutch搜索引擎·Solr简介及安装(第2期) Nutch搜索引擎·Nutch简单应用(第3期) Nutch搜索引擎·Eclipse开发配置(第4期) Nutch搜索引擎·Nutch浅入分析(第5期)
Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步演变成为一个公司垄断了几乎所有的web...
Apache Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,以便于搜索引擎进行高效的信息检索。Nutch 1.6 是该项目的一个稳定版本,提供了丰富的功能和良好的性能。这个`apache-nutch-1.6-src.tar...
Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己 的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步...
Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己 的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步...
Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己 的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步...
Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己 的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步...
Apache Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,以便于搜索引擎进行高效的信息检索。Nutch 源码的分析和理解对于想要深入研究搜索引擎工作原理、网页抓取技术和大数据处理的开发者来说...
Apache Nutch 是一个开源的网络爬虫框架,用于抓取互联网上的网页并建立索引,以便于搜索引擎进行高效的检索。Nutch 2.3 版本是该项目的一个稳定版本,包含了丰富的功能和优化,是学习和研究网络爬虫技术的理想选择...
在使用 Apache Nutch 1.5.1 时,你需要关注的几个关键点包括配置文件的设置(如`conf/nutch-site.xml`和`conf/regex-urlfilter.txt`),种子URL的提供,以及如何启动和监控爬虫进程。同时,你还需要了解Hadoop环境的...
它们是搜索引擎背后的关键技术,用于收集和更新网络上的信息。 Apache Nutch 的核心功能包括以下几个方面: 1. **抓取**:Nutch 使用种子URL开始,通过解析页面中的链接进行深度优先或广度优先的遍历,不断发现新...
Apache Nutch 是一款开源的网络爬虫框架,用于抓取互联网上的网页并建立索引,是构建搜索引擎的基础组件。Nutch 2.1 版本是其发展过程中的一个重要里程碑,提供了许多改进和优化,使其在大数据处理和分布式计算方面...