2016-11-04 48 views
1

我在Java jsuop很新的Java jsoup獲取文本失敗

我想在後續行的最後價格: http://www.aastocks.com/en/forex/quote/quote.aspx?symbol=NZDHKD&process=y

和我有如下代碼:

元素回答者= document.select(「div.content div.inline_block.vat.float_l div.boxForex div.font26 span.neg」);

但它返回一個錯誤: java.net.SocketTimeoutException:讀超時

我想我錯了,在「document.select」部分,有人可以幫我嗎? 非常感謝。

+0

不,這個例外與doc.select無關。這是由get方法造成的。編輯您的問題並添加相關的代碼。 – TDG

+0

我的答案是否解決了您的問題?那麼請接受它或發佈後續問題,否則http://stackoverflow.com/help/someone-answers –

回答

0

來自服務器的響應時間太長,所以達到了默認超時並拋出一個異常:

If a timeout occurs, an IOException will be thrown. The default timeout is 3 seconds (3000 millis).

所以才提出了更高的timeout

示例代碼

String url = "http://www.aastocks.com/en/forex/quote/quote.aspx?symbol=NZDHKD&process=y"; 
String userAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36"; 

try { 
    Document doc = Jsoup.connect(url).userAgent(userAgent).timeout(5000).get(); 
    System.out.println(doc.select("div.content div.inline_block.vat.float_l div.boxForex div.font26 span.neg").first().text()); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

輸出

5.6813