gpt4 book ai didi

java - 在无 CSS 的 HTML 中提取两个
标签之间的文本

转载 作者:行者123 更新时间:2023-11-30 09:46:07 27 4
gpt4 key购买 nike

使用 Jsoup,什么是提取文本的最佳方法,其模式是已知的 ([number]%%[number]),但位于既不使用 CSS 也不使用 div、跨度、类或任何类型的其他标识的 HTML 页面中(是的,我无法控制的旧 HTML 页面)?

唯一始终如一地标识该文本段(并保证保持那样)的是 HTML 总是看起来像这样(在更大的 HTML 主体中):

<hr>
2%%17
<hr>

(数字 2 和 17 只是示例。它们可以是任何数字,事实上,这是我需要从该 HTML 页面可靠地提取的两个变量)。

如果该文本位于封闭且唯一标识的 <span> 中或 <div> ,我使用 Jsoup 提取它没有问题。问题是情况并非如此,我现在能想到的唯一方法(一点也不优雅)是通过正则表达式。

通过正则表达式处理原始 HTML 似乎效率低下,因为我已经通过 Jsoup 将其解析为 DOM。

建议?

最佳答案

这个怎么样?

Document document = Jsoup.connect(url).get();
Elements hrs = document.select("hr");
Pattern pattern = Pattern.compile("(\\d+%%\\d+)");

for (Element hr : hrs) {
String textAfterHr = hr.nextSibling().toString();
Matcher matcher = pattern.matcher(textAfterHr);

while (matcher.find()) {
System.out.println(matcher.group(1)); // <-- There, your data.
}
}

关于java - 在无 CSS 的 HTML 中提取两个 <hr> 标签之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7290066/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com