2014-05-21 2 views
0

내가 (저장된 .HTM를 사용하여 순간에 살)이 사이트에 테이블에서 정보를 긁어하려고 해요로 : 기본적으로 https://web.archive.org/web/20140106024901/http://ftpcontent2.worldnow.com/wjrt/school/closings.htm긁어 HTML 표 JSoup

내가 반환하는 프로그램을 쓰고 있어요 이 테이블의 첫 번째 칼럼을 기반으로 어떤 학교/기업이 폐쇄됩니까? 나는 요소로 데이터를 저장 JSoup를 사용하여 시도했다 그러나이 situtation에 나타 나는 페이지의 소스 코드에서 테이블 ID를 찾을 수 없습니다 : 나는 데이터를 저장하려면 어떻게 Using JSoup To Extract HTML Table Contents

<P><TABLE BORDER=0 CELLPADDING=2 CELLSPACING=1><TR><TD CLASS="timestamp" ALIGN=RIGHT>UPDATED SUNDAY, JAN 5 AT 9:45 PM</TD></TR><TR><TD BGCOLOR="#EEEEEE"><FONT CLASS="orgname">AARP Foundation&nbsp;[<a href="/web/20140106024901/http://www.aarpworksearch.org/" target=_new>WEB</A>]</FONT>: <FONT CLASS="status">Closed Tomorrow</FONT></TD></TR><TR><TD BGCOLOR="#DDDDDD"><FONT CLASS="orgname">Akron/Fairgrove&nbsp;[<a href="/web/20140106024901/http://www.a-f.k12.mi.us/" target=_new>WEB</A>]</FONT>: <FONT CLASS="status">Closed Tomorrow</FONT></TD></TR><TR><TD BGCOLOR="#EEEEEE"><FONT CLASS="orgname">Alcona&nbsp;[<a href="/web/20140106024901/http://www.alconaschools.net/" target=_new>WEB</A>]</FONT>: <FONT CLASS="status">Closed Tomorrow</FONT></TD></TR><TR><TD BGCOLOR="#DDDDDD"><FONT CLASS="orgname">Alma&nbsp;[<a href="/web/20140106024901/http://www.almaschools.net/" target=_new>WEB</A>]</FONT>: <FONT CLASS="status">Closed Tomorrow</FONT></TD>... 

이 테이블에?

답변

0

운 좋게도 문제의 테이블은 색이있는 유일한 테이블입니다. 이 경우에는 이점을 활용할 수 있습니다. 아래 프로그램은 원하는 것을 출력합니다. 필요에 맞게 수정할 수 있습니다.

import java.io.IOException; 

import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 


public class JsoupParser3 { 

    public static void main(String[] args) { 
     Document doc; 

     try {    
      doc = Jsoup.connect("https://web.archive.org/web/20140106024901/http://ftpcontent2.worldnow.com/wjrt/school/closings.htm").get(); 
      for(Element row : doc.select("td[bgcolor]")){ 
       System.out.println(row.select("font.orgname").first().text() + " - " + row.select("font.status").first().text()); 
      } 

      System.out.println("Done"); 

     } 

     catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

}