2016-11-04 83 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