Nutch的plugin开发一些心得,现在对此进行纪录。我现在要对hmtl中anchor中一些判断
1. 首先分析要对什么进行过滤。经过查看原代码。判断需要对org.apache.nutch.parse.HtmlParseFilter进行extension.
2. 对于 parseResult进一步的filter.
3. 在分析过程中, 先对
HtmlParse.java中的 ParseResult filteredParse = this.htmlParseFilters.filter(content, parseResult,
metaTags, root);
4. 查看htmlparsefilters 的代码,负责load htmlparsefilter的plugin实现的load进execute the filter方法. 只要是实现htmlparsefilter 的即可达到html parsef ilter效果 (请留意s)
5. 首先参考其他plugin,在plugin 目录下创建相关的plug in 的目录。但是在创建package是对应的目录要多试几次。package name就参考其他parse-js创建就好了
6. public class AnchorParseFilter implements HtmlParseFilter, Parser 实现 htmlparsefilter与parse的interface.
7. 现在纪录build.xml , ivy.xml, plugin.xml
build.xml:
<project name="parse-anchor" default="jar-core">
<import file="../build-plugin.xml"/>
<!-- Deploy Unit test dependencies -->
<target name="deps-test">
<ant target="deploy" inheritall="false" dir="../nutch-extensionpoints"/>
<ant target="deploy" inheritall="false" dir="../protocol-file"/>
</target>
</project>
ivy.xml 没有import 其他,所以没有变更
plugin.xml
<plugin
id="AnchorParseFilter"
name="AnchorParseFilter Parser"
version="1.0.0"
provider-name="nutch.org">
<runtime>
<library name="parse-anchor.jar">
<export name="*"/>
</library>
</runtime>
<requires>
<import plugin="nutch-extensionpoints"/>
</requires>
<extension id=" org.apache.nutch.parse.anchor"
name="Anchor Parser"
point="org.apache.nutch.parse.HtmlParseFilter">
<implementation id="AnchorParseFilter"
class="org.apache.nutch.parse.anchor.AnchorParseFilter">
</implementation>
</extension>
</plugin>
其中要留意这个plugin 实现的HtmlParseFilter 的interface.因此point要是org.apache.nutch.parse.HtmlParseFilter
8. 在plugin的folder 下的pluginx.ml增加
<ant dir="parse-anchor" target="deploy"/>
nutch中build的时间,会调plugin下在build.xml来编译。不在plugin下的build.xml增加的时候,ant找不到parse-anchor下的build.xml进行相关编译
相关推荐
本文将详细解析如何在Eclipse中配置Nutch,以便于开发者更好地理解和操作这一过程。 ### 一、理解Nutch与Eclipse的结合 Nutch是一个基于Hadoop的框架,用于构建可扩展且高性能的网络爬虫。它不仅能够抓取网页,还...
2. **General Configuration**:通用配置文件`conf/nutch-default.xml`,这里包含了关于代理服务器的配置信息。 - `<property>`标签中的配置项用于指定代理服务器的主机名、端口、用户名和密码等信息。 - `<name>...
在Nutch的运行过程中,配置文件起着至关重要的作用,它们定义了Nutch的行为方式和各种参数设置。Nutch的配置文件主要分为三类: 1. **Hadoop的配置文件**:包括`Hadoop-default.xml`和`Hadoop-site.xml`。`Hadoop-...
Linux下Nutch分布式配置 使用:分布式爬虫、索引、Nutch搜索本地数据、Nutch搜索HDFS数据。
【Nutch安装配置】是关于开源搜索引擎项目Nutch的详细操作流程,主要涉及源码编译、环境搭建和系统配置等内容。Nutch是一款基于Java的搜索引擎框架,常用于大数据环境下的网页抓取、分析和索引。在进行Nutch安装配置...
**Nutch搜索引擎配置详解** Nutch是一款开源的网络爬虫软件,主要用于收集、索引和搜索互联网上的数据。它在大数据领域中占有重要地位,尤其对于构建自定义搜索引擎的项目非常实用。Nutch的设计理念是模块化,允许...
nutch配置nutch-default.xml
(1)在conf/nutch-default.xml中,将`plugin.folders`的值更改为`./src/plugin`。 (2)创建一个名为urls的目录,里面放一个txt文件,包含你要抓取的初始网址。在conf/nutch-site.xml中,添加`http.agent.name`...
在安装和配置 Nutch 开发环境时,可能会遇到各种问题,以下是对这些问题的详细解答。 首先,确保你已经下载了 Nutch 的正确版本。Nutch 的官方网站可能只提供最新的稳定版本,如 1.6 或 2.1。如果需要其他版本,...
### Nutch 1.4 在 Windows 下的安装与配置知识点详解 #### 一、Nutch 简介 - **定义**: Apache Nutch 是一款基于 Java 的开源网页爬虫项目,能够自动抓取互联网上的网页及其内部链接,并对其进行索引处理。 - **...
### Apache Nutch 1.4在Windows下的安装与配置详解 #### 一、Apache Nutch简介及重要性 Apache Nutch是一款用Java语言编写的开源网络爬虫项目,旨在自动化地抓取网页中的链接,检查并修复坏链接,以及创建已访问...
总之,Nutch的安装和使用涉及多个步骤,包括环境配置、源代码获取、配置参数、执行爬行任务等。理解并熟练掌握这些步骤,将有助于构建自己的搜索引擎系统。在实际操作过程中,可能会遇到各种问题,需要根据错误提示...
这是本人在完全分布式环境下在Cent-OS中配置Nutch-1.1时的总结文档,但该文档适合所有Linux系统和目前各版本的nutch。 目 录 介绍 ............................................................... 2 0 集群...
- 配置 Nutch 相关的配置文件,如上述方法。 5. **配置注意事项**: - 在 `nutch-site.xml` 中,`http.agent.name` 属性用于定义爬虫的用户代理名称,通常需要更改,避免被服务器识别为恶意爬虫。 - `crawl-...
Nutch Htmlunit Plugin 重要说明: 当前项目基于Nutch 1.X系列已停止更新维护,转向Nutch 2.x系列版本的新项目:http://www.oschina.net/p/nutch-ajax 项目简介 基于Apache Nutch 1.8和Htmlunit...
### Nutch配置与安装知识点详解 #### 一、Nutch简介 Nutch是一款开源的Web爬虫项目,基于Apache Hadoop构建,能够抓取、处理和索引互联网上的信息。Nutch提供了高度可定制化的配置选项,使得用户可以根据自己的需求...
Nutch 配置涉及的是一个开源的网络爬虫项目,它与Hadoop相结合,用于大规模的网页抓取和索引。Nutch 1.6是该项目的一个版本,这个版本的配置过程主要涵盖以下几个步骤: 1. **下载Nutch源代码**:首先,你需要从...