2016-12-01 2 views
0

자바 및 jsoup 초보자가 될 수 없어 붙어 있습니다. 저는 야후 재무에 관한 웹 사이트를보고 주식의 현재 가격과 테이블의 52 주 범위를 파악하는 프로그램을 만들고 있습니다. 현재 가격으로 구문 분석 문제가 있습니다. see my browser here 나는 스팬 클래스로 그 주식 가격을 잡으려고 노력하고 있는데, 내 이미지에서 볼 수 있듯이, 주가가 내려갈 때 (빨강)와 주식이 올라갈 때 (녹색) 가격이 포함 된 기간이 변경됩니다. Jsoup에서 클래스에 관계없이 선택할 수 있도록하려면 어떻게해야합니까?Jsoup Java Html 스크래핑은 숫자

여기에 내 현재 코드입니다. sprice는 문자열 형식의 현재 가격입니다. 느린 52 주 문자열 형식의 범위입니다. 미리 감사드립니다.

Document doc = Jsoup.connect("http://finance.yahoo.com/quote/AAPL? ltr=1").timeout(10*1000).get();  

Elements spans = doc.select("span"); 
Element span = null; 
Elements rows = doc.select("td"); 
Element row = null; 
double price= 0; 
double low = 0; 
String sprice = ""; 
    String slow = ""; 

    if (spans.hasClass("Fw(b) D(ib) Fz(36px) Mb(-4px)")) {//*this code gets the current price on yahoo.com 
     span = spans.get(13); 
     sprice = span.text(); 
     System.out.println("the sprice is: " + sprice); 
    } 

    if(rows.hasClass("Ta(end) Fw(b)")){//*this code gets the 52 week range on yahoo.com 
     row = rows.get(13); 
     slow =row.text(); 
     System.out.println("the slow is: " + slow); 
    } 

답변

0

안정적인 이웃 요소를 찾고 id에서 탐색하십시오. 예를 들어

:

doc.getElementById("quote-market-notice").parent().child(0).text() 
+0

덕분에 매우 도움이 – Joeysk