小さなRSSリーダーを書こうとしています。RSSフィードを取得するためにROMEを使用しています。これは今のところうまく機能します。ただし、個々のフィードのRSSアイコンを取得できません。ROMEを介してアイコン(URLなど)を取得する方法はありますか、またはROMEを使用せずにJavaを介してこれを実現する簡単な方法を知っている人はいますか?
1 に答える
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
、
- getLink()メソッドを呼び出して、このリンクにアクセスできます(http://www.crunchyroll.com/news) 。
- URIを削除します(http://www.crunchyroll.com/)
- 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に進みます