未能使用JSoup从网页抓取数据

时间:2018-03-21 00:26:01

标签: java html jsoup scrape

我的问题是:将诅咒价格(8875.53)从网页中删除。

       <span class="inst-rate">8875.53</span>

但我的方式失败了。有人知道我的错误是什么吗?

    import java.io.IOException;
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.select.Elements;
    public class JavaTest {
    public static void main(String[] args) throws IOException {

    Document doc= 
    Jsoup.connect("https://www.plus500.de/Instruments/BTCUSD").get();
    Elements element =doc.select(".inst-rate");
    System.out.println(element); 
     }
    }

控制台输出:<span class="inst-rate" v-text="BuyPrice"></span>

2 个答案:

答案 0 :(得分:0)

您需要访问元素的文本:https://jsoup.org/cookbook/extracting-data/attributes-text-html

可能你需要的是element.text()

答案 1 :(得分:0)

此标记中的文本不是初始html的一部分,而是在加载页面后由JavaScript设置。您可以通过在浏览器中禁用JavaScript来检查它。 Jsoup只获取静态html,不执行JavaScript代码。

当您检查从页面建立的连接时,您会发现该值是通过请求此API更新的:

https://www.plus500.de/api/LiveData/FeedUpdate?instrumentId=3406

请求此网址,解析器结果,您将获得所需的价值。