尽管使用了text()方法,JSoup仍然提供空白输出

时间:2017-05-23 00:58:16

标签: java html jsoup

我尝试使用Jsoup在java中打印div类文本(div.rating),假设如果元素为null则打印返回空,但即使我使用ifelse语句进行过滤并打印,它也会一直给我空白输出用text()方法。这是html代码。

    <div class="team-profile-side-box">
     <div class="header-container">
      <div class="logo-container">
       <div class="team-logo">...</div>
        <div class="rating-wrapper">
         <div class="rating-title">...</div>
          <div class="rating">7.04</div>
        </div>

这是我的java代码,我测试的网站是https://www.whoscored.com/Teams/30/Show/England-Tottenham,我尝试获取的元素是位于右侧团队资料框中的团队分数。

    Document doc = Jsoup.connect("https://www.whoscored.com/Teams/" + clubID + "/Show/" + clubName + "").get();

    Elements printNumber = doc.select("div.rating-wrapper > div.rating");

    if (printNumber != null && !printNumber.isEmpty()) {
        System.out.println(printNumber.text());
    } else if (printNumber == null && printNumber.isEmpty()) {
        System.out.println("returns empty");
    }

请帮助我,非常感谢。

1 个答案:

答案 0 :(得分:0)

原来该网站受到Incapsula的保护,因此无法使用JSoup访问该网页的html。