HtmlCleaner是一个免费开源的适用范围广的Java语言Html文档解析器,它能重新整理HTML文档的每个元素并生成结构良好(Well-Formed)的HTML文档。默认它遵循的规则是类似于大部份web浏览器为创文档对象模型所使用的规则,户可以提供自定义tag和规则组来进行过滤和匹配。在农村做什么小吃赚钱
它被设计的小,快速,灵活而且独立。HtmlCleaner也可用在Java代码中,当命令行工具或Ant任务。解析后编程轻量级文档对象,能够很容易的被转换到DOM或者JDom标准文档,或者通过各种方式(压缩,打印)连续输出XML。
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兼容性比较好。
展开内容
7.7/424.8M
全新一款以冰淇淋车为主题的恐怖游戏,你好冰淇淋邻居2兄弟会手游(IceScreamCafe2)是正版续作,高清3d的场景画面,非常有代入感,玩家在游戏中要躲避恐...
7.5/1,633.4M
大主宰新版0.1折无限充永久0.1折无数值膨胀,上线就送绝版金装、海量材料、海量福利等等,绝对良心的版本!这款游戏是根据热门小说改编而来,游戏中,玩家将扮演少年...
9.4/918.7M
“华新校园通”是实现“智慧校园.智慧社区”的在线服务平台,是每位教职工物业服务平台,该平台集便民缴费、物业管理,和线下社区服务等功能为一体,提高学校生活质量的智...
9.5/894.4M
石器原班人马打造,稀有宠物全靠抓,零充高玩当大佬!石器小豆丁穿越到原始时代,熟悉的场景,叫上你的好朋友一起石器大陆吧。石器小豆丁手游介绍《石器小豆丁》是一款原始...
9.3/1,082.6M
NoteTab完全可配置的工具栏有超过90命令可用,和一个Clipbar特性,允许您创建自己的工具栏按钮来执行自定义脚本和向导。NoteTab是超级的文字编辑器...
9.1/1,775.8M
水印相机大师app是一款简单易用的手机加水印软件,支持图片、相机和视频自定义加水印,界面简洁,安装包精简,可以多张图片同进加水印,很简单易用。支持自定义照片水印...
8.5/710.4M
试盒app是一款穿搭推荐软件,用户下载这款软件能够在上面进行非常优质的穿搭推荐,app能够根据用户的各种衣服搭配出超级好看的搭配效果,帮助小伙伴们普通的衣服也能...
8.3/541.8M
全民暴风摩托是一款高速公路竞速游戏,游戏中玩家需要在游戏中跳动自己的所有积极性,不同的挑战速度极限,全新3d竞技大作,超高清画质,炫酷的关卡道具,让你在游戏中体...
9.5/1,194.5M
在众多精简版本中,小编找来了这款增强版的PhotoshopCS3,功能可以说非常完善,增加了一些外置滤镜以及一些常用组件,当然,这些是可以选择性安装的。然后该版...
8.0/558.1M
数控科技手机版是一款使用十分方便的快速报修软件,如果您急需维修机床、或是缺少配件,可以通过平台寻找专业人员进行维修,平台拥有专门的配件商城,用户可以通过软件购买...
7.8/844.7M
XL工具箱为你整合了许多实用的小工具,通过这些工具我们能够更好的开始我们的日常生活,这些工具可以在我们生活之中提供更好的帮助内容,从而给予你超级棒的体验感受,天...
8.9/1,470.9M
U盘的启动制作工具在现在是很多的人都是非常的喜欢用到的,现在就可以试试下面的这款最新的冰封U盘启动制作工具,轻松的教会每一个人都是怎么去制作以及装好系统,在也不...
9.4/1,384.5M
情说app是一款非常不错的手机通讯软件,在这里有非常多的成长导师为你排忧解难,并且在这里还有众多学习资料和导师辅导,非常好用,快点来试试吧。游戏介绍卸下面具,褪...
10.0/480.1M
QRCodeReader是一款可以生成二维码的软件,现在很多都是使用二维码来进行,不仅可以快速的了解信息,还很安全放心,这款软件可以生成很多种类的二维码,而且没...
9.7/1,973.7M
pubg国际服gm服是一款全新的游戏版本,玩家门可以在这里更好的体验游戏中的所有玩法元素,超多皮肤、道具以及福利等,不用充值一分钱,感兴趣的小伙伴快来东坡下载吧...
8.4/1,062.0M
购物可以更省钱的软件,折云惠app自用可以省钱,分享给朋友可以赚钱,精选商品,分类多,种类详细,能快速找到你想要的任何商品,品牌必抢,限时限量超级省省省。功能介...
9.8/968.0M
这是一个手机赚钱软件,通过这个按平台你可以找到非常多手机做的兼职任务,人人都可以赚钱,没有什么门槛,支持支付宝,微信等等方式快速提现!软件介绍淘赏云客app是一...
7.5/87.6M
这是一款好玩的模拟生存类游戏,北极熊家庭生存手游中玩家帮助北极熊进行捕食,收集食物,在寒冷的冬天更好的生存下去,建立自己的家庭和生活区。北极熊家庭生存手游介绍北...
7.5/1,985.5M
RecurrenceCo-op逼真的战术射击游戏,PvE合作战术射击游戏。玩家扮演快速反应小队的战士。选择装备后,他将执行20项可用任务中的一项,包括消灭恐怖分...
9.7/1,259.7M
陆金所国际App是一款非常好用的软件,可以让你在线进行各种的金融业务,让你的钱变的越来越多,让你每天都开开心心过日子。平台亮点-开户、充值、投资、赎回、取现、销...
8.8/1,637.7M
GoogleExpress(物流服务软件)是一款由谷歌推出的物流服务软件,用户通过本软件能够将网购送货的时间压缩到一天,对于每次网购都需要等特别久的朋友来说,本...
9.9/1,672.7M
这游戏集合成升级+休闲养成+模拟经营等多种元素于一体,体验小游戏的快乐。通过合成小游戏不断的建设建造自己的城镇,吸引更多的居民住在这里,慢慢扩大自己的范围,收集...
8.4/525.9M
想要购遍全球好货就用海淘购物软件海印优选,不在需要别人代购,自己一样可以买到最货真价实的进口商品,百分百保证七天不满意随时退款,让你海淘无后顾之忧,购物海淘就选...
7.7/1,164.8M
能源亿万富翁是一款模拟养成类游戏,游戏中将建立属于你自己的商业帝国,产品一环扣一环,不断的生产与发展,在滚雪球模式下,你的商业帝国从小规模越滚越大,开来建造发展...
8.9/1,625.7M
专门为小学生打造的一款手机字典软件,提供了汉语字典、古诗的查询,支持多种检索方式,方便快速的查询,对生字词的理解更加准确。小学生规范字典大全介绍辅导孩子家庭作业...