`
mr_lonely_hp
  • 浏览: 91161 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

问读nutch 1.2 解析html的插件 HtmlParser插件

阅读更多

分为以下几个部分:

1 解析成Dom 通过sax,

DocumentFragment root;

//把网页内容content转化byte
byte[] contentInOctets = content.getContent();

//SAX解析抽取外部信息
InputSource input = new InputSource(new ByteArrayInputStream(
contentInOctets));

//设置编码

input.setEncoding(encoding);

root = parse(input);

2 通过root解析出meta,title等。

3 //解析成功标记
ParseStatus status = new ParseStatus(ParseStatus.SUCCESS);
if (metaTags.getRefresh()) {
status.setMinorCode(ParseStatus.SUCCESS_REDIRECT);
status.setArgs(new String[] { metaTags.getRefreshHref().toString(),
Integer.toString(metaTags.getRefreshTime()) });
}
//解析ParseData
ParseData parseData = new ParseData(status, title, outlinks, content
.getMetadata(), metadata);

ParseResult parseResult = ParseResult.createParseResult(content
.getUrl(), new ParseImpl(text, parseData));

4 // 在解析时,运行过滤器
ParseResult filteredParse = this.htmlParseFilters.filter(content,
parseResult, metaTags, root);
if (metaTags.getNoCache()) { // not okay to cache
for (Map.Entry<org.apache.hadoop.io.Text, Parse> entry : filteredParse)
entry.getValue().getData().getParseMeta().set(
Nutch.CACHING_FORBIDDEN_KEY, cachingPolicy);
}

分享到:
评论

相关推荐

    nutch1.2 java的project

    1. **导入项目**:在Eclipse中选择“File” &gt; “Import” &gt; “Existing Projects into Workspace”,然后浏览到下载的`nutch1.2+Project`目录,导入项目。 2. **添加库**:确保你的Eclipse环境中已经安装了Apache ...

    nutch1.2 java project

    Nutch 1.2 版本相对于早期版本在性能和稳定性上有所提升,同时也支持更丰富的插件体系。 在描述中提到,这个压缩包包含了一个已经配置好的 Nutch 1.2 Java 工程,但由于文件大小限制,插件部分未能上传。Nutch 的...

    Nutch 1.2源码阅读

    ### Nutch 1.2 源码阅读深入解析 #### Crawl类核心作用与流程概览 在深入了解Nutch 1.2源码之前,我们先明确Nutch的架构和工作流程。Nutch作为一款开源搜索引擎框架,其功能涵盖网页抓取、索引构建以及查询处理。...

    nutch1.2源码

    3. **解析(Parsing)**:Nutch内置了HTML解析器,提取出网页的文本内容和元数据,如标题、描述等。 4. **索引(Indexing)**:Nutch使用索引器将解析后的网页内容转化为倒排索引,便于后续的搜索查询。索引过程中还...

    myeclipse8.5导入nutch1.2源码

    - 在 Default output folder 设置中,将输出目录更改为 `nutch1.2/bin/tmp_nutch`。 - 转到 Libraries 标签页,点击 Add Class Folder,选择 `nutch1.2/conf` 目录。 3. **调整库顺序**: - 在 Order and Export...

    nutch1.2测试文档

    nutch1.2测试文档

    nutch-1.2.war

    nutch官方简单案例,请版本是nutch-1.2.war

    Windows下cygwin+MyEclipse 8.5+Nutch1.2+Tomcat 6.0

    ### Windows下cygwin+MyEclipse 8.5+Nutch1.2+Tomcat 6.0 本文旨在详细介绍如何在Windows环境下搭建基于cygwin、MyEclipse 8.5、Nutch 1.2及Tomcat 6.0的开发环境,并对每个步骤进行深入解析。 #### 一、Cygwin的...

    nutch-1.2.part02

    nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...

    实验报告(利用Nutch和IKanalyzer构造中文分词搜索引擎)

    尝试使用Nutch 0.9和IKAnalyzer 3.1.6GA组合,但由于版本兼容性问题导致失败,因此改用Nutch 1.2和IKAnalyzer 3.2.8,并将Tomcat升级到6.0.35版本。 在Nutch 1.2中集成IKAnalyzer,需要修改NutchAnalysis.jj文件,...

    nutch-1.2.part06

    nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...

    nutch的插件机制

    例如,HtmlParser插件用于解析HTML文档,而MSWordParser插件则用于解析Microsoft Word文档。开发者可以通过实现特定的Parser接口来创建新的插件,以支持新的文档格式。 2. **Indexing Filter插件**:这些插件在索引...

    Nutch搜索引擎培训讲义

    - 选择“Source”选项卡,将默认输出目录从`nutch1.2/bin`修改为`nutch1.2/_bin`。 - 对于bin文件夹,可以通过右键点击“Team” &gt; “Restore”来恢复其内容。 3. **添加JAR包** - 通过“Add JARs”功能,将`...

    nutch部分网页乱码BUG修正

    4. **字符转换**:在获取网页内容后,Nutch需要将原始字节流转换为可读的字符串,这里就需要一个正确的字符集转换过程。 针对以上问题,我们可以通过以下步骤进行修复: **步骤一:检查URL编码处理** 确保Nutch在...

    Nutch_插件深入研究

    Nutch插件允许开发者根据特定需求定制和扩展Nutch的功能,如自定义爬虫策略、数据解析方式、索引处理逻辑等。 #### 二、Nutch插件开发详解 Nutch插件的开发涉及到以下几个关键步骤: 1. **创建插件目录结构**:...

    Nutch插件机制

    插件在Nutch中的作用至关重要,所有的解析、索引和搜索功能都是通过不同的插件来完成的。下面详细介绍一些核心概念: - **插件扩展点**:Nutch预定义了一系列扩展点,这些扩展点对应着需要实现的接口。比如`...

    Nutch插件开发文档

    ### Nutch插件开发知识点详解 #### 一、Nutch插件系统概述 Nutch是一款开源的网络爬虫工具,其强大的灵活性与扩展性得益于其独特的插件系统设计。插件(Plugin)作为Nutch的核心组件之一,为用户提供了一种灵活的...

    Nutch中文分词插件的编写与配置

    Nutch中文分词插件的编写与配置,由于Internet的迅猛发展,使得用户查找信息犹如大海捞针,而搜索引擎则能帮用户很好的解决这个问题。 Nutch是用java语言开发的,基于Lucene的完整的网络搜索引擎,并采用插件机制进行...

    基于ApacheNutch和Htmlunit的扩展实现AJAX页面爬虫抓取解析插件nutch-htmlunit.zip

    常规的HTML页面抓取: 对于常规的例如新闻类没有AJAX特性的页面可以直接用Nutch自带的protocol-http插件抓取。 常规的AJAX页面抓取: 对于绝大部分诸如jQuery ajax加载的页面,可以直接用protocol-...

Global site tag (gtag.js) - Google Analytics