2012年1月31日火曜日

[JAVA]HTMLから表(table)だけ取り出したい

Webページから表状になっているデータを取ってくる必要があったので、Jericho氏のparserを。
例外等は省略


Source source = new Source(new URL(URL));
List tableList = source.getAllElements(HTMLElementName.TABLE);
   
for(Element table : tableList){
  if(tableList.indexOf(table) > 0){
    for(Element tbody : table.getChildElements()){
      if(table.getChildElements().indexOf(tbody) > 1){
        for(Element tr : tbody.getChildElements()){
          if(tbody.getChildElements().indexOf(tr) >= 0){//ここが問題
            for(Element td : tr.getChildElements()){
              if(tr.getChildElements().indexOf(td) > 0){
                //処理だよー
                System.out.println(td.getTextExtractor().toString());
              }
            }//td
          }
        }//tr
      }
    }//tbody
  }
}//table


何これ簡単
でも、最初から<td>辺りを取得すれば良かったかも?

sourceforge - Jericho HTML Parser

0 件のコメント:

コメントを投稿