我正在使用java从网站获取文本。本网站不使用<p>
和<h1>
等标签。我正在寻找的所有文字都在类道具()下。我理解使用jsoup我可以选择课程,但后来我不知道如何获取文本。
以下是文字示例:
div style="margin-bottom:8px;">Repulse Bay</div>
<div><div><b>Gross Area:</b> 5,051 sq.ft. (@ HK$ 67 p.s.f.)</div>
<div><b>Saleable Area:</b> 3,871 sq.ft. (@ HK$ 88 p.s.f.)</div></div>
<div><b>Bedrooms:</b> 3 (2-Ensuite)</div>
<div><b>Bathrooms:</b> 3.5</div>
答案 0 :(得分:0)
你可以使用相同的text()方法。
select
只需要使用doc.getElementsByClass( "cls-1" ).forEach( ele -> {
System.out.println( ele.text() );
} );
然后遍历元素以从每个节点获取文本。
答案 1 :(得分:0)
您可以在不使用jsoup
的情况下使用正则表达式。
String content = "<div><b>Saleable Area:</b> 3,871 sq.ft. (@ HK$ 88 p.s.f.)</div></div><div><b>Bedrooms:</b> 3 (2-Ensuite)</div>";
Pattern p = Pattern.compile("\\(([^\\)]*)\\)");
Matcher m = p.matcher(content);
while(m.find()) {
System.out.println(m.group(1));
}
// Output
//@ HK$ 88 p.s.f.
//2-Ensuite
或者将此正则表达式应用于jsoup
的所有文本节点。