2009-08-25 3 views
13

Каков наилучший способ определить, когда фид обновлен? Скажем, у меня есть приложение, которое проверяет канал каждые 15 минут. Как узнать, добавлен ли новый контент или нет? Для RSS, а также для каналов Atom.Обнаружение новых новинок в ленте RSS

ответ

5

Каждый элемент в RSS 2 и Atom имеет идентификатор GUID/ID, который может быть помечен как уникальный. Если он отмечен как уникальный, вы можете использовать его для идентификации элементов и сопоставления с предыдущими элементами.

+0

Кажется, что это проще и проще ... Спасибо .. – haden

+0

В соответствии с этим http://www.rssboard.org/rss-specification#ltguidgtSubelementOfLtitemgt 'guid' является необязательным полем, поэтому он может не присутствовать в некоторых RSS-каналы ! – webNeat

3

Проверьте поля Last-Modified и ETag ответа HTTP при запросе поля. Еще лучше используйте теги If-Modified-Since и If-None-Match в вашем запросе, и вы получите только ответ 304, если канал не был изменен. (см.: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)

+2

Поддерживает ли все веб-сайты поддержку etags? И етаг легко читается javascript? – haden

1

Я использую ETags на мой проект, вычисленной в сервлет фильтра, как показано здесь http://www.infoq.com/articles/etags

Это будет работать на RSS, атом или любой другой ресурс, размещенный на вашем веб-сервере.

 Смежные вопросы

  • Нет связанных вопросов^_^