简单了解htmlparser
2007-12-20 14:47
288 查看
这个东西就是对html进行解析,找出自己想到的数据.这个是比较常用的,功能也非常强大的工具.
如果下载可以到 http://htmlparser.sourceforge.net/
当前版本是1.6的,以下的代码都是针对于1.6 的版本
分析,(也可以说是过滤)主要应用到NodeFilter和Visitor,(现在知道的就这两个,如果有人知道其它的告诉我呀)
NodeFilter
1.首先生成一个Parser,生成的方法比较多,如:
已知URL,(想从网络上的网页提取)
Parser parser = new Parser();
parser.setURL("http://www.yahoo.com.cn");
从本地网页提取,要先把网页转成字符串,假定为str
Parser parser=Parser.createParser(html,charset);
2.然后就需要filter
NodeFilter filter=new TagNameFilter("IMG");//"IMG"是Tag的名字
NodeFilter filter = new NodeClassFilter(ImageTag.class);//Tag 的类
3.其次就是匹配filter了
NodeList list=parser.extractAllNodesThat(filter);
for(int i=0;i...){ String content=list.elementAt(i).toHtml();}//得到符合条件的Tag内容
也可以写为ImageTag imageTag=(ImageTag)list.elementAt(i);
Visitor
1.生成一个Parser (同上)
2.用visitor访问页面
如:ObjectFindingVisitor visitor=new ObjectFindingVisitor();
parser.visitAllNodesWith(visitor);
3.通过特定的visitor得到符合条件的Tag
Node[] nodes=visitor.getTags();
for(int i=0;i ImageTag imageTag=(ImageTag)nodes[i];
…………
//根据需要做特定处理
}
如果下载可以到 http://htmlparser.sourceforge.net/
当前版本是1.6的,以下的代码都是针对于1.6 的版本
分析,(也可以说是过滤)主要应用到NodeFilter和Visitor,(现在知道的就这两个,如果有人知道其它的告诉我呀)
NodeFilter
1.首先生成一个Parser,生成的方法比较多,如:
已知URL,(想从网络上的网页提取)
Parser parser = new Parser();
parser.setURL("http://www.yahoo.com.cn");
从本地网页提取,要先把网页转成字符串,假定为str
Parser parser=Parser.createParser(html,charset);
2.然后就需要filter
NodeFilter filter=new TagNameFilter("IMG");//"IMG"是Tag的名字
NodeFilter filter = new NodeClassFilter(ImageTag.class);//Tag 的类
3.其次就是匹配filter了
NodeList list=parser.extractAllNodesThat(filter);
for(int i=0;i...){ String content=list.elementAt(i).toHtml();}//得到符合条件的Tag内容
也可以写为ImageTag imageTag=(ImageTag)list.elementAt(i);
Visitor
1.生成一个Parser (同上)
2.用visitor访问页面
如:ObjectFindingVisitor visitor=new ObjectFindingVisitor();
parser.visitAllNodesWith(visitor);
3.通过特定的visitor得到符合条件的Tag
Node[] nodes=visitor.getTags();
for(int i=0;i ImageTag imageTag=(ImageTag)nodes[i];
…………
//根据需要做特定处理
}
相关文章推荐
- 简单完整的代码,通过这个代码你将对RSA加密算法在Java中的实现方法有一个初步的了解,这个类,你可以直接使用,水平高的,就自己修改完善下代码。
- 简单了解数学类
- 简单了解一下 Segment Tree 和 Fenwick Tree(Binary Indexed Tree)
- 通过查看网上资料对IOS Runtime的简单了解与描述
- 从一个简单的WEB项目入手来简单地了解一下什么是Spring之持久层(Dao)
- 简单了解Markdown
- swift的简单了解
- 一个简单的例子带你了解jni流程
- Axure界面简单了解
- 用简单的代码实现简易的rxjs的filter功能,帮助rxjs新手了解rxjs的操作符的工作原理。
- oracle decode 简单了解
- 富文本(TYAttributedLabel 简单,强大的属性文本控件(无需了解CoreText),支持图文混排显示,支持添加链接,image和UIView控件,支持自定义排版显示)
- sql简单了解
- RabbitMQ系列(二)深入了解RabbitMQ工作原理及简单使用
- xml的了解与简单运用
- netstat命令简单了解
- Hibernate(1)Hibernate简介和简单示例,了解Hibernate事务回滚用法
- Visual C++入门 :了解一个简单的窗口程序 (SDK)
- JDK1.8之LinkedHashMap简单了解
- VFP对象的属性和方法的简单了解