HtmlCleaner是一个免费开源的适用范围广的Java语言Html文档解析器,它能重新整理HTML文档的每个元素并生成结构良好(Well-Formed)的HTML文档。默认它遵循的规则是类似于大部份web浏览器为创文档对象模型所使用的规则,户可以提供自定义tag和规则组来进行过滤和匹配。收废品赚钱
1.HtmlCleaner的文档对象模型拥有了一些函数,处理节点和属性,所以在序列化之前搜索或者编辑是非常容易的。
2.提供基本HtmlCleanerDOM的XPath支持
3.使用XML配置文件让创建定制tag变得更加容易
4.修复多个bug以及API改进
写一个测试用的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兼容性比较好。
它被设计的小,快速,灵活而且独立。HtmlCleaner也可用在Java代码中,当命令行工具或Ant任务。解析后编程轻量级文档对象,能够很容易的被转换到DOM或者JDom标准文档,或者通过各种方式(压缩,打印)连续输出XML。
展开内容
8.3/1,280.8M
天猫精灵智能助手是天猫官方推出的语音助手,他可以与各种不同的设备硬件相连接,获取相关的信息,也可以对设备进行快速控制操作,非常的方便,需要的可以使用!天猫精灵a...
8.7/76.0M
星联易生活app是一款非常好用的生活缴费和资讯获取软件,非常方便快捷,你也可以足不出户就完成缴费。能够享受到许多的功能,给众多用户们的日常生活们提供许多的全新升...
9.7/411.4M
动力勋章APP是一款优质的运动健身服务软件,凭借精心设计的项目与算法,能为用户定制贴合其生活方式的健身方案。它不仅可记录步数和运动数据,还提供丰富的健身服务,让...
8.9/643.6M
lol腥红之月亚索算是现在lol中比较红火的英雄出来的新皮肤了,有需要的给自己的电脑桌面下载你需要的桌面壁纸的话,现在就可以试试下面的这些lol腥红之月亚索壁纸...
7.9/1,439.0M
黑暗历险幸存者是一款玩法十分有意思的冒险手游,玩家在游戏中将会进行一场全新的冒险之旅,你将会扮演一名小孩童,在你的周围将有多种神秘的时间发生在你身上,仔细寻找线...
9.3/1,979.7M
二手车交易市场里面需要购买各种车辆或者是一些事故车规范交易以及一些零售的可以直接的选择--91淘车app,解决你在网上购买车辆的问题!91淘车介绍91淘车是中国...
8.8/731.5M
狂暴机械鲨鱼是一款海底射击闯关类的手游,游戏有着超清的游戏画面设计,操作简单容易上手,一边躲避障碍一边杀死路过的鱼群,比较耐玩的奇幻射击游戏。《狂暴机械鲨鱼Ro...
8.4/1,591.7M
砸金蛋网络版抽奖系统是一款可以让你在活动中砸金蛋的软件,让你可以开开心心的抽奖,完成各种抽奖活动,让活动顺利进行,需要的下载吧。可以砸鸡蛋抽奖系统特点:支持用户...
9.4/212.1M
暴走世界杯游戏是一款很好玩的足球类游戏,游戏采用Q版的画风打造,在游戏中玩家将选择一支球队来进行比赛,最终冲入世界杯赛中来夺得荣耀!游戏介绍暴走世界杯是不一般的...
8.7/1,324.8M
三国杀繁体版/三国杀海外版,游戏采用真实的三国背景,在这里培养自己的人物,参与排位和对战,获得更多的游戏资源,真人在线战斗,还可以认识很多其他和你一样也喜欢三国...
8.3/951.7M
救救狗蛋是一款闯关游戏,在游戏之中玩家操控狗蛋进行闯关,你必须运用智慧走到关卡的终点,否则游戏角色将忍不住拉在身上,玩起来非常魔性,感兴趣的小伙伴快来东坡下载吧...
7.9/1,228.3M
这是我们东坡下载为大家带来的一个魔兽地图赤壁外传1.7.9版本的下载,这次版本更新在修复了一些bug的同时还为大家增加了更多可玩性的更新,最重要的是为大家删除了...
查看
8.4/646.6M
再跳一次2是一款手绘街机平台游戏。游戏操作简单,上手容易,多个手绘关卡等你来挑战。点击屏幕任意位置跳起,丰富的游戏内容,多种主题和角色任你选择。很考验反应速度哦...
9.4/488.0M
作为一个曾经在武汉大学——看过樱花的人,小编觉得那地方简直太赞了——到底有多赞呢?因为小编此时的重点是为大家介绍这份武汉大学PPT背景模板,所以还是少写些对武汉...
8.0/1,740.9M
智慧云阳app是一款云阳地区使用的生活信息服务平台,为本地市民提供本地新闻、旅游、便民生活等信息服务,欢迎来下载使用!智慧云阳手机客户端介绍“智慧云阳”手机客户...
9.7/525.1M
保育员考试聚题库是专为幼儿园保育员打造的线上题库训练学习软件,用户在这里能够轻松随时随地在线学习,涵盖了保育员考试的众多优质题型,还能为用户的实际情况制定专业的...
9.0/1,897.2M
趣味填图app是一款涂色软件,拥有丰富的图片,色彩丰富,挑选不同的颜色绘出不同颜色的图片,适合不同的年龄阶段,老少皆宜。趣味填图玩法首先选择一副图片上色可以自由...
8.8/25.0M
专为各种发型师提供的业绩管理工具,通过美发帮发型师app可以便捷的记性各种业务的管理操作,能够有效的对各种客户关系进行维护。美发帮发型师app功能特色美发帮发型...
9.7/1,813.6M
有需要时刻的对常德地税等相关新闻进行了解的朋友,现在就可以在手机上下载下面的这款最新的常德地税发票查询监督app,方便你的了解以及监督常德地税!常德地税发票查询...
9.5/548.0M
金装裁决是一款很好玩的复古传奇战斗冒险rpg手游。游戏有着丰富的玩法内容,熟悉的传奇元素再现。细腻的操作,真实的打击感,拒绝一刀999,平衡战法道三职业。和朋友...
9.6/1,534.9M
装机在生活中是必须要使用到的技能不管是男生还是女生都是应该学习会的,有很多的时候电脑都是不支持傻瓜式装机,非要需要在u盘中制作,这个时候就需要使用到一些U盘启动...
9.8/1,268.0M
来给vivi换装吧!超多精美服装饰品供你打扮,每天签到能领取精美服饰哟,轻松上手,简单打扮,还能与其他人PK挑战,看看谁是打扮小公主吧!赶快下载给vivi换装吧...
8.1/1,756.9M
东方仙侠良心巨作,极致4k画质,让你身临九州仙域!特色玩法众多,仙宠灵兽,惊世神兵,热血即时pk!市场自由交易,装备变废为宝,唯美双修,再续前世仙缘,仙盟争霸,...
9.0/809.9M
捷伴智行手机版是一款非常专业实用的车控app,一站式汽车服务,帮助大家在手机上面通过软件轻松控制爱车!随时在线了解自己爱车的运行状态,操作起来非常方便。捷伴智行...