我想从以下网站获得标题:http://feeds.foxnews.com/foxnews/latest

像这个例子:

<title><![CDATA[SUCCESSFUL INTERCEPT Pentagon confirms it shot down ICBM-type target]]></title>


它将显示如下文本:

“成功拦截五角大楼证实它击落了ICBM型目标
五角大楼说,美国进行了成功的导弹拦截试验

这是我的代码。我用过Jaunt库。

我不知道为什么它只显示文本“ foxnew.com”

import com.jaunt.JauntException;
import com.jaunt.UserAgent;

public class p8_1
{

    public static void main(String[] args)
    {
        try
        {
            UserAgent userAgent = new UserAgent();
            userAgent.visit("http://feeds.foxnews.com/foxnews/latest");
            String title = userAgent.doc.findFirst
("<title><![CDATA[SUCCESSFUL INTERCEPT Pentagon confirms it shot down ICBM-type target]]></title>").getText();
              System.out.println("\n " + title);


        } catch (JauntException e)
        {
            System.err.println(e);
        }

    }

}

最佳答案

搜索元素类型,而不是值。

请尝试以下操作以获取供稿中每个项目的标题文本:

public static void main(String[] args) {
    try {
        UserAgent userAgent = new UserAgent();
        userAgent.visit("http://feeds.foxnews.com/foxnews/latest");

        Elements items = userAgent.doc.findEach("<item>");
        Elements titles = items.findEach("<title>");

        for (Element title : titles) {
            String titleText = title.getComment(0).getText();
            System.out.println(titleText);
        }
    } catch (JauntException e) {
        System.err.println(e);
    }
}

关于java - 如何使用Jaunt库从网站上抓取数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44276707/

10-10 11:53