java - 未关闭的 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 中。
解决方案
推荐阅读
- node.js - 更新:在 EJS 和 Node JS 的 ForEach 循环中显示第一次出现
- python - 如何将 a.fits.gz 文件制作成 pandas DataFrame 'ValueError:little-endian 编译器不支持 Big-endian 缓冲区'
- python - 使用 traceback.print_exc() 打印 AttributeError 的回溯时出现 Python TypeError
- ios - 为什么选择按钮时按钮背景变为蓝色?
- android - 无法确定任务 ':app:mergeDebugAssets' 的依赖关系
- java - intellij 中的 java.io.FileNotFoundException
- android - 是否有任何方法/功能可以控制 Gdx 中 justTouched() 中的移动速度?
- java - 应用关闭时 Android Studio 和 Firebase 数据库中的通知
- javascript - 我的 AJAX 工作正常,我想知道为什么
- c - 在定义中使用静态关键字与在 C 中声明