阿拉神燈

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

          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)編輯 收藏

          <2010年2月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28123456
          78910111213

          導航

          統計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          主站蜘蛛池模板: 阿尔山市| 应用必备| 汉寿县| 贺州市| 公主岭市| 甘德县| 阳谷县| 门源| 巢湖市| 金乡县| 思茅市| 九龙城区| 瓦房店市| 铜山县| 灌南县| 通榆县| 林西县| 阿拉尔市| 扎鲁特旗| 安国市| 宁河县| 镇康县| 泗洪县| 兴安盟| 元阳县| 瑞昌市| 宁晋县| 安陆市| 邮箱| 远安县| 北安市| 拉萨市| 昌邑市| 山阴县| 化州市| 江孜县| 白城市| 彭水| 阿拉善右旗| 商都县| 肇源县|