我想从以下网站获得标题: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/