2

小さなRSSリーダーを書こうとしています。RSSフィードを取得するためにROMEを使用しています。これは今のところうまく機能します。ただし、個々のフィードのRSSアイコンを取得できません。ROMEを介してアイコン(URLなど)を取得する方法はありますか、またはROMEを使用せずにJavaを介してこれを実現する簡単な方法を知っている人はいますか?

4

1 に答える 1

2

favicon.icoは、ほとんどの場合、ホストのルートにあります。たとえば、stackoverflowの場合は、https ://stackoverflow.com/favicon.icoにアクセスして、アイコンにリダイレクトできます。RSSフィードは、実際にはサイト自体(すべてのRSSアイテムがある場所)とは異なるサービス(googleやfeedburnerなど)でホストされている場合がある<link>ため、ホストを取得するには要素にアクセスしてから、ホストのfavicon.icoにアクセスする必要があります。 。

たとえば、Crunchy Rollでは、フィードバーナーを使用しており、RSSフィードは次のようになります。

<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()メソッドを呼び出して、このリンクにアクセスできます(http://www.crunchyroll.com/news) 。
  2. URIを削除します(http://www.crunchyroll.com/
  3. favicon.icoを追加し、アイコンを取得します(http://www.crunchyroll.com/favicon.ico

これは常に機能するとは限りませんが、サイトは実際にはfavicon.icoをドキュメントルートに配置する必要がありますが、一部のサイト<link>ではページ内で次のようなタグを使用する場合があります。

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

特定のページについて、この他のファビコンを使用することを示します。これは、必ずしもドキュメントルートにファビコンがないことを意味するわけではありません。このリンクの場合は、このアイコンを使用するだけです。したがって、追加の手順を実行する場合は、上記の1.2の間に次の手順を挿入できます。

  • リンクをロードします(http://www.crunchyroll.com/news
  • <link rel="shortcut icon">ヘッダーのaを確認してください
  • それをロードして、それを1日と呼びます
  • それ以外の場合は、手順2に進みます
于 2012-07-03T17:22:57.787 に答える