htmlparser接口可用于提取分析html页面的内容。
本文只简单说明下如何利用htmlparser获取某个节点标签的内容,和获取循环节点的列表内容的个人总结。其它操作方法,因网上已经有很多相关的帮助文档,在此不再重复说明。
大致思路:
1:定义org.htmlparser.filters的类型,确定需要获取的标签或内容范围。常用的HMLT filter类型有:AndFilter、HasAttributeFilter、HasChildFilter、HasParentFilter、LinkStringFilter、NotFilter、OrFilter、TagNameFilter等类型。
为了更好定位所需要查找的页面内容,可以用多个Filter进行组合定位,如:AndFilter andFilter = new AndFilter(tagFilter,hasChildFilter);
2:通过NodeList list = parser.extractAllNodesThatMatch(andFilter);获取满足条件的节点列表。
3:对列表list进行循环遍历,在各个遍历里面,可以获取分析多个不同节点的内容,如获取某循环节点的内容和链接:
for(int i=0;i html = list.elementAt(i).toHtml();
// 获取内容
TagNameFilter pFilter = new TagNameFilter(\"p\");
HasAttributeFilter pAttributeFilter = new HasAttributeFilter(\"class\",\"sms\");
AndFilter pAndFilter = new AndFilter(pFilter,pAttributeFilter);
pParser = Parser.createParser(html, charset);
pList = pParser.extractAllNodesThatMatch(pAndFilter);
System.out.println(\"content:\"+pList.elements().nextNode().toPlainTextString());
// 获取连接
TagNameFilter aFilter = new TagNameFilter(\"a\");
HasChildFilter aChildFilter = new HasChildFilter(new TagNameFilter(\"strong\"));
AndFilter aAndFilter = new AndFilter(aFilter,aChildFilter);
pParser.reset();
pList = pParser.extractAllNodesThatMatch(aAndFilter);
// System.out.println(\"url:\"+pList.elements().nextNode().toHtml());
LinkTag linkTag = (LinkTag)pList.elements().nextNode();
System.out.println(\"url's link:\"+linkTag.getLink());
System.out.println(\"url's content:\"+linkTag.getLinkText());
}
至此,循环列表的内容,已经能全部获取到。
4:针对各种HMLT标签,htmlparser提供了各类标签的接口,为各类标签提供了各自个性化的方法,以便开发者更好更方便的调用。
举例如下:
如果想对某链接标签www.xxx.com\" class=\"xxx\">进行内容的提取,可以通过正则表达式或字符串处理来获取到自己想要的内容。但更方便的,可以通过各种相应的xxxTag接口进行处理。如:LinkTag linkTag = (LinkTag)pList.elements().nextNode();
System.out.println(\"url's link:\"+linkTag.getLink());
System.out.println(\"url's content:\"+linkTag.getLinkText();
5:具体htmlparser的API,参见官方文档:http://htmlparser.sourceforge.net/javadoc/
6:以上只是个人使用htmlparser的一个小小总结,欢迎交流。
分享到:
相关推荐
4. **遍历和访问HTML元素**:HTMLParser提供了对HTML文档节点的遍历方法,如`getElementsByTag()`,可以根据标签名获取元素集合。通过`getText()`或`getAttribute()`等方法,可以获取元素的内容和属性值。 5. **...
1. **创建自定义解析器**: 首先,我们需要继承Python的`HTMLParser`类,并重写其方法,如`handle_starttag`、`handle_endtag`和`handle_data`,以便在遇到HTML标签开始、结束或数据时执行特定操作。 2. **启动爬虫*...
// 提取或处理节点内容 } ``` 6. **爬虫集成** 将HTMLParser与HTTP客户端库(如Apache HttpClient或OkHttp)结合,可以实现完整的网络爬虫功能,自动下载页面并进行解析。 总结,HTMLParser是一个强大的Java库...
HTMLParser提供了多种方法来访问和操作解析树,比如`parseContent()`用于获取整个文档的节点列表,`visitAllNodesWith()`可以遍历所有节点并应用自定义的访问器,`getFirstNodeWithTag()`用于找到第一个特定标签的...
通过继承HTMLParser类并覆盖其特定方法(如`handle_starttag`和`handle_data`),我们可以定义处理HTML标签和文本数据的逻辑。当解析器遇到HTML标签或数据时,这些方法会被调用,从而让我们可以捕获和处理网页内容。...
资源名称:扩展HTMLParser对自定义标签的处理能力内容简介: HTMLParser是一个用来解析HTML文档的开放源码项目,它具有小巧、快速、使用简单的特点以及拥有强大的功能。 现在该项目的最新版本是Integration Build ...
【HttpClient和HtmlParser简介】 HttpClient是一个Java库,用于简化HTTP通信。它是由Apache Jakarta项目开发的,旨在提供更高效、更灵活的HTTP客户端支持。HttpClient提供了丰富的特性,遵循最新的HTTP标准,支持...
HTMLParser设计的目的是为了方便地解析、提取或修改HTML内容,适用于网页数据抓取和HTML文档处理。 在使用HTMLParser时,首先需要创建一个`Parser`对象。可以通过传递一个`URLConnection`对象来构造`Parser`,这样...
`htmlparser.dll`是这个库的动态链接库文件,它包含了编译好的类和方法,可以直接在C#项目中引用以使用HTMLParser的功能。在C#项目中,我们可以通过添加对dll的引用来调用库中的方法,比如解析HTML字符串、查找特定...
4. 使用示例:在"HTMLParser使用详解-Node内容.doc"中,可能详细介绍了如何创建和配置解析器对象,设置解析事件处理器,以及如何通过遍历节点来提取或修改HTML内容。例如,可以使用`TagStart`事件捕获元素开始,`...
在这种背景下,Winista.HtmlParser应运而生,它是一款专为Unity开发者设计的高效HTML解析插件,旨在帮助开发者轻松地在Unity中解析和操作HTML内容。 Winista.HtmlParser的核心功能是将HTML字符串转换为易于操作的...
可以使用HTMLParser库提供的API来遍历DOM树,查找这些元素并获取其文本内容。 例如,对于标题提取,可以遍历HTML中的所有`<h1>`到`<h6>`标签,然后收集它们的文本;对于正文,可以寻找段落标签或其他可能包含正文...
这个"HtmlParser 2.1 码源"是该库的2015年6月的最新版本,包含了用于理解和操作HTML内容的全部源代码。 1. **解析HTML的基本原理** HtmlParser采用了事件驱动的解析模式。在解析过程中,遇到HTML元素、属性、文本...
本篇将详细阐述HTMLParser的使用方法、功能以及提供的相关资源。 首先,`HTMLParser-2.0-SNAPSHOT-doc.zip`包含了HTMLParser的使用文档。这份文档通常包含API参考、教程、示例代码和用户指南,是学习和理解...
解压后的`htmlparser.jar`文件需要被添加到项目的class path中,以便在编程时能够调用相关的类和方法。通过在代码中导入`HTMLParser`包,可以开始利用其强大的功能。 #### 三、HTMLParser的基本操作流程 1. **初始...
API文档是使用HTMLParser的关键,它详尽地解释了库中每个类、方法和接口的用途。通过API文档,开发者可以了解如何初始化解析器,如何遍历HTML元素,以及如何处理各种HTML标签。例如,HTMLParser库可能会提供如`...
Node接口提供了访问子节点、父节点、兄弟节点以及获取和修改属性的方法。 4. **Tag类**:表示HTML标签,如`<div>`、`<a>`等。Tag对象包含了标签名称和相关属性,可以通过API来检查标签类型、获取属性值或者修改属性...
在网页内容抓取领域,HTMLParser扮演着至关重要的角色,它可以帮助开发者高效、准确地解析复杂的网页结构,从而获取所需的信息。以下是对HTMLParser及其应用的详细介绍。 首先,HTMLParser提供了对HTML文档的解析...
META-INF/maven/org.htmlparser/htmlparser/pom.properties META-INF/maven/org.htmlparser/htmlparser/pom.xml org.htmlparser.Parser.class org.htmlparser.PrototypicalNodeFactory.class org.htmlparser.beans....