Java 如何根据结构从HTML中提取信息

Java 如何根据结构从HTML中提取信息,java,parsing,Java,Parsing,我想从xbox的许多链接中提取一些数据。我遇到的问题是,在显示价格的部分中,如果游戏有折扣(例如),结构是不同的 我为取消价格而编写的代码: String urlPage = "https://www.microsoft.com/en-us/store/p/call-of-duty-advanced-warfare-gold-edition/c20hl06x0v8w" ; System.out.println("Comprobando entradas de: "+urlPage

我想从xbox的许多链接中提取一些数据。我遇到的问题是,在显示价格的部分中,如果游戏有折扣(例如),结构是不同的

我为取消价格而编写的代码:

String urlPage = "https://www.microsoft.com/en-us/store/p/call-of-duty-advanced-warfare-gold-edition/c20hl06x0v8w" ;
        System.out.println("Comprobando entradas de: "+urlPage);

        if (getStatusConnectionCode(urlPage) == 200) {

            Document document = getHtmlDocument(urlPage);

            Elements entradas = document.select("div.m-product-detail-hero-product-placement div.price-info");

            for (Element elem : entradas) {
                String titulo = elem.getElementsByClass("srv_saleprice").text();
                }


        }else{
            System.out.println("El Status Code no es OK es: "+getStatusConnectionCode(urlPage));
        }
没有折扣的游戏的HTML:


在保险库中可用
或
$59.99 
+ 

我想看一看,它能够查询html并执行各种查找,这样你就可以检查所需信息的结构,如果它不存在,你可以使用另一个查询来检查它……如果页面没有
class=“srv_saleprice”
元素,为什么不找到
类呢=“srv_微数据“
元素并从其
子元素读取价格和货币?@MadProgrammer我正在使用jSoup,但我不知道它有这个选项。有什么例子可以看吗?@VGR但情况是一样的,meta中的内容是实际价格,而不是基本价格。在第一个示例中,基值是59.99,而在第二个示例中,基值是159.99,因此,如果我提取该元元素的内容,我将执行相同的操作。我考虑过的唯一解决办法是使用条件句,但这会使代码难以阅读。@JetLagFox也许吧