首页 > 解决方案 > 未关闭的 div 标签导致 Jsoup 复制对象

问题描述

我正在尝试解析一个网站,但是由于 div 未关闭导致重复结果,我遇到了一些问题。在下面的链接中,您可以看到一些包含我正在尝试解决的问题的示例 html。

https://try.jsoup.org/~ZgrRams0ZaoOWw73sGDrV7Zz0iU

解决这个问题的最好方法是什么?

编辑:贝娄是一个快速的代码片段,它显示了我的问题:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class test {

    private static final String HTML = "<div class=\"content-item\"><div class=\"col-md-9\" style="
            + "\"padding-left: 0px;\"><h2 class=\"child-debate-title hs_6bDepartment\">"
            + "Wales</h2></div><div class=\"content-item\">"
            + "<div class=\"col-md-9\" style=\"padding-left: 0px;\">"
            + "<h2 class=\"child-debate-title hs_8Question\">Welsh Language</h2>"
            + "</div>";

    public static void main(String args[]) {
        Document doc = Jsoup.parse(HTML);
        Elements elements = doc.select("div.content-item");
        System.out.println(elements.html());
    }
}

输出如下:

<div class="col-md-9" style="padding-left: 0px;">
 <h2 class="child-debate-title hs_6bDepartment">Wales</h2>
</div>
<div class="content-item">
 <div class="col-md-9" style="padding-left: 0px;">
  <h2 class="child-debate-title hs_8Question">Welsh Language</h2>
 </div>
</div>
<div class="col-md-9" style="padding-left: 0px;">
 <h2 class="child-debate-title hs_8Question">Welsh Language</h2>
</div>

我需要获取内容项 div,因为页面其他部分的内容嵌套在此 div 中。

标签: javajsoup

解决方案


推荐阅读