`

HTML的HtmlParser解析器

 
阅读更多
package cn.htmlparser.com.main;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.AndFilter;
import org.htmlparser.filters.HasAttributeFilter;
import org.htmlparser.filters.TagNameFilter;
import org.htmlparser.nodes.TagNode;
import org.htmlparser.util.NodeList;

public class HtmlParserTest
{
	public static void main(String[] args) throws Exception
	{
		long now = System.currentTimeMillis();
		htmlParser("http://www.sina.com.cn/");
		long current = System.currentTimeMillis();
		System.out.println("所用时间:"+((double)(current - now)/1000));
	}
	//HtmlParser解析器
	public static void htmlParser(String resource) throws Exception
	{
		/**
		 * 解析器
		 */
		Parser myParser = new Parser(resource);
		/** 设置编码 */
		myParser.setEncoding("GBK");
		/** 过滤对象 */
		String filterStr = "div";
		/**
		 * 过滤到的Node
		 */
		NodeFilter filter = new TagNameFilter(filterStr);
		/**
		 * 那场比赛中提取所有节点 按指定的标签名过滤 这里过滤的是div
		 */
		NodeList nodeList = myParser.extractAllNodesThatMatch(filter);
		
		/**
		 * 读取出所有过滤到的标签
		 */
		for (int i = 0; i < nodeList.size(); i++)
		{
			// Node node = nodeList.elementAt(i);
			// System.out.println(node.toHtml());
		}
		/**
		 * 按指定的标签来查询 AndFilter(标签名,标签属性) 指定的节点过滤器
		 */
		NodeFilter filter_blog_box = new AndFilter(new TagNameFilter("div"), new HasAttributeFilter("id", "footer"));
		nodeList = nodeList.extractAllNodesThatMatch(filter_blog_box);
		/**
		 * 获取标签内的全部内容
		 */
		TagNode tagNode = (TagNode) nodeList.elementAt(0);
		nodeList = tagNode.getChildren();
		//输出html代码
		System.out.println(nodeList.toHtml());
	}
}

 

分享到:
评论

相关推荐

    基于java的开发源码-HTML文档解析器 HTMLParser.zip

    基于java的开发源码-HTML文档解析器 HTMLParser.zip 基于java的开发源码-HTML文档解析器 HTMLParser.zip 基于java的开发源码-HTML文档解析器 HTMLParser.zip 基于java的开发源码-HTML文档解析器 HTMLParser.zip 基于...

    HTML文档解析器 HTMLParser

    HTML文档解析器,如其名,是用于处理和解析HTML(超文本标记语言)文档的工具。在前端开发中,理解和掌握HTMLParser的工作原理及应用是至关重要的,因为这直接影响到网页的渲染效率和用户体验。 HTML是一种标记语言...

    htmlparser解析html分页

    HTMLParser是Python标准库中的一个模块,它提供了一个基础的事件驱动的HTML解析器。这个解析器并不尝试理解HTML的语义,而是将HTML文档分解成一系列的标记事件,如开始标签、结束标签、字符数据等。开发者可以注册...

    htmlparser_Java网页解析器

    HTMLParser也提供了SAX解析器接口,适合处理大体积的HTML文件。 **5. 解析示例** 使用HTMLParser,可以实现如下功能: - 提取网页中的链接:通过监听`startTag("a", attrs)`事件,解析`href`属性获取链接地址。 - ...

    htmlparser(HTML页面解析)例子

    为了使用这个解析器,我们需要创建一个实例,并调用`feed()`方法,传入要解析的HTML字符串或文件内容。例如: ```python parser = MyHTMLParser() with open('网页.html', 'r') as file: parser.feed(file.read())...

    HTML文档解析器 HTMLParser.7z

    HTML文档解析器是一款用于处理和解析HTML文档的工具,它能够帮助开发者有效地分析网页结构,提取所需...理解和掌握HTML解析器的工作原理以及如何利用HTMLParser这样的库,对于从事Web开发的人来说是至关重要的技能。

    java解析html工具htmlparser的jar包及api文档

    通过API文档,开发者可以了解如何初始化解析器,如何遍历HTML元素,以及如何处理各种HTML标签。例如,HTMLParser库可能会提供如`HTMLDocument`和`HTMLElement`这样的类,用于代表整个文档和文档中的单个元素。`...

    Html解析助手htmlparser.jar

    2. **创建解析器**:通过实例化解析器类,如`HtmlParser`,并设置相应的解析模式和配置。 3. **解析HTML**:调用解析器的`parse`方法,传入HTML源码或输入流,开始解析过程。 4. **处理解析事件**:注册事件处理器,...

    JAVA源码HTML文档解析器HTMLParser

    JAVA源码HTML文档解析器HTMLParser

    htmlparser解析Html的jar包和源文件包(两个)

    HTMLParser是一款专为Java开发人员设计的开源库,用于解析HTML文档。这个工具包小巧而强大,能够处理不规则的HTML结构,对于处理网络爬虫、网页数据提取或需要解析HTML内容的应用程序来说,是非常实用的。在提供的...

    基于Java的HTML文档解析器 HTMLParser.zip

    2. **数据挖掘**:在进行网页数据挖掘时,可以利用HTMLParser解析HTML,提取有价值的结构化数据。 3. **HTML清洗**:对于从网络上获取的不规范的HTML,HTMLParser可以用来清理和标准化HTML代码。 4. **自动化测试*...

    java资源HTML文档解析器HTMLParser

    java资源HTML文档解析器 HTMLParser提取方式是百度网盘分享地址

    基于Java的实例开发源码-HTML文档解析器 HTMLParser.zip

    这个"基于Java的实例开发源码-HTML文档解析器 HTMLParser.zip"提供了一个具体的实现,帮助开发者更好地理解和应用这项技术。以下是关于这个主题的详细解释: 1. **HTML文档解析**:HTML(HyperText Markup Language...

    基于Java的源码-HTML文档解析器 HTMLParser.zip

    例如,以下是一个简单的使用HTMLParser解析HTML并打印所有`&lt;a&gt;`标签的例子: ```java import org.htmlparser.Parser; import org.htmlparser.util.NodeIterator; import org.htmlparser.nodes.TagNode; public ...

    java源码:HTML文档解析器 HTMLParser.rar

    java源码:HTML文档解析器 HTMLParser.rar

    基于java的HTML文档解析器 HTMLParser.zip

    2. **Parser**: 解析器使用HTMLTokenizer生成的令牌来构建DOM树。它可以处理嵌套标签、闭合标签的问题,以及HTML的非规范性,比如未闭合的标签或不正确的嵌套。 3. **事件驱动的解析模式**: HTMLParser支持事件驱动...

    HtmlParser

    1. **创建自定义解析器**: 首先,我们需要继承Python的`HTMLParser`类,并重写其方法,如`handle_starttag`、`handle_endtag`和`handle_data`,以便在遇到HTML标签开始、结束或数据时执行特定操作。 2. **启动爬虫*...

    c#版htmlparser htmlparser.dll htmlparser源代码

    在C#中,HTMLParser可能采用了递归下降解析器或基于事件的解析器模式。递归下降解析器通常使用函数或方法的递归来匹配HTML标记,而基于事件的解析器则在遇到特定的HTML元素时触发事件,使得处理更加灵活。 标签`c# ...

    跨平台的Html解析代码_武稀松_HtmlParser.rar

    解决方法用武稀松的html解析器不用微软的mshtml IHTMLDocument2.txt" - 这个文件可能详细介绍了如何使用IdHTTP组件(一个在Delphi中常用的HTTP客户端库)编写网页爬虫时遇到的内存泄漏问题,以及如何通过使用...

Global site tag (gtag.js) - Google Analytics