1

我想解析出这个Nasa 页面上的描述,页面底部的文本

我怎样才能做到这一点?

4

1 回答 1

0

首先,您需要连接到页面并将其解析为一个Document(确保您导入 Jsoup 的),然后您可以使用Selector API来选择您需要的任何内容。

这是一个例子:

// Connect to page and parse html into a 'Document'
Document doc = Jsoup.connect("http://photojournal.jpl.nasa.gov/catalog/PIA16465").get();


for( Element element : doc.select("p") )    // Select all 'p'-Tags and loop over them
{
    if( element.hasText() )                 // Check if the element has text (since there are some empty too)
    {
        System.out.println(element.text()); // print the element's text
    }
}

- 编辑 -

for( Element element : doc.select("dd p") ) // Or: "dd > p"
{
    if( element.hasText() )
    {
        System.out.println(element.text());
        break;
    }
}

而不是循环,你可以使用这样的东西:

Element firstTag = doc.select("dd p").first();

这将为您提供 dd-Tag 之后的第一个 p-Tag。但是在这里它不起作用,因为有很多空的 p-tags 匹配它。但是,您可以使用正则表达式选择器(参见上面的链接)来解决这个问题,但首先循环更容易理解。

于 2012-11-17T23:59:56.633 回答