
类型: 电商购物 版本: V1.8
大小: 1,860.6 时间: 2025-11-20





HtmlCleaner是一个免费开源的适用范围广的Java语言Html文档解析器,它能重新整理HTML文档的每个元素并生成结构良好(Well-Formed)的HTML文档。默认它遵循的规则是类似于大部份web浏览器为创文档对象模型所使用的规则,户可以提供自定义tag和规则组来进行过滤和匹配。
它被设计的小,快速,灵活而且独立。HtmlCleaner也可用在Java代码中,当命令行工具或Ant任务。解析后编程轻量级文档对象,能够很容易的被转换到DOM或者JDom标准文档,或者通过各种方式(压缩,打印)连续输出XML。
写一个测试用的html文件:html-clean-demo.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< html xmlns = "http://www.w3.org/1999/xhtml " xml:lang = "zh-CN" dir = "ltr" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=GBK" />
< meta http-equiv = "Content-Language" content = "zh-CN" />
< title > html clean demo </ title >
</ head >
< body >
< div class = "d_1" >
< ul >
< li > bar </ li >
< li > foo </ li >
< li > gzz </ li >
</ ul >
</ div >
< div >
< ul >
< li > < a name = "my_href" href = "1.html" > text-1 </ a > </ li >
< li > < a name = "my_href" href = "2.html" > text-2 </ a > </ li >
< li > < a name = "my_href" href = "3.html" > text-3 </ a > </ li >
< li > < a name = "my_href" href = "4.html" > text-4 </ a > </ li >
</ ul >
</ div >
</ body >
</ html >
Html代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<meta http-equiv="Content-Language" content="zh-CN"/>
<title>html clean demo</title>
</head>
<body>
<div class="d_1">
<ul>
<li>bar</li>
<li>foo</li>
<li>gzz</li>
</ul>
</div>
<div>
<ul>
<li><a name="my_href" href="1.html">text-1</a></li>
<li><a name="my_href" href="2.html">text-2</a></li>
<li><a name="my_href" href="3.html">text-3</a></li>
<li><a name="my_href" href="4.html">text-4</a></li>
</ul>
</div>
</body>
</html>
模拟需求:取出title,name="my_href"的链接,div的class="d_1"下的所有li内容。下面用htmlcleaner写代码,HtmlCleanerDemo.java
package com.chenlb;
import java.io.File;
import org.htmlcleaner.HtmlCleaner;
import org.htmlcleaner.TagNode;
/**
* htmlcleaner 使用示例.
*
* @author chenlb 2008-11-26 下午02:12:02
*/
public class HtmlCleanerDemo {
public static void main(String[] args) throws Exception {
HtmlCleaner cleaner = new HtmlCleaner();
TagNode node = cleaner.clean(new File( "html/html-clean-demo.html" ), "GBK" );
//按tag取.
Object[] ns = node.getElementsByName("title" , true ); //标题
if (ns.length > 0 ) {
System.out.println("title=" +((TagNode)ns[ 0 ]).getText());
}
System.out.println("ul/li:" );
//按xpath取
ns = node.evaluateXPath("//div[@class='d_1']//li" );
for (Object on : ns) {
TagNode n = (TagNode) on;
System.out.println(" text=" +n.getText());
}
System.out.println("a:" );
//按属性值取
ns = node.getElementsByAttValue("name" , "my_href" , true , true );
for (Object on : ns) {
TagNode n = (TagNode) on;
System.out.println(" href=" +n.getAttributeByName( "href" )+ ", text=" +n.getText());
}
}
}
Java代码
package com.chenlb;
import java.io.File;
import org.htmlcleaner.HtmlCleaner;
import org.htmlcleaner.TagNode;
/**
* htmlcleaner 使用示例.
*
* @author chenlb 2008-11-26 下午02:12:02
*/
public class HtmlCleanerDemo {
public static void main(String[] args) throws Exception {
HtmlCleaner cleaner = new HtmlCleaner();
TagNode node = cleaner.clean(new File("html/html-clean-demo.html"), "GBK");
//按tag取.
Object[] ns = node.getElementsByName("title", true); //标题
if(ns.length > 0) {
System.out.println("title="+((TagNode)ns[0]).getText());
}
System.out.println("ul/li:");
//按xpath取
ns = node.evaluateXPath("//div[@class='d_1']//li");
for(Object on : ns) {
TagNode n = (TagNode) on;
System.out.println(" text="+n.getText());
}
System.out.println("a:");
//按属性值取
ns = node.getElementsByAttValue("name", "my_href", true, true);
for(Object on : ns) {
TagNode n = (TagNode) on;
System.out.println(" href="+n.getAttributeByName("href")+", text="+n.getText());
}
}
}
cleaner.clean()中的参数,可以是文件,可以是url,可以是字符串内容。个人认为:比较常用的应该是evaluateXPath、getElementsByAttValue、getElementsByName方法了。另外说明下,htmlcleaner对不规范的html兼容性比较好。
1.HtmlCleaner的文档对象模型拥有了一些函数,处理节点和属性,所以在序列化之前搜索或者编辑是非常容易的。
2.提供基本HtmlCleanerDOM的XPath支持
3.使用XML配置文件让创建定制tag变得更加容易
4.修复多个bug以及API改进
兼职在家做手工活外发
25.3M
AdvancedDefrag可以帮助您解决许多棘手的问题,比如计算机速度变慢、系统崩溃等。想要迅捷的整理您的磁盘,不妨来尝试先进的AdvancedDefrag,...
当今社会学什么技术最赚钱
767.9M
在win10上很多的人查看自己的电脑上面的密码都是非常的麻烦,目前下面的这款Win10WiFi密码查询工具,直接的启动就可以快速的帮助你查询出来!Win10Wi...
至尊单机元宝怎么提现
227.6M
灵豚课件制作工具是一款免费实用的课件制作软件,本软件集成了视频、音频、课件制作、录制和上传等功能于一体的多媒体课件制作工具,相对于传统的课件,本软件制作出来的课...
赚客赚钱软件邀请码
1,026.4M
中望CAD机械版是款今年最新机械绘图软件,它不但能进行系统化的流程管理,还能进行权限管理软件,而且这里面拥有非常完整的绘图工具,使其能快速的绘制出自己需要东西,...
佣金的核算技巧
367.9M
屠龙传奇单机RPG是一款2017年最新的半挂机放置类游戏,免费经典的rpg,是所有的喜欢玩传奇的游戏玩家都是非常的喜欢玩的,现在就可以免费的下载苹果版!屠龙传奇...
用手机怎样每天赚一百元
393.6M
维克多医药系统是一款非常好用的电子图书资源,可以让你在手机上随时随地的观看所有的内容,而且还有很多是你想象不到的内容,需要的下载吧。维克多医药系统词汇全书收录2...
qq群招聘管理员兼职
140.9M
坦克荣耀之传奇王者无限版是一款二战策略战争手游,在游戏里玩家驾驶自己的坦克车进行战斗炫酷的画面,各种精良的画质,上层的玩法,多趣味的体验,还有最正宗要的真实还原...
无限代棋牌6元
411.7M
有钱兔都是孤独的安卓版是一款休闲玩法的游戏,一只有梦想的兔子,要赚很多的钱,怎么赚或者是如何的赚,同时怎么去旅途都是需要玩家去挑战的!有钱兔都是孤独的安卓版介绍...
成都兼职工
200.1M
游侠网络电台(网络广播收听软件)是一款绿色免费的由霹雳游侠制作的网络广播收听软件。软件功能强大,资源丰富,可以支持收听全国各地音乐,新闻,经济等广播节目。游侠网...
现在什么项目比较赚钱
162.5M
魔之符咒全新版8.5是一款经典的魔兽防守地图,本图支持一到六名玩家团队作战游戏,新版地图将99层妖塔战斗力要求改为1000W,降低了99层妖塔小怪生命值、防御、...
能赚钱的游戏有那些
1,124.6M
培训讲师,是一个非常不错的职业。那么如果培训讲师要应聘的话,应该怎么写简历呢。不管你有没有工作经验,都来看看这份培训讲师求职简历模板,东坡小编希望能够帮助到你!...
seo兼职能赚钱吗
1,943.2M
EXE程序加密工具(DotfixNiceProtect)是一款可以保护您的应用程序不被误删除的工具,exe文件是大家平时都会使用到的程序启动文件,通过本工具能够...
开快递公司能赚多少钱
826.4M
马保国表情包这是一款非常趣味的搞笑的表情包,大家很有可能不知道这位人物是谁,他就是民间的太极大师在网络上流传,他的舞蹈视频也是非常的火爆,小伙伴们可以想要深入的...
dnf搬砖图推荐
1,511.1M
威武猫淘宝宝贝分裂大师,简单实用的商品分裂软件,拥有csv数据包分裂、标题采集、品牌词过滤等功能,无需淘宝助理,直接在线分裂。功能特点在线分裂无需淘宝助理,直接...
逆水寒手游搬砖
1,844.2M
自动广播打铃系统运行于winxp/win98环境,可以用于学校、工厂、公司等单位和部门的工作作息时间安排。【软件功能】1.软件界面直观,易于操作。2.通过设置,...
网赚工作室挣钱吗
2025/11/18 14:01
拆分盘赚钱原理
2025/11/09 08:02
微信哪些公众号能赚钱
2025/11/08 07:38
网上日赚百万
2025/11/10 22:06
上海重疾险佣金
2025/11/24 00:34
菜鸟驿站兼职怎么申请
2025/11/23 14:57
现在做挣钱
2025/11/18 21:38
游戏盒子怎么赚钱
2025/11/12 23:38
用大发手游兼职
2025/11/22 01:08
小本怎么赚钱点子
2025/11/07 05:30
注册手机app赚钱
2025/11/08 08:30
林志颖手机赚钱
2025/11/19 14:15
北京赛车有赚钱吗
2025/11/09 07:38
安卓手机自动刷广告赚钱
2025/11/10 12:54
是你棋牌安卓520
2025/11/14 10:25
是你棋牌安卓520
2025/11/14 10:25更新
天气逐渐炎热,防溺水安全教育又成为学校安全教育的头等大事。安康地区的学生可以进入安康学校安全教育平台进行了解和学习防溺水安全知识。下面是小编为大家带来的一份安康...
支持 ( 120 ) 盖楼(回复)
支持 ( 112 ) 盖楼(回复)
支持 ( 151 ) 盖楼(回复)
支持 ( 14 ) 盖楼(回复)
支持 ( 118 ) 盖楼(回复)
支持 ( 135 ) 盖楼(回复)
支持 ( 110 ) 盖楼(回复)
支持 ( 165 ) 盖楼(回复)
支持 ( 178 ) 盖楼(回复)
支持 ( 53 ) 盖楼(回复)
支持 ( 71 ) 盖楼(回复)
支持 ( 141 ) 盖楼(回复)
支持 ( 168 ) 盖楼(回复)
支持 ( 125 ) 盖楼(回复)
支持 ( 106 ) 盖楼(回复)
支持 ( 29 ) 盖楼(回复)
支持 ( 198 ) 盖楼(回复)
支持 ( 73 ) 盖楼(回复)
支持 ( 196 ) 盖楼(回复)
支持 ( 134 ) 盖楼(回复)