分为以下几个部分:
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);
}
分享到:
相关推荐
1. **导入项目**:在Eclipse中选择“File” > “Import” > “Existing Projects into Workspace”,然后浏览到下载的`nutch1.2+Project`目录,导入项目。 2. **添加库**:确保你的Eclipse环境中已经安装了Apache ...
Nutch 1.2 版本相对于早期版本在性能和稳定性上有所提升,同时也支持更丰富的插件体系。 在描述中提到,这个压缩包包含了一个已经配置好的 Nutch 1.2 Java 工程,但由于文件大小限制,插件部分未能上传。Nutch 的...
### Nutch 1.2 源码阅读深入解析 #### Crawl类核心作用与流程概览 在深入了解Nutch 1.2源码之前,我们先明确Nutch的架构和工作流程。Nutch作为一款开源搜索引擎框架,其功能涵盖网页抓取、索引构建以及查询处理。...
3. **解析(Parsing)**:Nutch内置了HTML解析器,提取出网页的文本内容和元数据,如标题、描述等。 4. **索引(Indexing)**:Nutch使用索引器将解析后的网页内容转化为倒排索引,便于后续的搜索查询。索引过程中还...
- 在 Default output folder 设置中,将输出目录更改为 `nutch1.2/bin/tmp_nutch`。 - 转到 Libraries 标签页,点击 Add Class Folder,选择 `nutch1.2/conf` 目录。 3. **调整库顺序**: - 在 Order and Export...
nutch1.2测试文档
nutch官方简单案例,请版本是nutch-1.2.war
### Windows下cygwin+MyEclipse 8.5+Nutch1.2+Tomcat 6.0 本文旨在详细介绍如何在Windows环境下搭建基于cygwin、MyEclipse 8.5、Nutch 1.2及Tomcat 6.0的开发环境,并对每个步骤进行深入解析。 #### 一、Cygwin的...
nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...
尝试使用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 Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...
例如,HtmlParser插件用于解析HTML文档,而MSWordParser插件则用于解析Microsoft Word文档。开发者可以通过实现特定的Parser接口来创建新的插件,以支持新的文档格式。 2. **Indexing Filter插件**:这些插件在索引...
- 选择“Source”选项卡,将默认输出目录从`nutch1.2/bin`修改为`nutch1.2/_bin`。 - 对于bin文件夹,可以通过右键点击“Team” > “Restore”来恢复其内容。 3. **添加JAR包** - 通过“Add JARs”功能,将`...
4. **字符转换**:在获取网页内容后,Nutch需要将原始字节流转换为可读的字符串,这里就需要一个正确的字符集转换过程。 针对以上问题,我们可以通过以下步骤进行修复: **步骤一:检查URL编码处理** 确保Nutch在...
Nutch插件允许开发者根据特定需求定制和扩展Nutch的功能,如自定义爬虫策略、数据解析方式、索引处理逻辑等。 #### 二、Nutch插件开发详解 Nutch插件的开发涉及到以下几个关键步骤: 1. **创建插件目录结构**:...
插件在Nutch中的作用至关重要,所有的解析、索引和搜索功能都是通过不同的插件来完成的。下面详细介绍一些核心概念: - **插件扩展点**:Nutch预定义了一系列扩展点,这些扩展点对应着需要实现的接口。比如`...
### Nutch插件开发知识点详解 #### 一、Nutch插件系统概述 Nutch是一款开源的网络爬虫工具,其强大的灵活性与扩展性得益于其独特的插件系统设计。插件(Plugin)作为Nutch的核心组件之一,为用户提供了一种灵活的...
Nutch中文分词插件的编写与配置,由于Internet的迅猛发展,使得用户查找信息犹如大海捞针,而搜索引擎则能帮用户很好的解决这个问题。 Nutch是用java语言开发的,基于Lucene的完整的网络搜索引擎,并采用插件机制进行...
常规的HTML页面抓取: 对于常规的例如新闻类没有AJAX特性的页面可以直接用Nutch自带的protocol-http插件抓取。 常规的AJAX页面抓取: 对于绝大部分诸如jQuery ajax加载的页面,可以直接用protocol-...