-1

我有一个巨大的 URL 列表,我的任务是将它们提供给应该吐出原子内容的 java 代码。是否有 API 库或如何访问它们?我尝试了以下代码,但没有显示任何输出。我不知道出了什么问题?

try {
URL url = new URL("https://www.google.com/search?hl=en&q=robbery&tbm=blg&
output=atom");
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(new XmlReader(url));
System.out.println("Feed Title: " + feed.getTitle());
for (SyndEntry entry : (List<SyndEntry>) feed.getEntries())
{
System.out.println("Title: " + entry.getTitle());
System.out.println("Unique Identifier: " + entry.getUri());
System.out.println("Updated Date: " + entry.getUpdatedDate());
for (SyndLinkImpl link : (List<SyndLinkImpl>) entry.getLinks())
{
System.out.println("Link: " + link.getHref());}           
for (SyndContentImpl content : (List<SyndContentImpl>) entry.getContents())
{
System.out.println("Content: " + content.getValue());
}

for (SyndCategoryImpl category : (List<SyndCategoryImpl>) entry.getCategories())
{
System.out.println("Category: " + category.getName());
}}}
catch (Exception ex) 
{
}
4

2 回答 2

1

您可以使用 Rome ( http://rometools.org ) 来处理 atom 提要。

于 2014-01-28T15:28:17.050 回答
0

每个 Atom 提要中都有“提要”标签。所以你可以做的是阅读 url 并检查它是否包含 feed 标签。

在 java 中,您可以使用内置的 XMLparser 库来执行此操作 -

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(url);
doc.getDocumentElement().normalize();

if (doc.getElementsByTagName("feed").getLength() > 0) {
       //do something
}
于 2022-02-03T07:41:56.493 回答