1. 安装jdk 略
2.安装eclipse略
3.Cygwin的下载 参考资料:http://hi.baidu.com/shirdrn/item/3961643c9e8d9bfc96f88da5
4.Cygwin安装地址不能有空格。
5.配置一下环境变量,环境变量的设置中一定要将JDK的安装根目录设置为JAVA_HOME,然后再设置CLASSPATH,PATH,即:%JAVA_HOME%/bin,%JAVA_HOME%/lib,千万不要设置为绝对目录,否则在执行Nutch命令时会出现错误,加入NUTCH_JAVA_HOME的变量,值跟JAVA_HOME的一样。
6.安装nutch0.9解压后目录为:d:\nutch-0.9
下载jid3lib-0.5.1.jar和rtf-parser.jar两个文件分别拷贝到src/plugin/parse-mp3/lib 和 src/plugin/parse-rtf/lib/。
7.打开Cygwin Terminal,cd d:/ 回车 cd nutch-0.9 回车 cd bin/nutch .如果 cd bin/nutch 出现错误,我是重新安装了一次Cygwin。
8.在D:\nutch-0.9下新建urls文件夹,在新建url.txt 写入http://www.aicent.net/
注意:必须有最后的/
9.在conf/crawl-urlfilter.txt 加入以下信息:利用正则表达式对网站url抓取筛选
# accept hosts in MY.DOMAIN.NAME
+^
# skip everything else
-.
10.nutch-site.xml 设置如下:
<configuration>
<property>
<name>http.agent.name</name>
<value>test/unique</value>
</property>
</configuration>
11.执行bin/nutch crawl urls -dir sina -depth 3 -threads 1 -topN 100
开始抓取,抓取结束后会在d:\nutch-0.9下出现sina。
12.
将nutch目录的nutch-0.9.war复制到tomcat\webapps下,运行tomcat.生成nutch-0.9文件夹
.修改nutch-0.9/WEB-INF/classes/nutch-site.xml
<property>
<name>searcher.dir</name>
<value>D:\Cygwin\nutch-0.9\sina</value>
</property>
其中的"<value>D:\Cygwin\nutch-0.9\sina</value>"部分,应根据自己的设置进行相应修改,是nutch抓取结果存放目录。
启动Tomcat,打开浏览器在地址栏中输入:http://localhost:8080/nutch-0.9,即可看见nutch的搜索页面。
输入n即可看到搜索结果。
参考资料:http://www.cnblogs.com/streamhope/archive/2011/07/27/2118397.html
问题汇总:
Exception in thread "main" java.io.IOException: Job failed!
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:604)
at org.apache.nutch.crawl.Injector.inject(Injector.java:162)
at org.apache.nutch.crawl.Crawl.main(Crawl.java:115)
情况一:说明:一般为crawl-urlfilters.txt中配置问题,比如过滤条件应为
+^http://www.ihooyo.com ,而配置成了 http://www.ihooyo.com 这样的情况就引起如上错误。
情况二:执行set JAVA_OPTS= -Xms32m -Xmx512m
2:http://127.0.0.1:8080/nutch-0.9
输入n进行查询,结果报错:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
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
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:198)
org.apache.jasper.compiler.Parser.parseQuoted(Parser.java:299)
org.apache.jasper.compiler.Parser.parseAttributeValue(Parser.java:249)
org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:211)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:154)
org.apache.jasper.compiler.Parser.parseInclude(Parser.java:867)
org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1134)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1461)
org.apache.jasper.compiler.Parser.parse(Parser.java:137)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:170)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
分析:查看nutch Web应用根目录下的search.jsp可知,是引号匹配的问题。
<jsp:include page="<%= language + "/include/header.html"%>"/> //line 152 search.jsp
第一个引号和后面第一个出现的引号进行匹配,而不是和这一行最后一个引号进行匹配,所以问题就出现了。
解决方法:
替换成
<jsp:include page="<%= language + \"/include/header.html\"%>"/>
修改完成后,为确保修改成功,重启一下Tomcat服务器,进行搜索,不再报错。
导入到Eclipse中
①在Eclipse中添加File > New > Project > Java project。
project name随便,选择 “Create project from existing source” ,在browse中选nutch的解压路径,如D:\nutch-1.2
②在“Add Class Folder” 中选择 conf 文件夹。
③然后再定义一个“Default ouput folder” ,名称任意。注意不能选bin文件夹,因为如果选了bin文件夹做为Default output folder 编译时会清空该文件夹,bin下的其他文件会被删掉,导致其他问题。
④Finish.
3.修改Nutch的配置文件,这里以抓取www.163.com为例。
①修改D:\nutch-1.2\conf下的nutch-site.xml配置
<?xml version="1.0"?> <?xml-stylesheet href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>http.agent.name</name> <value>nutch-1.2</value> <description>HTTP 'User-Agent'</description> </property> <property> <name>searcher.dir</name> <value>D:\nutch-1.2\crawl</value> <description>Path to root of crawl.</description> </property> </configuration>
②修改在D:\nutch-1.2\conf下的crawl-urlfilter.txt
# accept hosts in MY.DOMAIN.NAME +^http://([a-z0-9]*\.)*163.com/ # skip everything else
③修改D:\nutch-1.2\conf下的nutch-default.xml
<property> <name>plugin.folders</name> <value>./src/plugin</value> <description>Directories where nutch plugins are located. Each element may be a relative or absolute path. If absolute, it is used as is. If relative, it is searched for on the classpath.</description> </property>
④在D:\nutch-1.2\下,建立名为urls的文件夹,并在文件夹内建立url.txt的文本,写入
http://www.163.com/
选择window->show View ->add buildfiles-> buildfile selection 选择build.xml 点击OK 双击项目名,开始编译,经过打包,生成war发布包,把新成的war 文件复制tomcat/webapps下,重启to mcat,打开浏览器,访问地址,可以看到Nutch的检索页面。
相关推荐
本文将详细解析如何在Eclipse中配置Nutch,以便于开发者更好地理解和操作这一过程。 ### 一、理解Nutch与Eclipse的结合 Nutch是一个基于Hadoop的框架,用于构建可扩展且高性能的网络爬虫。它不仅能够抓取网页,还...
本文详细介绍了在Eclipse环境下编译Nutch-0.9的完整流程,从环境搭建、项目导入,到解决编译错误、外部库集成,再到配置文件调整和最终的运行测试,每一个步骤都旨在帮助用户顺利地启动和操作这个强大的网络爬虫工具...
6. **导入Eclipse项目**: 在Eclipse中新建一个Java项目,将Nutch解压后的conf目录添加到项目的构建路径中。设置默认输出文件夹为Nutch/conf。 7. **配置Nutch**: (1)在conf/nutch-default.xml中,将`plugin....
### Nutch 1.4 在 Windows 下 Eclipse 配置图文详解 #### 一、环境准备与配置 **1.1 JDK 安装** ...这些步骤详细地介绍了如何从环境准备到最终运行配置的整个过程,希望能帮助用户顺利完成 Nutch 项目的搭建。
随后,在Eclipse中创建一个新的Java项目,命名可自定义,如“Nutch”,并在创建过程中选择“从现有源代码创建项目”选项,指向已解压的`nutch-1.0`目录。在项目的Library配置中,需添加`conf`文件夹,并将其置于...
因为 Nutch 原生设计在 Linux 环境下运行,所以在 Windows 上配置 Nutch 需要一些额外的步骤。主要有两种方法: - **在 Eclipse 中使用 Nutch**: - 创建一个新的 Java 项目。 - 导入 Nutch 源码,将 `src\java`...
接着,导入Nutch源代码到Eclipse工程,按照“使用说明.txt”中的步骤设置项目依赖和运行配置。通常,这会涉及到配置Nutch的配置文件(如`conf/nutch-site.xml`),以及指定爬虫的种子URL。 5. **Nutch的应用场景** ...
1. **导入项目**:在Eclipse中选择“File” > “Import” > “Existing Projects into Workspace”,然后浏览到下载的`nutch1.2+Project`目录,导入项目。 2. **添加库**:确保你的Eclipse环境中已经安装了Apache ...
此外,Nutch 的配置文件如 `nutch-site.xml` 是至关重要的,它定义了 Nutch 的各种参数,如抓取策略、解析器设置等,根据实际需求调整这些配置可以优化爬虫性能。 总的来说,Nutch 是一个强大的Web抓取和索引工具,...
完成以上步骤后,即可在 Eclipse 中成功导入并配置 Nutch 项目。 #### 五、Nutch 与 Solr 整合 1. **安装 Solr**:首先需要安装 Solr,可以在 Apache 官网上下载最新的 Solr 发布版。 2. **启动 Solr**:按照官方...
#### 一、Nutch 1.2 版本配置与运行步骤 1. **环境搭建** - 在进行配置之前,确保已经安装了必要的软件,如Java环境(推荐使用Java 1.6以上版本)、Eclipse等开发工具。 - 下载并解压Nutch 1.2源码包。 2. **...
以上就是Nutch1.3在MyEclipse中部署工程源码的详细过程。在实际操作中,可能会遇到各种问题,例如依赖库冲突、配置错误等。这时,应仔细检查错误日志,根据提示进行调整,或者查阅Nutch1.3的官方文档和社区论坛寻求...
在Eclipse中编译和运行Hadoop-0.20.1源码是理解Hadoop工作原理和进行源代码级调试的重要步骤。以下是一个详细的过程,涵盖了从环境准备到源码编译和运行的全部环节。 首先,确保你的开发环境满足必要的前提条件。在...
#### 二、Nutch源码下载与IDE配置 1. **下载Nutch源码**: - 推荐使用Nutch 1.9版本,可以从官方下载地址获取:[http://mirrors.hust.edu.cn/apache/nutch/1.9/apache-nutch-1.9-src.zip]...
3. **导入Eclipse**:将下载的源码导入Eclipse,可以使用Maven工具自动配置项目的依赖关系。 4. **编译源码**:使用Eclipse或Maven命令行工具编译源码,生成可执行文件。 ### 在Windows/Linux上安装Hadoop教程 - *...
之后,将下载的jar文件导入到Eclipse的项目中,这样就可以在Eclipse环境下使用PDFBox了。 在处理PDF文档的过程中,开发者可能会遇到多种需求,比如需要将PDF转换为图像、编辑现有PDF或生成新的PDF文档。PDFBox提供...