`
zhangyuailu
  • 浏览: 744 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

解析html

阅读更多

看了下,有很多parser,没有一个个看,下了个http://sourceforge.net/projects/htmlparser/files/

节点解析是用遍历方式的,或者遍历时加个filter

Java代码 复制代码
  1. public static void printNode(NodeList nodelist) {   
  2.     for (int i = 0; nodelist != null && i < nodelist.size(); i++) {   
  3.         Node node = nodelist.elementAt(i);   
  4.         System.out.print(node.getText());   
  5.            
  6.         printNode(node.getChildren());   
  7.     }   
  8. }   
  9.   
  10. public static void main(String[] args) {   
  11.     try {   
  12.         Parser parser = new Parser(url);   
  13.         NodeList nodelist = parser.parse(null);   
  14.         //printNode(nodelist);   
  15.            
  16.         NodeFilter filter = new TagNameFilter("tr");   
  17.         NodeList list = nodelist.extractAllNodesThatMatch(filter, true);   
  18.         printNode(list);   
  19.   
  20.     } catch (ParserException e) {   
  21.         e.printStackTrace();   
  22.     }   
  23.   
  24. }  
	public static void printNode(NodeList nodelist) {
		for (int i = 0; nodelist != null && i < nodelist.size(); i++) {
			Node node = nodelist.elementAt(i);
			System.out.print(node.getText());
			
			printNode(node.getChildren());
		}
	}

	public static void main(String[] args) {
		try {
			Parser parser = new Parser(url);
			NodeList nodelist = parser.parse(null);
			//printNode(nodelist);
			
			NodeFilter filter = new TagNameFilter("tr");
			NodeList list = nodelist.extractAllNodesThatMatch(filter, true);
			printNode(list);

		} catch (ParserException e) {
			e.printStackTrace();
		}

	}



加入html中有

Java代码 复制代码
  1. ...   
  2. <div id=xxx>   
  3. ...   
  4. </div>   
  5. ...  
...
<div id=xxx>
...
</div>
...



在js中,有getElementById(xxx)马上就能找到此div,但是java里貌似没有此现成的方法,难不成要一个个遍历,然后加if--then--else,那太累了。

http://www.open-open.com/30.htm 里面还有其他的parser,没一个个看

大家说说你们经历。

分享到:
评论
1 楼 fandayrockworld 2012-02-10  
jsoup中有getElementById,htmlparser没有?

相关推荐

    C#解析html,HtmlAgilityPack

    **使用HtmlAgilityPack解析HTML** 首先,确保已通过NuGet包管理器或手动下载将HtmlAgilityPack库添加到项目中。以下是一些基本的使用示例: 1. **加载HTML**: ```csharp var htmlDoc = new HtmlDocument(); ...

    C++MFC解析HTML。

    在“C++ MFC解析HTML”的主题中,我们将深入探讨如何使用MFC来解析HTML文档,特别是提取其中的URL信息。MFC虽然不是一个专门用于处理HTML的库,但它可以通过集成Internet Explorer的ActiveX控件MSHTML来实现这一目标...

    短视频去水印解析HTML源码

    "短视频去水印解析HTML源码"就是针对这一需求提供的一种解决方案。 HTML(HyperText Markup Language)是网页开发的基础语言,用于定义网页的结构和内容。在这个项目中,HTML源码被用来构建一个去水印解析工具,它...

    PHP解析HTML代码库

    - **DOMDocument**: 内置的PHP类,提供解析HTML和XML的功能,可以解析HTML字符串并转换为DOM对象,然后进行修改、提取数据等操作。 - **DOMXpath**: 与DOMDocument一起使用,用于查找DOM树中的特定元素,支持通过...

    解析Html的源代码

    在本文中,我们将深入探讨如何解析HTML的源代码,以及这在整个Web开发中的重要性。 首先,理解HTML的基本结构至关重要。HTML文档通常以`&lt;!DOCTYPE html&gt;`开头,表明这是一个HTML5文档。接着,`&lt;html&gt;`元素是整个...

    nodejs 解析html根据标签提取需要合并的js、css,并且更新html

    nodejs 解析html根据标签提取需要合并的js、css,并且更新html # 简介 &gt; 站点页面上js、css外链过多会导致网页的加载速度过慢,通过合并页面的js、css成一个文件,减少http的开销。 读取config.json,解析html根据 ...

    ios asi框架解析html

    在“ios asi框架解析html”这个主题中,我们将深入探讨如何利用ASI框架解析HTML网页,以及如何提取网页中的关键数据并将其展示在用户界面(UI)控件上。 首先,ASIHTTPRequest是ASI框架的核心类,它负责发起HTTP...

    解析HTML一些比较好的网站

    ### 解析HTML的相关资源与知识点 在Web开发领域中,HTML作为网页的基础语言之一,其重要性不言而喻。为了更好地理解和应用HTML,本文将根据提供的网站链接,总结并提炼出一系列关于HTML解析及应用的相关知识点。 #...

    使用Java编程解析HTML文档

    ### 使用Java编程解析HTML文档 #### 一、引言 随着互联网的发展,解析HTML文档的需求日益增加。无论是搜索引擎还是各种在线应用,都需要高效地提取HTML文档中的信息。Java作为一种广泛使用的编程语言,提供了多种...

    vc解析html程序

    【VC解析HTML程序】是一种基于Visual C#(VC)开发的工具,用于高效地解析HTML文档,提取其中的标记内容。HTML(HyperText Markup Language)是网页内容的主要表示语言,而解析HTML则涉及到理解其结构和提取所需信息...

    android 解析html (htmlParser)库和源码

    android 解析html (htmlParser)库和源码 因为一个项目需要解析一个网站上的新闻,所以找到了htmlParser这个开源的项目,删除了一些不需要的包,使其可以在android上用。 有两个工程,myhtml是库,要把它包含到...

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

    HTMLParser是一个Java库,专为解析HTML而设计。它提供了对HTML文档的解析能力,使得开发者可以方便地处理网页内容,提取有用的信息或者进行数据抓取。这个工具在IT行业中,尤其是在Web开发和数据处理领域,有着广泛...

    Android使用Jsoup技术解析HTML

    **Android使用Jsoup技术解析HTML** Jsoup是一个Java库,专为处理真实世界的HTML而设计。在Android开发中,我们经常需要从网页抓取数据,比如解析新闻标题、获取图片链接或者提取用户评论等。Jsoup提供了一种简单、...

    python解析html的几种方法

    `HTMLParser`不支持XPath或CSS,但它可以通过自定义事件处理函数来解析HTML并执行特定的操作。以下是一个基本示例: ```python from html.parser import HTMLParser class MyHTMLParser(HTMLParser): def handle_...

    使用Jsoup解析html网页

    Jsoup以浏览器的方式解析HTML,使得我们可以方便地通过CSS选择器来查找和操作元素,极大地简化了这一过程。 ### Jsoup的基本概念 1. **Jsoup连接(Connection)**:使用Jsoup的第一步是建立到目标网页的连接。这...

    支持flutter解析html 可以直接显示html对应的格式样式,转化为flutter Widget.zip

    本主题聚焦于如何在Flutter项目中解析HTML并以格式化的样式显示,即“支持flutter解析html可以直接显示html对应的格式样式,转化为flutter Widget”。 首先,我们要理解Flutter不直接支持HTML渲染,因为它主要基于...

    Java中解析html的开源项目04

    HTMLParser是一个用于解析HTML的开源项目,它为开发者提供了处理HTML文档的强大工具。在这个"Java中解析html的开源项目04"部分,我们将深入探讨HTMLParser库的功能、用法以及如何在实际项目中应用。 HTMLParser库...

    用Jsoup解析html的所有jar包

    这个压缩包文件“用Jsoup解析html的所有jar包”显然是包含了使用Jsoup进行HTML解析所需的全部依赖。 首先,我们需要了解Jsoup的基本用法。Jsoup的核心功能在于它能够通过连接到一个URL或读取本地HTML文件来获取HTML...

    .net c# vb.net 解析html类库 HtmlAgilityPack 最新版 1.11.20

    支持用XPath来解析HTML。这个意义不小,为什么呢?因为对于页面上的元素的xpath某些强大的浏览器能够直接获取得到,并不需要手动写。节约了大半写正则表达式的时间,当然正则表达式有时候在进一步获取的时候还需要写...

    解析html 源文件

    解析HTML源文件是Web开发、数据抓取和自动化任务中的关键步骤。这个过程通常涉及两个主要方面:理解HTML的语法和结构,以及通过编程语言实现解析逻辑。 **HTML语法与结构** HTML由一系列的元素组成,每个元素都有...

Global site tag (gtag.js) - Google Analytics