htmlParser解析ハイパーリンク


 package org.zz.test;  
 import org.htmlparser.NodeFilter;  
 import org.htmlparser.Parser;  
 import org.htmlparser.filters.TagNameFilter;  
 import org.htmlparser.tags.LinkTag;  
 import org.htmlparser.util.NodeList;  
 import org.htmlparser.util.ParserException;  
 import org.htmlparser.visitors.HtmlPage;  
 public class ParserHtmlPage {  
     public NodeList parser(String url) throws ParserException{  
         /**  url  parser  ,   || Parser parser = Parser.createParser(url,encoding)**/  
         Parser parser =  new Parser(url);  
          
         /**    ,   url    ,     **/  
         parser.setEncoding("utf-8");  
          
         /**     html     **/  
         HtmlPage htmlPage = new HtmlPage(parser);  
         parser.visitAllNodesWith(htmlPage);  
          
         /**   body        **/  
         NodeList list = htmlPage.getBody();  
          
         /**     filter,       **/  
         NodeFilter filter = new TagNameFilter("A");  
          
         /**          **/  
         list = list.extractAllNodesThatMatch(filter, true);  
          
          
         for(int c =0; c < list.size(); c ++){  
                 LinkTag linkTag = (LinkTag) list.elementAt(c);  
                 System.out.println("["+linkTag.getStringText()+"]"+linkTag.getAttribute("href"));//  href      
                 //System.out.println(linkTag.getStringText());//          
         }  
         return list;  
     }  
      
     public static void main(String[] args) throws ParserException {  
        ParserHtmlPage pp = new ParserHtmlPage();  
        pp.parser("http://www.baidu.com");  
     }  
 }