package test;
import java.io.*;
import org.htmlparser.Parser;
import org.htmlparser.visitors.HtmlPage;
class Test {
public static void main(String[] argv) throws IOException, InterruptedException {
Parser parser;
String body = "";
String title = "";
try {
parser = new Parser("http://www.hao123.com");
parser.setEncoding("UTF-8");
HtmlPage htmlpage = new HtmlPage(parser);
parser.visitAllNodesWith(htmlpage);
//通过htmlparser 获取body内容
body = htmlpage.getBody().asString();
//通过htmlparser 获取title内容
title =htmlpage.getTitle();
body = body.replaceAll("[ \\t\\n\\r\\f( |gt) ]+"," ");
System.out.println(title);
System.out.println(body);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
//获取源文件
Parser parser = new Parser(address);
parser.setEncoding("gbk");
System.out.println(parser.parse(null).toHtml());
分享到:
相关推荐
资源名称:扩展HTMLParser对自定义标签的处理能力内容简介: HTMLParser是一个用来解析HTML文档的开放源码项目,它具有小巧、快速、使用简单的特点以及拥有强大的功能。 现在该项目的最新版本是Integration Build ...
除了基础的开始标签、结束标签和文本数据处理外,HTMLParser还支持处理实体(entities)和属性值。例如,通过重写`handle_entityref`和`handle_charref`可以处理HTML实体,如`&`(代表`&`)和`<`(代表`)。...
1. **创建自定义解析器**: 首先,我们需要继承Python的`HTMLParser`类,并重写其方法,如`handle_starttag`、`handle_endtag`和`handle_data`,以便在遇到HTML标签开始、结束或数据时执行特定操作。 2. **启动爬虫*...
例如,以下是一个简单的使用示例,展示如何使用HTMLParser解析一个HTML字符串并打印出所有的`<a>`标签: ```java import org.htmlparser.Parser; import org.htmlparser.util.NodeIterator; import org.htmlparser....
HTMLParser是一个纯Java编写的库,专门用于解析和处理HTML文档。它不依赖任何其他Java库,使得它成为一个轻量级且高效的解决方案。HTMLParser设计的目的是为了方便地解析、提取或修改HTML内容,适用于网页数据抓取和...
你可以进一步使用`text()`方法提取纯文本内容,去除HTML标签。 3. **提取超链接**: - 使用`select()`方法,结合CSS选择器定位所有的`<a>`标签(超链接)。例如,`doc.select("a")`将返回所有链接的Element列表。 ...
通过阅读源代码,开发者可以学习到如何处理HTML标签、属性、文本节点以及如何处理嵌套的HTML结构。 在C#中,HTMLParser可能采用了递归下降解析器或基于事件的解析器模式。递归下降解析器通常使用函数或方法的递归来...
- 内容清洗:在处理用户生成的HTML内容时,可以使用HTMLParser去除非法标签,标准化格式。 - Web应用程序:在服务器端,它可以解析HTTP请求中的HTML表单数据,或者在客户端解析动态生成的HTML响应。 - 搜索引擎...
3. **事件驱动解析**:`htmlparser.jar`支持事件驱动的解析模式,当遇到特定的HTML标签或事件时,会触发回调函数,这种方式对内存使用友好,适用于处理大型HTML文档。 4. **灵活性**:这个库允许用户自定义解析规则...
- **内容分析**:在文本挖掘或信息检索应用中,HTMLParser可以帮助去除HTML标记,只保留纯文本内容。 - **自动化测试**:在自动化测试中,可以使用HTMLParser验证网页渲染的正确性,检查元素的结构和属性。 - **...
HTMLParser库的设计基于事件驱动的模式,它会为遇到的每一个HTML标签、属性、文本等内容触发特定的事件。通过继承自HTMLParser类并重写其方法,用户可以定制化解析过程,对HTML元素进行处理。例如,当遇到开始标签时...
HTMLParser是一个用于解析HTML文档的库,尤其在处理非结构化或不标准的HTML时非常有用。这个库可能被用于从网页中提取数据,比如在爬虫项目中,或者进行自动化测试时解析页面内容。本篇文章将深入探讨HTMLParser的...
HTMLParser提供了多种方法来访问和操作解析树,比如`parseContent()`用于获取整个文档的节点列表,`visitAllNodesWith()`可以遍历所有节点并应用自定义的访问器,`getFirstNodeWithTag()`用于找到第一个特定标签的...
由于HTML经常存在不规范的情况,如缺少闭合标签、嵌套错误等,HTMLParser通过容错机制,能够较好地解析这些不规则的HTML。 2. DOM模型:HTMLParser基于DOM模型工作,将HTML文档转换为一棵节点树。每个HTML元素、...
Text对象提供了获取纯文本的方法。 6. **事件驱动模型**:HTMLParser支持事件驱动的解析模式。你可以注册监听器,当解析到特定的HTML元素时,监听器会被触发执行相应的操作。例如,可以创建一个`StartTagHandler`来...
4. **遍历和访问HTML元素**:HTMLParser提供了对HTML文档节点的遍历方法,如`getElementsByTag()`,可以根据标签名获取元素集合。通过`getText()`或`getAttribute()`等方法,可以获取元素的内容和属性值。 5. **...
htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或 提取html。它能超高速解析html,而且不会出错。现在htmlparser最新版本为2.0。 毫不夸张地说,htmlparser就是目前最好...
HTMLParser库的设计考虑了易用性和灵活性,它提供了丰富的API,允许开发者通过编程方式来访问和操作HTML文档的各个元素,如标签、属性、文本内容等。其解析过程通常包括加载HTML源代码、遍历DOM树(Document Object ...
4. **标签过滤与选择**:HTMLParser允许开发者通过指定标签名或CSS选择器来过滤和选择需要处理的HTML元素,这对于提取特定内容非常方便。 5. **字符编码识别**:HTMLParser可以自动检测HTML文档的字符编码,确保...