2016-12-01 54 views
0

完整的Java和Jsoup新手,我卡住了。我正在製作一個程序,查看雅虎財經的網站,並抓住股票的當前價格和52周的表格範圍。我目前的價格存在解析問題。 see my browser here我試圖通過跨班級獲取股票價格,正如您可以在我的圖像中看到的那樣,包含股價下跌(紅色)和股價上漲(綠色)時價格變化的跨度。我怎樣才能在Jsoup中獲得這樣的價格,以便我可以選擇它而不考慮課程?Jsoup爪哇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