`

解析html中的table

阅读更多
package com.web.test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;

import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.NodeClassFilter;
import org.htmlparser.filters.OrFilter;
import org.htmlparser.tags.TableColumn;
import org.htmlparser.tags.TableRow;
import org.htmlparser.tags.TableTag;
import org.htmlparser.util.NodeList;
import org.htmlparser.util.ParserException;

/**
 * 解析HTML
 * @author chenxiaobing
 *
 */
public class ReadHtml {

	 

	public static void main(String[] args) throws IOException {

	    //1.网页HTML
		String strUrl="http://www.usd-cny.com/";
	    URL url=new URL(strUrl);
	    InputStreamReader isr=new InputStreamReader(url.openStream());
	    BufferedReader br=new BufferedReader(isr);

	    //2.本地HTML
	   // File f=new File("fortest.htm");
	    //输入流
	   // InputStreamReader isr1=new InputStreamReader(new FileInputStream(f));
	   // BufferedReader br=new BufferedReader(isr1);

	    //获取html转换成String

	    String s;

	    String AllContent="";

	    while((s=br.readLine())!=null)

	    {

	     AllContent=AllContent+s;

	    }

	       //使用后HTML Parser 控件

	       Parser myParser;   

	       NodeList nodeList = null;   

	       myParser =Parser.createParser(AllContent, "utf-8");   

	       NodeFilter tableFilter = new NodeClassFilter(TableTag.class);   

	       OrFilter lastFilter = new OrFilter();   

	       lastFilter.setPredicates(new NodeFilter[] { tableFilter });   

	          try { 

	             //获取标签为table的节点列表

	             nodeList =myParser.parse(lastFilter);   

	            

	             //循环读取每个table

	             for (int i = 0; i <=nodeList.size(); i++) {   

	                  if (nodeList.elementAt(i)instanceof TableTag) {   

	                     TableTag tag = (TableTag)nodeList.elementAt(i);   
                          
                          System.out.println(tag.getChildrenHTML());
                          System.out.println("-----------------------------------------------------");
                          /* TableRow[] rows =tag.getRows();   

	                     System.out.println("----------------------table "+i+"--------------------------------");

	                     //循环读取每一行

	                      for (int j = 0; j <rows.length; j++) {   

	                          TableRow tr =(TableRow) rows[j];   

	                          TableColumn[] td =tr.getColumns();   

	                          //读取每行的单元格内容 

	                           for (int k = 0; k< td.length; k++) {   

	                         System.out.println(td[k].getStringText());//(按照自己需要的格式输出)

	                           }

	                      }*/   

	                  }   

	              }   

	    

	          } catch (ParserException e) {   

	              e.printStackTrace();   

	         }

	}

	}

分享到:
评论

相关推荐

    Python实现简单HTML表格解析的方法

    解析HTML表格的基本思路是通过`libxml2dom`获取HTML文档对象,然后定位到具体的表格元素,并从中提取所需数据。这里我们定义了一个名为`parse_tables`的函数,该函数接受三个参数: 1. `source`: 包含源代码的字符...

    正则取html中table中td中的值

    在本主题“正则取html中table中td中的值”中,我们将探讨如何利用C#编程语言结合正则表达式来从HTML文档的表格(table)中提取td(表格数据单元格)内的内容。这对于网页爬虫、数据提取或自动化测试等场景非常实用。...

    table转换为Html格式Table

    1. **解析表格数据**:这通常涉及到读取表格数据源,可能是从数据库查询结果、CSV文件或者内存中的数据结构。例如,你可以使用`System.Data.DataTable`类来存储表格数据。 2. **构建HTML结构**:HTML表格由`&lt;table&gt;...

    使用jsoup解析html的table中的文本信息实例

    在本文中,我们将深入探讨如何使用Jsoup这个Java库来解析HTML文档,特别是提取HTML表格(table)中的文本信息。Jsoup是一个强大的库,它提供了方便的API来处理HTML,包括解析、查找、修改和输出HTML内容。让我们通过...

    根据jxl,对html中的table进行导出excel

    "根据jxl,对html中的table进行导出excel"这个标题所涉及的技术点主要围绕两个核心部分:一是如何解析HTML中的table元素,二是如何利用Java的jxl库将这些数据导出到Excel文件中。 首先,HTML表格是由`&lt;table&gt;`标签...

    html-把XML文件加载到table

    这篇博客"html-把XML文件加载到table"探讨的是如何利用JavaScript和DOM操作,将XML数据动态地展示在HTML表格中。这种技术对于网页应用中的数据展示和交互性非常有用,尤其适用于数据密集型的项目。 首先,我们需要...

    html to table tools

    HTML到表格工具通过解析HTML文件中的表格结构,将其转换成Excel的单元格格式,从而解决了这个问题。 在使用该工具时,用户首先需要安装提供的`setup.exe`文件。这个执行文件是安装程序,会将所有必要的组件添加到...

    table 的用法 网页设计 中html 语言中table用法

    HTML表格是网页设计中不可或缺的一部分,它用于组织和呈现数据,使其更易于理解和解析。本文将深入探讨HTML语言中`&lt;table&gt;`元素的用法,包括如何创建基本表格,以及如何通过各种属性来定制表格的外观和行为。 首先...

    js将html中table导出Excel,CVS格式

    这个过程涉及到解析HTML表格、格式化数据以及创建可下载的文件。下面我们将深入探讨实现这一功能的具体步骤和知识点。 1. **HTML表格的基本结构** HTML表格由`&lt;table&gt;`元素定义,包含`&lt;thead&gt;`(表头)、`&lt;tbody&gt;`...

    Python库 | html-table-extractor-1.2.0.tar.gz

    《Python库:html-table-extractor-1.2.0的深度解析》 在Python的世界里,数据处理是一项至关重要的任务,而HTML表格的提取则在数据挖掘和网页爬虫领域中占据着一席之地。`html-table-extractor`库正是为了解决这一...

    将html里表格解析为json形式

    本篇文章将深入探讨如何使用JavaScript解析HTML表格并将其转换为JSON格式,以便于后台存储和处理。 首先,我们需要了解HTML表格的基本结构。HTML表格由`&lt;table&gt;`标签开始,包含一个或多个`&lt;tr&gt;`(表格行)标签,每...

    将HtmlTable 导出为Execl文件,支持合并单元格、合并行,无需Office支持

    在IT行业中,将HTML表格(HtmlTable)导出为Excel文件是一项常见的需求,尤其是在数据分析、报表生成和数据共享等场景中。本项目提供了一个解决方案,它支持合并单元格和合并行,无需依赖Microsoft Office,这对于...

    Scrollable HTML table

    "Scrollable HTML table" 是一个网页设计和前端开发的主题,它涉及到在HTML中创建可滚动的表格。这样的表格允许用户在数据量过大无法一次性完全展示时,通过滚动条查看所有内容。"Source JS and Example" 表示我们将...

    html table 导出Excel,xml

    在实际应用中,为了实现这个功能,你需要在HTML页面中引入`tableExport.js`库的文件,并按照文档提供的示例代码进行配置。例如,在`table-export-demo`这个压缩包中,可能包含了一个演示如何使用这个插件的示例项目...

    java实现 html转Excel

    1. **HTML解析**:使用Java库如Jsoup来解析HTML文件,提取需要的数据。Jsoup能够解析HTML文档,并提供一套强大的API来查找、遍历和修改DOM树。例如,你可以根据CSS选择器获取特定的表格元素。 2. **数据结构构建**...

    python批量获取html文件中的表格内容,存储到db文件中

    使用`BeautifulSoup`解析HTML文件,找到所有的`&lt;table&gt;`标签。每个`&lt;table&gt;`元素通常包含多行`&lt;tr&gt;`和多个单元格`&lt;td&gt;`或`&lt;th&gt;`。以下是一个基本的解析示例: ```python from bs4 import BeautifulSoup with ...

    Table转div+css工具

    3. **提高性能**:Div+CSS布局通常比Table布局加载更快,因为浏览器解析CSS比解析Table更高效。 4. **支持响应式设计**:通过CSS的媒体查询功能,转换后的代码更容易实现跨设备兼容,适应不同屏幕尺寸的设备。 5. **...

    深入解析HTML语言

    深入解析HTML语言,首先要理解其基本概念和结构。 1. HTML元素与标签:HTML由一系列的元素组成,每个元素都是由起始标签和结束标签(如`&lt;p&gt;`和`&lt;/p&gt;`代表段落)构成,或者为自闭合标签(如`&lt;img&gt;`)。这些标签定义...

    vb.net百度翻译源码,解析HTML文件并且调用百度API翻译.zip

    在VB.NET编程环境中,开发人员经常需要处理各种文本操作,如解析HTML文件和与外部服务交互,例如调用百度翻译API。本项目提供了一个完整的源码示例,它结合了这两个功能,帮助开发者理解如何在VB.NET中实现类似的...

Global site tag (gtag.js) - Google Analytics