public class Demo {
public static String TextExtractor(Node root){
//若是文本节点的话,直接返回
if (root.getNodeType() == Node.TEXT_NODE) {
return root.getNodeValue().trim();
}
if(root.getNodeType() == Node.ELEMENT_NODE) {
Element elmt = (Element) root;
//抛弃脚本
if (elmt.getTagName().equals("STYLE")
|| elmt.getTagName().equals("SCRIPT"))
return "";
NodeList children = elmt.getChildNodes();
StringBuilder text = new StringBuilder();
for (int i = 0; i < children.getLength(); i++) {
text.append(TextExtractor(children.item(i)));
}
return text.toString();
}
//对其它类型的节点,返回空值
return "";
}
public static void main(String[] args) throws Exception{
//生成html parser
DOMParser parser = new DOMParser();
//设置网页的默认编码
parser.setProperty(
"http://cyberneko.org/html/properties/default-encoding",
"gb18030");
//input file
BufferedReader in = new BufferedReader(new FileReader("input.htm"));
parser.parse(new InputSource(in));
Document doc = parser.getDocument();
//获得body节点,以此为根,计算其文本内容
Node body = doc.getElementsByTagName("BODY").item(0);
System.out.println(TextExtractor(body));
}
}
分享到:
相关推荐
NekoHTML是一个开源的Java库,主要用于解析HTML文档并将其转换为标准的XML DOM(文档对象模型)。这个库是Xerces项目的一部分,由Apache软件基金会维护。NekoHTML特别适用于处理不规范或非标准的HTML,因为它可以...
`Neko.java`可能是另一个类,它封装了NekoHTML解析器的主要逻辑,提供了更方便的API供`Caipiao.java`调用。 在`README.txt`中,作者很可能详细解释了如何运行这些示例程序,包括必要的依赖和步骤。如果你遇到任何...
NekoHtml是一个开源的、Java实现的HTML解析器,它主要被设计用来处理不规则的、现实世界中的HTML文档。这个解析器的核心是NekoParser,它能够将HTML源代码转化为DOM(Document Object Model)结构,使得开发者可以...
这个"nekohtml-1.9.13.zip"压缩包包含的是NekoHTML的1.9.13版本,这是一个稳定且广泛使用的版本。 NekoHTML的核心是两个关键类:`org.cyberneko.html.parsers.DOMParser`和`net.sourceforge.nekodoc.NekoDoc`。`DOM...
NekoHTML是由Apache Software Foundation的Xerces项目开发的一个小型库,它提供了两个主要类:`org.htmlparser.Parser`和`org.htmlparser.NodeFilter`。`Parser`类负责解析HTML文档,而`NodeFilter`则用于筛选和访问...
NekoHTML 是一个简单的 HTML 扫描器和标签补偿器,使得程序能解析 HTML 文档并用标准的 XML 接口来访问其中的信息。这个解析器能投扫描 HTML 文件并“修正”许多作者(人或机器)在编写 HTML 文档过程中常犯的错误。...
NekoHTML是一个开源的Java库,主要用于解析和构建XML和HTML文档。它是Xerces2 Java解析器的一部分,由Apache软件基金会开发。NekoHTML的主要功能是将不规范的HTML源代码转换为标准的XML,使得开发者可以更容易地处理...
NekoHTML技术预研说明,如何进行HTML页面解析,网页信息抽取
NekoHTML is written using the Xerces Native Interface (XNI) that is the foundation of the Xerces2 implementation. This enables you to use the NekoHTML parser with existing XNI tools without ...
NekoHTML是一个开源的Java库,主要用于解析HTML和XML文档,尤其在处理不规范或半结构化的HTML时表现优秀。这个库由Daniel C. Betchkal和Kurt Heuts创建,版本为0.9.5,是搜索引擎开发中的一个重要工具。NekoHTML的...
**nekohtml-1.9.14源码及jar包**是针对XML和HTML解析的一个开源库,广泛应用于Java开发环境中。这个压缩包包含了nekohtml的核心组件,包括了...无论是为了项目需求还是学习研究,nekohtml都是一个值得深入了解的工具。
NekoHTML是一个简单地HTML扫描器和标签补偿器(tag balancer) ,使得程序能解析HTML文档并用标准的XML接口来访问其中的信息。这个解析器能投扫描HTML文件并“修正”许多作者(人或机器)在编写HTML文档过程中常犯的...
NekoHTML是一个Java语言的 HTML扫描器和标签补全器(tag balancer) ,使得程序能解析HTML文档并用标准的XML接口来访问其中的信息。这个解析器能够扫描HTML文件并“修正”许多作者(人或机器)在编写HTML文档 过程中常...
NeKoHTML 1.9.21是该库的一个特定版本,提供了对HTML 4和XHTML 1.0标准的支持,同时也兼容一些HTML5的元素。 NeKoHTML的核心功能在于其能够解析非标准或者不完整的HTML文档,并尝试按照HTML规范来修复这些文档,使...
`nekohtml` 是一个开源的Java库,用于解析HTML和XML文档,它提供了一个Xerces Lite解析器,能够处理不严格的HTML标记,使得在Java应用程序中处理网页内容变得更加容易。这个帮助类可能指的是`nekohtml`库中的一些...
总的来说,NekoHtml是一个强大的工具,特别适合处理非标准的HTML文档。然而,为了充分利用其优点并避免潜在问题,开发者需要对其解析机制有深入的理解,并在实际应用中采取适当的策略。结合Xalan和XercesImpl,可以...
"nekohtml-1.9.7.zip" 是一个压缩包文件,其中包含了一个名为 "nekohtml-1.9.7" 的程序库。这个库主要用于处理HTML文档,为开发者提供了解析和构建HTML文档的功能。在IT行业中,处理HTML文档是网页开发、数据抓取、...
nekoHtml通过提供一个健壮的解析器,将非结构化的HTML文档转换为可操作的DOM(Document Object Model)树,使开发者能够方便地访问和操作HTML元素。它还支持XML规范,可以处理不完全符合标准的HTML文档,这在处理...
1. xerces-2.9.0.jar:这是一个实现了XML Schema和XML Infoset等XML标准的解析器,它为nekohtml和dom4j提供了底层的XML解析支持。 2. dom4j-1.6.1.jar:这是dom4j的核心库,包含所有用于处理和操作XML文档的类和方法...
NekoHTML是一个简单地HTML扫描器和标签补偿器(tag balancer) ,使得程序能解析HTML文档并用标准的XML接口来访问其中的信息。这个解析器能投扫描HTML文件并“修正”许多作者(人或机器)在编写HTML文档过程中常犯的...