You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JSoup提取HTML中<p>标签内的指定文本内容?

使用JSoup提取

标签内的目标文本

直接用JSoup的选择器和文本提取方法就能搞定,核心是精准定位

标签并排除子元素的干扰:

步骤与代码示例

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

public class ParserDemo {
    public static void main(String[] args) {
        // 你的HTML内容
        String html = "<p>\n" +
                      "<strong>Popular resonses: </strong>\n" +
                      "bat, butterfly, moth\n" +
                      "</p>";
        
        // 解析HTML文档
        Document doc = Jsoup.parse(html);
        
        // 筛选包含<strong>子元素的<p>标签(适配多<p>场景,精准定位目标标签)
        Elements targetParagraphs = doc.select("p:has(strong)");
        
        for (Element p : targetParagraphs) {
            // 提取<p>自身的文本(排除子元素<strong>的内容),并清理空白字符
            String result = p.ownText().trim();
            System.out.println(result); // 输出:bat, butterfly, moth
        }
    }
}

关键方法说明

  • select("p:has(strong)"):通过伪选择器has()筛选出包含<strong>子元素的<p>,避免匹配到无关的<p>标签。
  • ownText():仅返回当前元素的直接文本内容,不会包含子元素的文本,完美跳过<strong>里的"Popular resonses: "。
  • trim():清除文本前后的换行、空格等多余空白,得到整洁的目标内容。

内容的提问来源于stack exchange,提问作者silenzzz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 23:04:57