Java 拉数据jsoup

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

我试图使用jsoup打印并拉取“10-50”的文本,但我似乎无法正确拉取它。以下是HTML代码:

 <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());

    }

}