Nutch 默认只给用户提供一种是用方法就是用一个cygwin的模拟器去模拟一个 的环境,然后用户去用命令行在cygwin中执行搜索,还有 就是当开发者把nutch的源代码导入到eclipse的工程目录下然后执行
org.apache.nutch.crawl.Crawl类的main()这两种方法只是适合程序员做调试的时候手动开启,所以在二次开发nutch的时候就要把crawl放到在jsp中去调用,
步骤
1:新建一个web工程,把nutch源代码中plugins文件夹下的目录复制到src下,把nutch下src/java 中的这些包复制src下
2:把nutch中conf文件夹的所有配置文件复制到src目录下,把nutch中nutch.job文件复制到src下边
3
把nutch中lib文件夹的jar文件复制到web-inf的lib下
4
重新在src下建立一个类,用这个类去调用crawl的main()
package valley.test;
import org.apache.nutch.crawl.Crawl;
public class test {
public static void main(String[] args) {
String []arg ={"url.txt","-dir","crawled","-depth","10","-topN","50"};
try {
Crawl.main(arg);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
3
接下来就可以在jsp中去调用这个test类了,一般在调用的时候都会出现一个异常-Xms100m -Xmx800m 异常代码如下Injector: Converting injected urls to crawl db entries.
java.io.IOException: Job failed!
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1232)
at org.apache.nutch.crawl.Injector.inject(Injector.java:160)
at org.apache.nutch.crawl.Crawl.main(Crawl.java:113)
at valley.test.test.main(test.java:10)
at org.apache.jsp.MyJsp_jsp._jspService(MyJsp_jsp.java:79)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
这是因为tomcat的内存不够引起的具体解决办法不在罗嗦,不要忘记修改src下配置文件,如何修改和nutch中修改相同。
最后肯定感觉很奇怪,没什么没有说url.txt放在那个位置, url.txt一定要放在tomcat/bin 下,你爬取的文件也会自动存放在bin下具体原因我也搞不明白,这些的前提是如果你使用tomcat做web服务,项目的jdk一定要使用jdk1.6不然是编译 不通过的
分享到:
相关推荐
此外,由于Nutch 1.2的Web界面在1.3版本后被移除,这意味着在更现代的Nutch版本中,你需要寻找其他方式来展示和交互索引结果,例如使用自定义的Web应用程序与Solr API交互。 总的来说,搭建Nutch Web开发环境是一个...
nutcher 是 Apache Nutch 的中文教程,在github上托管。nutch社区目前缺少教程和文档,而且教程对应版本号较为落后。nutcher致力于为nutch提供一个较新的中文教程和文档,供开发者学习。 github地址: ...
随后,在Eclipse中创建一个新的Java项目,命名可自定义,如“Nutch”,并在创建过程中选择“从现有源代码创建项目”选项,指向已解压的`nutch-1.0`目录。在项目的Library配置中,需添加`conf`文件夹,并将其置于...
本教程将详细介绍如何在MyEclipse中部署Nutch1.3的工程源码。 首先,我们需要确保具备以下环境: 1. 安装了Java Development Kit (JDK):因为Nutch和MyEclipse都是基于Java的,所以确保系统已安装JDK且版本与Nutch...
nutch开发工程代码2nutch开发工程代码2nutch开发工程代码2
Nutch API和OpenSearch API则允许开发者在应用程序中集成Nutch搜索引擎功能。 Nutch的目标是让每个人都能容易地、低成本地配置一个世界级的Web搜索引擎。Nutch的扩展性使其不仅适用于学术和政府站点的搜索,也可以...
在IT领域,Apache Nutch是一款开源的Web爬虫项目,用于抓取网页并进行索引。而Eclipse作为一款流行的集成开发环境(IDE),被广泛应用于Java开发中。本文将详细解析如何在Eclipse中配置Nutch,以便于开发者更好地...
在本篇文章中,我们将深入探讨如何在Eclipse环境中编译Nutch-0.9,一个开源的网络爬虫项目,用于抓取互联网上的网页信息。文章涵盖的关键知识点包括:环境准备(JDK/JRE版本需求)、源码获取与项目导入、解决编译...
* 之后,需要安装 Tomcat,因为 Nutch 1.7 需要 Tomcat 来提供 Web 服务。 * 最后,需要配置 Nutch 1.7 的环境变量,将 Nutch 1.7 的 bin 目录添加到系统的 PATH 变量中。 7. 结论 本文详细介绍了 Apache Nutch ...
nutch应用,nutch中文分词,nutch中文乱码
通过具体实例,读者可以更好地理解Nutch插件是如何在实际场景中发挥作用的,以及如何根据自身需求开发和集成插件。 #### 五、在Eclipse中使用Ant构建插件 虽然Nutch插件可以通过命令行工具构建,但在Eclipse中使用...
**Nutch 概述** Nutch 是一个开源的网络爬虫项目,主要设计用于抓取、索引和搜索互联网...学习和使用 Nutch 可以帮助开发者深入了解 Web 数据抓取和搜索引擎的工作原理,对于大数据处理和信息提取有着重要的实践价值。
由于Nutch构建在Hadoop之上,所有的数据库操作(CrawlDB, LinkDB, SegmentsDB 和 IndexDB)都通过调用MapReduce函数来实现,这为Nutch提供了强大的扩展性和分布式处理能力。 #### 实际应用示例 为了更好地理解...
- 安装Solr,配置Solr的连接信息在Nutch的`conf/nutch-site.xml`中。 - 使用Nutch的`bin/nutch solrindex`命令将生成的索引数据推送到Solr,实现搜索功能。 **Nutch 在 Linux 下的搭建过程** 1. **准备工作** -...