阿拉神燈

          改變不了現實,那就去改變你的心態

          HtmlParser抓取百度新歌TOP100

           

          import org.htmlparser.NodeFilter;
          import
           org.htmlparser.Parser;
          import
           org.htmlparser.filters.HasAttributeFilter;
          import
           org.htmlparser.filters.NodeClassFilter;
          import
           org.htmlparser.filters.TagNameFilter;
          import
           org.htmlparser.tags.LinkTag;
          import
           org.htmlparser.tags.Span;
          import
           org.htmlparser.tags.TableColumn;
          import
           org.htmlparser.tags.TableRow;
          import
           org.htmlparser.tags.TableTag;
          import
           org.htmlparser.util.NodeList;
          import
           org.htmlparser.util.ParserException;

          public class
           test3 {
              
          public static void main(String[] args) throws
           ParserException {
                  String url 
          = "http://list.mp3.baidu.com/top/top100.html"
          ;
                  Parser parser 
          = new
           Parser(url);
                  NodeFilter filter_table 
          = new NodeClassFilter(TableTag.class
          );
                  NodeFilter filter_span 
          = new NodeClassFilter(Span.class
          );
                  NodeFilter filter_link 
          = new TagNameFilter("A"
          );
                  NodeFilter filter_search 
          = new HasAttributeFilter("class","search"
          );
                  NodeList nodelist 
          =
           parser.extractAllNodesThatMatch(filter_table);
                  
          for(int i = 0  ; i < nodelist.size() ; i++
          ){
                      TableTag table 
          =
           (TableTag) nodelist.elementAt(i);
                      
          for(int j = 0 ; j < table.getRowCount() ; j++
          ){
                          TableRow row 
          =
           table.getRow(j);
                          TableColumn[] column 
          =
           row.getColumns();
                          
          for(int m = 0 ; m < row.getColumnCount() ; m++
          ){
                              String tempstr 
          =
           column[m].getStringText() ;
                              parser 
          = Parser.createParser(tempstr,"utf-8"
          );
                              NodeList list_span 
          =
           parser.extractAllNodesThatMatch(filter_span);
                              
          if(list_span.size() > 0
          ){
                                  
          for(int i1 = 0 ; i1 < list_span.size() ; i1++
          ){
                                      System.out.print(list_span.elementAt(i1).toPlainTextString() 
          + "  "
          );
                                  }
                              }
                              parser.reset();
                              NodeList list_link 
          =
           parser.extractAllNodesThatMatch(filter_link);
                              
          if(list_link.size() > 0
          ){
                                  
          for(int i1 = 0 ; i1 < list_link.size() ; i1++
          ){    
                                      String content 
          =
           ((LinkTag)list_link.elementAt(i1)).getLinkText() ;
                                      
          if(!content.equals(null
          )){
                                          System.out.print(content 
          + "  "
          );
                                      }
                                  }
                              }
                              parser.reset();
                              NodeList list_search 
          =
           parser.extractAllNodesThatMatch(filter_search);
                              
          if(list_search.size() > 0
          ){
                                  
          for(int i1 = 0 ; i1 < list_search.size() ; i1++
          ){    
                                      String link 
          =
           ((LinkTag)list_search.elementAt(i1)).getLink() ;
                                      
          if(!link.equals(null
          )){
                                          System.out.print(link 
          + "  "
          );
                                      }
                                  }
                              }
                          }
                          System.out.println();
                      }
                  }    
              }
          }

          posted on 2010-02-05 09:41 阿拉神燈 閱讀(223) 評論(0)  編輯  收藏 所屬分類: JAVA


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2010年2月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28123456
          78910111213

          導航

          統計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          主站蜘蛛池模板: 上杭县| 察隅县| 庐江县| 兴海县| 玛纳斯县| 阳原县| 磐石市| 玉溪市| 广平县| 安乡县| 石泉县| 镇康县| 津南区| 娄烦县| 阳谷县| 基隆市| 富裕县| 常宁市| 丹寨县| 洪雅县| 赤壁市| 饶河县| 太湖县| 和田县| 波密县| 曲阜市| 方正县| 榆中县| 友谊县| 上思县| 同江市| 会同县| 临西县| 高唐县| 綦江县| 康马县| 阿勒泰市| 宁城县| 龙南县| 黄冈市| 江安县|