无法从jsoup中的div span元素获取文本

rbpvctlc  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(669)

所以我在网上搜刮udemy获得的所有细节,这是免费出售的课程,通过链接,我曾经得到价格(免费或不免费),如果免费,然后标题的课程,剩余时间,课程评分等。
一切正常,但突然它开始给我nullpointerexception每当它试图得到的价格当然。
要素如下

<div class="price-text--price-part--Tu6MH udlite-clp-discount-price udlite-heading-xxl" data-purpose="course-price-text">
 <span class="udlite-sr-only">Current price</span>
  <span>Free</span>
</div>

这就是我在jsoup的帮助下刮的

Document document = Jsoup.connect(mainUrl).userAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36").get();
String price = document.select("div.price-text--price-part--Tu6MH").first().text();

            if (!price.contains("Free")) {
                System.out.println("\nCoupon Expired...");
            } else {
                further code...
            }

但现在我做不到,我做了很多研发,但还是做不到。有人能帮我吗?
下面是课程的链接,我只想得到免费的价值
https://www.udemy.com/course/stock-trading-cryptocurrency-trading-technical-analysis/?couponcode=c36abb66a5c047ab6aa1
谢谢您!

csbfibhn

csbfibhn1#

下面是一个示例代码,应该对您有所帮助。我已经使用了jsoup.parse,但是您可以使用jsoup.connect并使用代码
string price=doc.select(“div.price-text--price part--tu6mh”).select(“span:nth-last-child(1) “”。文本()

string price=doc.select(“div.price-text--price-part--tu6mh>span:nth-last-child(1) “”。text();

String html = "<html><body><div class=\"price-text--price-part--Tu6MH udlite-clp-discount-price udlite-heading-xxl\" data-purpose=\"course-price-text\">\r\n" + 
                      " <span class=\"udlite-sr-only\">Current price</span>\r\n" + 
                      "  <span>Free</span>\r\n" + 
                      "</div></body></html>";
  Document doc = Jsoup.parse(html);
  String price = doc.select("div.price-text--price-part--Tu6MH > span:nth-last-child(1)").text();
  System.out.println(price);
  if (!price.contains("Free")) {
      System.out.println("\nCoupon Expired...");
  } else {
      System.out.println("Its free");
  }

相关问题