java jsoup得到文本失败

时间:2016-11-04 02:32:41

标签: java jsoup

我是java jsuop中的新手

我想获得下一行的最后价格: http://www.aastocks.com/en/forex/quote/quote.aspx?symbol=NZDHKD&process=y

我有以下代码:

Elements answerers = document.select(" div.content div.inline_block.vat.float_l div.boxForex div.font26 span.neg");

但是它返回一个错误: java.net.SocketTimeoutException:读取超时

我认为我错了#34; document.select"部分,有人可以帮助我吗? 非常感谢。

1 个答案:

答案 0 :(得分:0)

服务器的响应时间过长,因此达到默认超时并抛出异常:

  

如果发生超时,将抛出IOException。默认   超时为3秒(3000毫安)。

所以只需设置一个更高的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