使用NodeVisitor访问HTML页面的TAG

原创 2007年09月16日 21:17:00
     上次所说的使用Filter同时访问formtag和linktag是不行的,实际上有这样一种东西,可以访问任意tag--------Nodevisitor。下边这个程序是DOC上边的,我只是改了下,使得可以符合我的需要,访问linktag和formtag:
 import org.htmlparser.Parser;
 import org.htmlparser.Tag;
 import org.htmlparser.tags.LinkTag;
 import org.htmlparser.tags.FormTag;
 import org.htmlparser.Text;
 import org.htmlparser.util.ParserException;
 import org.htmlparser.visitors.NodeVisitor;
 
 public class MyVisitor extends NodeVisitor
 {
     public MyVisitor ()
     {
     }

     public void visitTag (Tag tag)
     {
         if (tag instanceof LinkTag)
         {
             System.out.println("a ->" + ((LinkTag)tag).extractLink());
         }
         else if (tag instanceof FormTag)
         {
             System.out.println("form ->" + ((FormTag)tag).extractFormLocn());
         }
     }

     public static void main (String[] args) throws ParserException
     {
         Parser parser = new Parser (args[0]);
         parser.setEncoding("GB2312");
         NodeVisitor visitor = new MyVisitor ();
         parser.visitAllNodesWith (visitor);
     }
 }

解析器会自动地调用visitTag方法,对每个tag进行判断,对需要的进行必要的操作。
好东西吧,再研究更有意义点的操作,由他发散就行了。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

如何使用Fiddler实现跨域访问(把自己做的静态HTML页面域名变成api.bing.com)

如何使用Fiddler实现跨域访问(把自己做的静态HTML页面域名变成api.bing.com)

如何使用Fiddler实现跨域访问(把自己做的静态HTML页面域名变成api.bing.com)

Ajax发送请求地址的url地址与服务器地址必须是同一域名下,为了解决这个问题,可以使用Fiddler实现域名修改。
  • Ednah
  • Ednah
  • 2017-02-23 21:08
  • 132

Android开发系列十:使用Jsoup解析HTML页面

在写Android程序时,有时需要解析HTML页面,特别是那类通过爬网站抓取数据的应用,比如:天气预报等应用。如果是桌面应用可以使用htmlparser这个强大的工具,但是在Android平台上使用会...

Spring MVC前台使用html页面作为视图,配置静态资源后Controller控制器不起作用的解决办法

1.Spring MVC搭建项目的时候,想使用html页面作为前端的视图,你会发现html页面不能访问,原因是由于Spring拦截器将其拦截寻找控制器的缘故,解决办法就是配置静态资源: 1 2 ...

使用Jsoup解析HTML页面

Jsoup是通过解析网站网页,结合标签,进而获取想要的内容。 通过继承Asynctask,通过Jsoup解析标签,将标签内容显示出来。 用法很简单。 class LoadHtml extends...

在html页面上使用ajax传递json数据到基于express框架(node.js)的服务器

json格式简单命了,比XML更易解析,所以在web开发中前后端传送数据经常使用json格式。我们知道node是基于JavaScript的环境,而json是基于JavaScript对象的格式,所以在n...
  • sam976
  • sam976
  • 2016-08-04 20:37
  • 3394
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)