最近项目中用到htmlparser(1.6)
htmlparser的基本用法网上有 不再罗嗦
这里介绍一篇写htmlparser自定义标签的文章:
http://www.ibm.com/developerworks/cn/opensource/os-htmlparser/
下面说下如何注册自己定义的标签:(其实很简单, 只是不熟悉API.....@_@)
HTML:
在我的页面中有<Strong>.....</Strong>等htmlparser没有实现的Tag
自定义StrongTag:
import org.htmlparser.tags.CompositeTag;
public class StrongTag extends CompositeTag {
private static final long serialVersionUID = 1L;
private static final String[] mIds = new String[] { "STRONG" };
public String[] getIds() {
return mIds;
}
public String[] getEnders() {
return mIds;
}
}
注册使用StrongTag:
PrototypicalNodeFactory factory = new PrototypicalNodeFactory ();
factory.registerTag (new StrongTag());
factory.registerTag (new BTag());
Parser parser = new Parser(file);
parser.setNodeFactory (factory);
NodeList nodeList = parser.parse(null);
Node[] nodes = nodeList.toNodeArray();
PrototypicalNodeFactory 在:
import org.htmlparser.PrototypicalNodeFactory;
分享到:
- 2009-02-11 15:02
- 浏览 2597
- 评论(0)
- 论坛回复 / 浏览 (0 / 3655)
- 查看更多
相关推荐
资源名称:扩展HTMLParser对自定义标签的处理能力内容简介: HTMLParser是一个用来解析HTML文档的开放源码项目,它具有小巧、快速、使用简单的特点以及拥有强大的功能。 现在该项目的最新版本是Integration Build ...
为了解决这个问题,我们需要对HtmlParser进行扩展,增加对未知或自定义标签的支持。扩展HtmlParser通常包括以下几个步骤: 1. **注册新标签**:编写代码来注册自定义或不常见标签,使HtmlParser能够识别它们。这...
2. **自定义标签处理**:一个独特的特性是它支持处理自定义的HTML标签,这对于解析包含非标准标签或者XHTML文档特别有用。 3. **事件驱动模型**:解析器采用事件驱动模型,当遇到HTML元素、属性或其他结构时,会...
源码版本可供开发者查看和修改代码,以便自定义和扩展功能。 在实际使用HTMLParser时,开发者首先需要将其jar包添加到项目类路径中,然后可以使用提供的API开始解析HTML。例如,可以创建一个`HTMLParser`实例,设置...
**HtmlParser 2.1 知识点详解** HtmlParser是一个强大的开源库,主要用于解析HTML文档,它在处理不规则的HTML结构时表现出了极高的灵活性和...结合源代码学习,更能深入了解其内部机制,为自定义扩展和优化提供可能。
6. 扩展性:HTMLParser提供了丰富的API,允许开发者根据需求定制解析行为。可以通过继承其提供的类,如`SimpleHandler`,来实现自定义的解析处理逻辑。 7. 兼容性:作为Java库,HTMLParser能在任何支持Java的平台上...
开发者可以查看源代码,深入理解库的工作原理,甚至可以根据需要自定义或扩展库的功能。 4. **HTMLParser-2.0-SNAPSHOT-bin.zip**:这是HTMLParser的二进制发行版,包含了编译好的库文件。将这个库添加到Java项目的...
5. **兼容性与扩展性**:HTMLParser与其他Java库兼容良好,如JDOM、DOM4J等,可以方便地与其他XML处理工具结合使用。此外,它的API设计使得扩展功能相对简单。 6. **错误处理**:HTMLParser具有一定的容错能力,...
7. **自定义扩展**:拥有源码意味着我们可以根据需求对HTMLParser进行扩展,添加新的功能,比如增加新的选择器支持,优化性能,或者增强错误处理能力。 8. **集成测试**:虽然没有明确提及,但是一个成熟的库往往会...
1. **事件驱动的解析**:HTMLParser2.0采用事件驱动模型,当解析器遇到如标签开始、结束、文本等内容时,会触发相应的事件,开发者可以注册事件处理器来响应这些事件。 2. **灵活性**:库支持自定义解析策略,可以...
虽然HTMLParser本身并不直接提供这些功能,但可以通过扩展其API或者与其他库(如Jsoup)结合来实现。对于冲突的地方,描述中提到已经进行了修正,这意味着这个版本的jar包可能是开发者针对特定问题进行了优化的版本...
7. **与其他库的集成**:HTMLParser可以轻松地与Java集合框架、XPath、DOM以及其他Java库结合使用,扩展其功能,如XML处理或数据分析。 在实际使用中,开发者通常会通过以下步骤使用HTMLParser: 1. **导入库**:...
5. **第三方库集成**:压缩包中的其他文件可能包含了与HTMLParser相关的扩展或工具。例如: - `htmllexer.jar` 可能是HTMLLexer,一个用于生成HTMLParser事件的词法分析器。 - `filterbuilder.jar` 可能包含过滤器...
3. **标签处理**:HTMLParser支持自定义标签处理器。你可以为每一个HTML标签编写处理类,指定在遇到该标签时如何处理。这在需要对特定标签进行特殊操作时非常有用。 4. **解析结果的树形结构**:HTMLParser可以将...
- (2) 事件驱动:当解析到特定的HTML元素时,如开始标签、结束标签、文本等,解析器会触发相应的事件,开发者可以通过注册监听器来处理这些事件。 - (3) 文档遍历:解析器逐行读取HTML文档,遇到每个元素时调用相应...
7. **可扩展性**:HTMLParser的设计允许开发者根据需求扩展其功能。例如,可以通过编写自定义的处理器或过滤器,来实现特定的HTML解析和处理任务。 8. **性能优化**:HTMLParser在设计时考虑了性能,它尽可能地减少...
- **标签识别**:HTMLParser能够识别并处理HTML文档中的各种标签,如`<div>`、`<p>`、`<a>`等,同时支持自定义标签。 - **属性解析**:解析HTML元素的属性,例如`href`、`class`等,并提供访问这些属性的API。 - *...
在实际应用中,HTMLParser的强大之处在于其灵活性和可扩展性。你可以根据需求创建自定义的`TagProcessor`和`NodeFilter`来处理特定的HTML标签,或者过滤出需要的节点。HTMLParser的结构设计使得这些扩展非常直观和...
- **标签和属性处理**:HTMLParser支持识别和处理HTML标签及其属性,可以提取特定标签内的文本或者根据属性筛选元素。 - **错误处理**:HTML文档通常不规范,HTMLParser具备一定的容错能力,能够处理一些常见的语法...
HTMLparser是一个用于解析HTML文档的库,它在编程领域中起着重要的作用,尤其是在...这个压缩包中的源码可能是一个自定义实现,开发者可以根据自己的需求对其进行定制和扩展,以适应各种不同的Web抓取或数据分析场景。