РИМ RSS: Как получить иконку RSS

Я пытаюсь написать небольшой RSS Reader. Я использую РИМ, чтобы получить RSS-каналы. Это работает отлично до сих пор. Однако я не могу получить значок RSS отдельных каналов. Есть ли способ получить значок (например, URL) через ROME или кто-нибудь знает простой способ добиться этого с помощью Java без ROME?

1 ответ

Решение

Favicon.ico почти всегда находится в корне хоста, например, для stackru вы можете перейти сюда: https://stackru.com/favicon.ico и перенаправиться на значок. Иногда RSS-каналы размещаются в другом сервисе (например, в Google или FeedBurner), а не на самом сайте (где все элементы RSS), поэтому вам нужно получить доступ к <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"> в шапке
  • Загрузите это и назовите это днем
  • В противном случае перейдите к шагу 2
Другие вопросы по тегам