ROME RSS:如何获取RSS图标

时间:2012-07-03 15:00:56

标签: java rss rome

我正在尝试编写一个小型RSS阅读器。我使用ROME来获取RSS源。这到目前为止工作正常。但是,我无法获取各个Feed的RSS图标。有没有办法通过ROME获取图标(例如URL),或者有没有人知道通过没有ROME的java实现这一目标的简单方法?

1 个答案:

答案 0 :(得分:2)

favicon.ico几乎总是在主机的根目录中,例如,对于stackoverflow,你可以到这里:https://stackoverflow.com/favicon.ico并重定向到图标。有时,RSS源实际上托管在不同的服务(如google或feedburner)上,而不是站点本身(所有RSS项目都在其中),因此您需要访问 <link> 元素获取主机,然后只需访问主机的favicon.ico。

例如,在Crunchy Roll,他们使用饲料燃烧器,RSS feed看起来像这样:

<channel>
 <title>Latest in Anime News by Crunchyroll!</title>
 <description>Read about the latest updates on Crunchyroll.com</description>
 <link>http://www.crunchyroll.com/news</link>

所以如果你有SyndEntry

  1. 您可以拨打getLink() method to access this link,(http://www.crunchyroll.com/news
  2. 删除URI(http://www.crunchyroll.com/
  3. 追加 favicon.ico 并获取图标(http://www.crunchyroll.com/favicon.ico
  4. 这可能并不总是有效,虽然网站确实应该将favicon.ico放在他们的文档根目录中,但某些网站可能会在页面中使用 <link> 标记,例如:

    <link rel="shortcut icon" href="new_category/favicon.ico" type="image/x-icon">
    

    要指明对于给定页面,请使用此其他图标。这并不一定意味着没有一个favicon,ico坐在文档根目录,只是为了这个链接,使用这个图标。因此,如果您想采取额外的步骤,您可以在上面的 1。 2。之间插入这些步骤: