- 浏览: 66605 次
- 性别:
- 来自: 成都
文章分类
最新评论
看了http://zha-zi.iteye.com/blog/639850的博客后
于是按着他给出的说明构造了一个实验项目:
首先是将Nutch打包成JOB,在Nutch中提供了对ant的支持,要打JOB包,就直接在项目目录下执行ant命令系统就会自动的实现对Nutch的打包,包括对plugins、nutch打包为Jar包,同时将nutch打包成Job.
这里nutch配置jar包依赖的时候用到了maven和Ivy,通过这些东东的配置对于jar包就用起来方便多了。
打包完成后可以查看项目文件夹中build目录,在该目录中有nutch的jar包和job文件,并且在该目录下还有plugins文件夹,就是对插件进行打包后的结果。
完成上述操作后,执行下面的具体操作:
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()
这个调用时直接使用servlet来调用呗。
代码如下:
package com.nutch.demo; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.util.ToolRunner; import org.apache.nutch.crawl.Crawl; import org.apache.nutch.metadata.Metadata; import org.apache.nutch.parse.Parse; import org.apache.nutch.parse.html.HtmlParser; import org.apache.nutch.protocol.Content; import org.apache.nutch.util.NutchConfiguration; public class NutchDemo extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String []args ={"urls/url","-dir","crawled","-depth","10","-topN","50"}; Configuration conf = NutchConfiguration.create(); int res; try { res = ToolRunner.run(conf, new Crawl(), args); System.exit(res); } catch (Exception e) { e.printStackTrace(); } }
在web.xml文件的配置如下所示:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>nutch_web</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>nutch_web_application</servlet-name> <servlet-class>com.nutch.demo.NutchDemo</servlet-class> </servlet> <servlet-mapping> <servlet-name>nutch_web_application</servlet-name> <url-pattern>/nutch</url-pattern> </servlet-mapping> </web-app>
请求的时候就调用http://127.0.0.1:8080/nutch就可以执行nutch的job了(我是在tomcat上测的),其中urls/url文件放到tomcat的bin目录中。
好了就这么多了,试试吧
发表评论
-
FastJSON使用
2015-06-30 10:25 751fastJSON基本使用: public static S ... -
堆排序
2014-06-07 22:23 741堆排序有以下需要注意的: parent=n/2 l ... -
java
2014-03-20 21:44 731Caused by: org.springframework ... -
guava测试例子,取值和定时重新装载
2014-02-21 17:54 1152package com.taobao.saleengine. ... -
java大顶堆排序
2013-09-11 23:59 1296public class Heap{ // 构造 ... -
java树结构简单实现
2013-09-10 23:46 6335import java.util.Scanner; ... -
java
2012-12-13 16:52 0zookeeper基础:http://www.ibm.com/ ... -
插入排序的实现
2012-05-27 13:54 874插入排序是最简单的排序算法 : 看了看书按照书上说的对插入排 ... -
gwt(google web toolkit) 和 spring 在一起使用列子
2012-05-04 00:30 2219在开发gwt时,有时需要 ... -
gxt 主题
2012-01-04 13:15 1588在使用gxt的时候,我们会注意到页面的主题, 如果我们想改变 ... -
gxt 中文
2012-01-03 13:30 5150在使用gxt的时候 发现默认使用的是English 这样的话 ... -
JDBC连接mysql
2011-10-29 17:13 1679个人开发时主要还是使用mysql,所以就顺便把连接mysql的 ... -
java 反射调用类的方法
2011-10-29 00:29 8938最近遇到一个问题,重复的写一些方法,这些方法基本除了调用对象的 ... -
java多线程学习网址
2011-08-15 08:54 0http://lavasoft.blog.51cto.com/ ...
相关推荐
资源中urls.txt是我nutch单步执行过程的种子文件,里面的ppt主要讲解nutch单步执行流程,并获取每次单步执行的结果文件,对文件进行分析,同时ppt还讲解了nutch的插件的基础知识,不是很详细,但是可以作为参考。...
在这本书《Web Crawling and Data Mining with Apache Nutch》中,作者详细介绍了如何使用Nutch进行网络爬取和数据挖掘,包括Nutch的安装、配置、使用、以及一些高级功能的探讨。本书适合有一定编程背景的读者,尤其...
此外,由于Nutch 1.2的Web界面在1.3版本后被移除,这意味着在更现代的Nutch版本中,你需要寻找其他方式来展示和交互索引结果,例如使用自定义的Web应用程序与Solr API交互。 总的来说,搭建Nutch Web开发环境是一个...
nutcher 是 Apache Nutch 的中文教程,在github上托管。nutch社区目前缺少教程和文档,而且教程对应版本号较为落后。nutcher致力于为nutch提供一个较新的中文教程和文档,供开发者学习。 github地址: ...
Nutch API和OpenSearch API则允许开发者在应用程序中集成Nutch搜索引擎功能。 Nutch的目标是让每个人都能容易地、低成本地配置一个世界级的Web搜索引擎。Nutch的扩展性使其不仅适用于学术和政府站点的搜索,也可以...
在Nutch 0.9 中,这个WAR文件包含了运行Nutch Web界面所需的全部组件,包括Web UI和相关服务,用户可以通过浏览器访问这些服务来监控和管理爬虫任务。 3. **BIN 文件**: BIN目录通常包含Nutch的可执行脚本和...
nutch应用,nutch中文分词,nutch中文乱码
**Nutch 概述** Nutch 是一个开源的网络爬虫项目,主要设计用于抓取、索引和搜索互联网...学习和使用 Nutch 可以帮助开发者深入了解 Web 数据抓取和搜索引擎的工作原理,对于大数据处理和信息提取有着重要的实践价值。
在IT领域,Apache Nutch是一款开源的Web爬虫项目,用于抓取网页并进行索引。而Eclipse作为一款流行的集成开发环境(IDE),被广泛应用于Java开发中。本文将详细解析如何在Eclipse中配置Nutch,以便于开发者更好地...
随后,在Eclipse中创建一个新的Java项目,命名可自定义,如“Nutch”,并在创建过程中选择“从现有源代码创建项目”选项,指向已解压的`nutch-1.0`目录。在项目的Library配置中,需添加`conf`文件夹,并将其置于...
Nutch 1.16是该项目的一个稳定版本,已经预先编译完成,方便开发者直接在Eclipse或IntelliJ IDEA这样的集成开发环境中导入使用,无需自行配置和编译源代码。 **Nutch的组成部分** 1. **Web爬虫**:Nutch的爬虫负责...
在给定的标题和描述中,提到的"org.restlet.jar"和"org.restlet.ext.jackson.jar"是Nutch 2.2.1在执行过程中可能需要的特定库文件。 `org.restlet.jar` 是Restlet框架的基础库,这是一个Java应用编程接口(API),...
- 对于命令行操作,可以使用`bin/nutch readseg`命令来直接查看段文件中的内容,结合URL进行筛选。 - 如果需要用户友好的界面,可以开发一个简单的Web应用,通过Nutch的API接口来查询索引并返回特定URL的快照。 5...
在本篇文章中,我们将深入探讨如何在Eclipse环境中编译Nutch-0.9,一个开源的网络爬虫项目,用于抓取互联网上的网页信息。文章涵盖的关键知识点包括:环境准备(JDK/JRE版本需求)、源码获取与项目导入、解决编译...
- 调用Lucene引擎在indexDB上执行搜索操作。 - 收集搜索结果,包括URL、标题、锚文本和内容片段。 - 应用排序算法对搜索结果进行排序。 - 将排序后的结果呈现给用户。 由于Nutch构建在Hadoop之上,所有的数据库...
通过具体实例,读者可以更好地理解Nutch插件是如何在实际场景中发挥作用的,以及如何根据自身需求开发和集成插件。 #### 五、在Eclipse中使用Ant构建插件 虽然Nutch插件可以通过命令行工具构建,但在Eclipse中使用...
- 安装Solr,配置Solr的连接信息在Nutch的`conf/nutch-site.xml`中。 - 使用Nutch的`bin/nutch solrindex`命令将生成的索引数据推送到Solr,实现搜索功能。 **Nutch 在 Linux 下的搭建过程** 1. **准备工作** -...