首页 > 解决方案 > 如何选择性地提取 HTML 标记中的数据

问题描述

我正在尝试使用 Jsoup 从一个看起来像的列表元素中提取数据

<li>"Peanut"<span>FREE</span></li>

现在,当我试图提取它时,我得到的是“Peanut FREE”,而我想要的是“Peanut”。

如何在 Jsoup 中做到这一点?

这是我的代码

    val url = "..."
    val document = Jsoup.connect(url).get()
    val body = document.body()
    val elements = body.getElementsByTag("li")
    Log.d("TAG_TAG_TAG", "Noo")
    for (i in elements) {
        Log.d("TAG_TAG_TAG", i.text())
    }

标签: kotlinjsoup

解决方案


尝试

val body = document.body()
val elements = body.select("li")
elements.select("span").remove()
for (i in elements) {
    println(i.text())
}

推荐阅读