- 浏览: 918077 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (263)
- J2EE (9)
- Spring (11)
- Hibernate (11)
- Struts (5)
- opensource (19)
- Hadoop (28)
- 架构设计 (8)
- 企业应用 (10)
- SNMP (8)
- SSO (4)
- webservice (11)
- RPC (2)
- 编程语言 (0)
- Java (30)
- Javascript (5)
- NoSQL (11)
- 数据库 (0)
- oracle (8)
- MySQL (3)
- web (1)
- Android (2)
- Linux (15)
- 软件工具 (15)
- 项目构建 (11)
- 测试工具 (2)
- Exception (19)
- 杂谈 (4)
- Groovy (5)
- Nodejs (1)
- MacOSX (4)
最新评论
-
fighhin:
decode(BinaryBitmap,java.util.M ...
条形码/二维码之开源利器ZXing图文介绍 -
u013489005:
追问:楼主,请问有中文文档么?我的邮箱是frankgray@s ...
Java表达式计算引擎:Expr4J -
u013489005:
感谢博主 需要引入的包是import java.io.*;im ...
Java表达式计算引擎:Expr4J -
calosteward:
感谢楼主分享。。 Zxing 我听说过的。__________ ...
条形码/二维码之开源利器ZXing图文介绍 -
u013810758:
judasqiqi 写道感谢楼主!想请问楼主一下这个生成的图片 ...
Java实现二维码QRCode的编码和解码
blog迁移至:http://www.micmiu.com
HTMLParser是目前Java领域中解析HTML应用比较广泛的一个。
HTMLParser的主页是http://htmlparser.sourceforge.net/
初次接触HTML Parser,它的核心模块是org.htmlparser.Parser类
介绍几种Parser 初始化的方法,详细见代码:
HTMLParser是目前Java领域中解析HTML应用比较广泛的一个。
HTMLParser的主页是http://htmlparser.sourceforge.net/
初次接触HTML Parser,它的核心模块是org.htmlparser.Parser类
介绍几种Parser 初始化的方法,详细见代码:
package com.htmlparser; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import org.htmlparser.NodeFilter; import org.htmlparser.Parser; import org.htmlparser.filters.TagNameFilter; import org.htmlparser.util.NodeList; /** * * @author Michael */ public class TestMain { private static String ENCODE = "UTF-8"; /** * @param args */ public static void main(String[] args) { TestMain test = new TestMain(); // String url = // "http://www.google.com.hk/search?hl=zh-CN&source=hp&q=nero9%E5%88%BB%E5%BD%95ape&aq=f&aqi=&aql=&oq=&gs_rfai="; String url = "http://www.baidu.com/s?wd=nero9%BF%CC%C2%BCape&oq=nero9k&rsp=1&f=3&sugT=6679"; test.testNodeFilter(url); } /** * 几种初始化的方法 */ private void testInitParser() { try { Parser parser1 = new Parser(); parser1.setURL("http://www.baidu.com"); parser1.setEncoding(parser1.getEncoding()); // url 初始化的方法 HttpURLConnection.setFollowRedirects(true); URL netUrl = new URL("http://www.baidu.com"); HttpURLConnection con = (HttpURLConnection) netUrl.openConnection(); con.setInstanceFollowRedirects(false); con.connect(); Parser parser2 = new Parser(con); // 根据字符串初始化 String htmlString = this.readHtmlFile("d:/test/test.html"); Parser parser3 = Parser.createParser(htmlString, ENCODE); // 根据字符串初始化 String htmlStr1 = "<html><head><title>Test</title>" + "<link href=’/test01/css.css' text='text/css' rel='stylesheet'/>" + "</head><body><div><a href='www.baidu.com' target='_blank'>baidu</a></div>" + "<div><a href='www.sina.com' target='_blank'>sina</a></div></body></html>"; Parser parser4 = new Parser(htmlString); } catch (Exception e) { e.printStackTrace(); } } /** * NodeFilter * @param url */ private void testNodeFilter(String url) { System.out.println("NodeFilter start..."); try { HttpURLConnection.setFollowRedirects(true); URL netUrl = new URL(url); HttpURLConnection con = (HttpURLConnection) netUrl.openConnection(); con.setInstanceFollowRedirects(false); con.connect(); Parser parser = new Parser(con); parser.setEncoding(parser.getEncoding()); NodeFilter filter = new TagNameFilter("A"); NodeList list = parser.extractAllNodesThatMatch(filter); for (int i = 0; i < list.size(); i++) { System.out.println(list.elementAt(i).toHtml()); } } catch (Exception e) { e.printStackTrace(); } System.out.println("NodeFilter end"); } /** * 读取HTML文件 * @param htmlFileName * @return */ private String readHtmlFile(String htmlFileName) { BufferedReader bis = null; try { bis = new BufferedReader(new InputStreamReader(new FileInputStream( new File(htmlFileName)), ENCODE)); StringBuffer htmlsb = new StringBuffer(); String readTemp; while ((readTemp = bis.readLine()) != null) { htmlsb.append(readTemp); } bis.close(); return htmlsb.toString(); } catch (Exception e) { return null; } finally { if (null != bis) { try { bis.close(); } catch (IOException ioe) { ioe.printStackTrace(); } } } } }
发表评论
-
github更新自己Fork的代码
2014-03-09 22:52 1190github上有个功能叫fork,可以将别人的工程复制 ... -
Eclipse+OpenORB+ORBStudio配置CORBA开发环境
2013-10-24 09:04 1715目录 准备工作 整合配置 [一]、准备工作 -
openfire数据库配置说明
2013-04-26 11:29 1698数据库配置是在 conf/openfire.xml ... -
Shiro在web应用中实现验证码功能
2013-04-09 11:44 2963目录结构: 概述 扩展shiro认证 验证码工具 ... -
Openfire插件开发坏境配置指南
2013-03-19 14:24 964本文主要是介绍Openfire插件开发的环境配置,该指南是在 ... -
Openfire源码导入Eclipse编译配置指南
2013-03-19 09:26 3552本文将图文介绍如何把openfire(以3.8.1为例)源码 ... -
Openfire服务端安装和配置
2013-03-19 09:24 1088图文详细介绍Openfire服务端安装和配置的过程 ... -
iText实现直接把URL网页内容生成PDF
2012-11-28 10:44 3401目录: 概述 软件要求 实现过程 ... -
iText XML Worker实现HTML转PDF
2012-11-27 09:47 1853目录: 概述 两种应用场景的实现 ... -
iText XML Worker修改源码完美支持HTML中文字符转PDF
2012-11-27 08:59 2396目录: 介绍 中文字符转换 转换 ... -
iText生成PDF的书签
2012-11-26 13:46 2038主要演示iText生成PDF的书签功能,基本介绍详见代码中的注 ... -
iText生成PDF入门
2012-11-26 09:30 1126目录: 介绍 实验环境 入门 ... -
jldap实现Java对LDAP的基本操作
2012-07-03 15:17 2298目录: 概述 基本操作 查询 添加 删除 ... -
dom4j使用小结(基础入门级)
2011-11-08 15:11 2570blog迁移至 :http://www.micmiu. ... -
Simple XML
2011-09-28 23:55 5117blog迁移至 :http://www.micmiu. ... -
Open Flash Chart2实现动态曲线图小结
2011-04-18 10:49 6400blog迁移至:http://www.micmiu.c ... -
HttpClient、HTMLParser解决Google搜索结果的页面无法解析问题
2010-11-04 09:20 4570blog迁移至:http://www.micmiu.c ... -
Open Flash Chart2应用(实现flash另存为图片)
2010-04-22 08:43 8660blog迁移至:http://www.micmiu.c ...
相关推荐
META-INF/maven/org.htmlparser/htmlparser/pom.properties META-INF/maven/org.htmlparser/htmlparser/pom.xml org.htmlparser.Parser.class org.htmlparser.PrototypicalNodeFactory.class org.htmlparser.beans....
在描述中提到的“org.htmlparser.Node”和其他的.class文件,这些都是HTMLParser库的核心组成部分。`org.htmlparser.Node` 是HTMLParser中的一个关键接口,它代表HTML文档中的一个节点,可以是元素(Element)、注释...
`htmlparser.dll`是这个库的动态链接库文件,它包含了编译好的类和方法,可以直接在C#项目中引用以使用HTMLParser的功能。在C#项目中,我们可以通过添加对dll的引用来调用库中的方法,比如解析HTML字符串、查找特定...
本项目名为"HTMLParser.net源代码HTMLParser.net使用demo",显然是一个包含示例代码的压缩包,用于展示如何在实际应用中使用HTMLParser.net。 HTMLParser.net的核心功能包括: 1. **HTML解析**:它能够将HTML字符...
使用HTMLParser,我们可以解析网页内容,提取所需信息,如文章标题、链接、图片等。以下是一些核心概念和步骤: 1. **创建自定义解析器**: 首先,我们需要继承Python的`HTMLParser`类,并重写其方法,如`handle_...
htmlparser-1.2.1jar包下载htmlparser-1.2.1jar包下载
在“htmlparser.jar”中,包含了HTMLParser库的所有类和方法,使得开发人员可以将这个库集成到他们的Java项目中。使用jar文件,开发者可以直接导入并使用HTMLParser的API来解析和操作HTML文档。 "htmlparser实现从...
`HtmlParser2003`可能是一个早期版本的源代码,而`AnalyzeHtml`和`WebParser`则可能是演示如何使用HtmlParser的项目。 1. **AnalyzeHtml**:这个项目可能展示了如何分析HTML文档,通过调用HtmlParser的API来提取...
以下是对HTMLParser及其相关知识点的详细说明: 1. HTML解析:HTMLParser的设计目的是为了处理HTML文档的非结构化特性。由于HTML经常存在不规范的情况,如缺少闭合标签、嵌套错误等,HTMLParser通过容错机制,能够...
以下是对`HtmlParser`及其相关知识点的详细说明: 1. **HTML解析**:HTMLParser提供了对HTML文档的解析能力,将HTML文本转换为可操作的对象模型。它能够处理嵌套标签、属性、注释以及实体引用等HTML元素。 2. **...
在很多Web抓取、信息提取以及网页分析的项目中,HTMLParser都是一个理想的工具。 HTMLParser库的设计考虑了易用性和灵活性,它提供了丰富的API,允许开发者通过编程方式来访问和操作HTML文档的各个元素,如标签、...
本文将深入探讨HTMLParser 1.6版本的功能、用途、使用方法以及其在IT领域的应用。 HTMLParser的核心功能是解析HTML文档,即使在面对结构不规则或者非标准的HTML代码时,也能有效地进行解析。它提供了灵活的事件驱动...
**HtmlParser 2.1 知识点详解** HtmlParser是一个强大的开源库,主要用于解析HTML文档,它在处理不规则的HTML结构时表现出了极高的灵活性和稳定性。这个"HtmlParser 2.1 码源"是该库的2015年6月的最新版本,包含了...
HTMLParser提供了两种主要的解析方式:事件驱动和DOM(Document Object Model)模型。这两个jar包——htmlparser.jar和htmllexer.jar,包含了实现这些功能所需的类和方法。 htmlparser.jar是核心库,它包含了...
- `htmlparser1_6_20060610.zip`:这是HTMLParser的一个较早版本,发布于2006年6月10日。它可能包含旧版API和特性,对于需要兼容旧项目或研究历史版本的人来说是有价值的。 - `HTMLParser-2.0-SNAPSHOT-src.zip`:...
在网页爬虫开发中,HTMLParser2.1.jar 提供了以下关键知识点: 1. **DOM解析**:HTMLParser2.1支持DOM(Document Object Model)解析方式,将HTML文档转换为树形结构,允许开发者通过节点遍历的方式访问网页元素。...
`HTMLParser-2[1].0-API.CHM`文件是HTMLParser2.0的API参考手册,它包含了详细的API文档,为开发者提供了如何使用这个库的指南。通过这个手册,开发者可以学习如何创建解析器实例,设置解析选项,注册事件处理器,...
下面将详细阐述Winista.HtmlParser的相关知识点。 1. **HTML解析原理**: HTML解析器的工作原理是对HTML源码进行分析,识别出标签、属性、文本等内容。Winista.HtmlParser可能采用了基于DOM(文档对象模型)或SAX...