РИМ 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
,
- Вы можете вызвать метод 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">
в шапке - Загрузите это и назовите это днем
- В противном случае перейдите к шагу 2