Java 拉数据jsoup
我试图使用jsoup打印并拉取“10-50”的文本,但我似乎无法正确拉取它。以下是HTML代码:Java 拉数据jsoup,java,jsoup,Java,Jsoup,我试图使用jsoup打印并拉取“10-50”的文本,但我似乎无法正确拉取它。以下是HTML代码: <dd> <time itemprop="datePublished">21 October 2012</time> </dd> <dt> Current Version: </dt> <dd itemprop="softwareVe
<dd>
<time itemprop="datePublished">21 October 2012</time>
</dd>
<dt>
Current Version:
</dt>
<dd itemprop="softwareVersion">
1.0
</dd>
<dt itemprop="operatingSystems" content="Android">
Requires Android:
</dt>
<dd>
2.3.3 and up
</dd>
<dt>
Category:
</dt>
<dd>
<a href="xxx">Entertainment</a>
</dd>
<dt>
Installs:
</dt>
<dd itemprop="numDownloads">
10 - 50
<div class="normalized-daily-installs-chart" style="width: 105px;">
<img src="xxx" />
<p>last 30 days</p>
</div>
</dd>
<dt>
Size:
</dt>
<dd itemprop="fileSize">
12M
</dd>
我只想单独打印字符串10-50,没有其他值,谢谢。请尝试
Element dts = doc.select("dd[itemprop]").get(0);
System.out.println(dts.text());
我看到两个问题。首先,您需要加强select表达式,以便它只返回itemprop等于numDownloads的元素,例如
[itemprop=numDownloads]
现在您的变量应该有一个只有一个元素的元素集合。您可以使用span.first()
访问此元素一旦有了单个元素,就可以使用ownText()
方法返回作为该元素直接子元素的文本(避免任何其他子元素的文本)
Element dts = doc.select("dd[itemprop]").get(0);
System.out.println(dts.text());
public class googletest {
public static void main(String[] args) throws IOException {
Document doc = Jsoup
.connect("private url"
)
.get();
Elements spans = doc.select("dd[itemprop=numDownloads]");
System.out.println(spans.first().ownText());
}
}