`
abeetle
  • 浏览: 98960 次
  • 来自: ...
社区版块
存档分类
最新评论

简单了解htmlparser

阅读更多

这个东西就是对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];
   …………
   //根据需要做特定处理
}
 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics