Какой надежный способ проверить RSS-канал для новых записей? - PullRequest
2 голосов
/ 01 октября 2009

Часть приложения, которое я создаю, должна проверять RSS-каналы на наличие обновлений. Я ищу надежный способ узнать, есть ли в ленте новые записи.

Я знаю, что иногда люди пишут в будущее, а после этого пишут в настоящее время, что может привести к тому, что некоторые записи будут скрыты. Кажется, что и здесь может быть больше осложнений. Я также знаю, что хэширование заголовка или содержимого может привести к снижению производительности и ненадежным результатам, поскольку они могут измениться и не являются признаком новых записей. И я знаю, что несколько лет назад, когда я вручную поддерживал RSS-канал подкаста, я никогда не менял этот элемент.

Итак, мне нужен какой-то способ надежной проверки каналов RSS, Atom и т. Д. Для новых записей, так как они были проверены.

В частности, это приложение будет написано на Python для Google App Engine с использованием Universal Feed Parser , но я сомневаюсь, что в этом случае это имеет слишком большое значение.

Ответы [ 2 ]

1 голос
/ 01 октября 2009

Ленты новостей имеют уникальный идентификатор и / или URL, который может быть уникальным. Хэшируйте только те вместе, чтобы получить быстрый и разумный способ обнаружения изменений. Но единственный способ быть абсолютно уверенным - это хэшировать контент, как вы сказали.

1 голос
/ 01 октября 2009

Вы можете использовать условное получение, добавив заголовок if-Modified-Since в ваш http-запрос. Серверы с хорошим поведением вернут 304 без изменений, если нет изменений.

...