阿拉神燈

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

          2010年2月5日

          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 @ 2010-02-05 09:41 阿拉神燈 閱讀(222) | 評論 (0)編輯 收藏

          僅列出標題  
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          主站蜘蛛池模板: 海安县| 宁明县| 海宁市| 南皮县| 东港市| 绵阳市| 永清县| 林州市| 通辽市| 周宁县| 勐海县| 鸡东县| 焦作市| 大竹县| 寻甸| 临海市| 喜德县| 白银市| 虹口区| 铜山县| 榆树市| 盘山县| 黄浦区| 二手房| 涿鹿县| 扎囊县| 衡山县| 信宜市| 黄浦区| 家居| 从化市| 台中市| 新沂市| 棋牌| 江口县| 辉南县| 韶山市| 满城县| 莆田市| 革吉县| SHOW|