Сравнение ленты rss с записями в БД

Статус
В этой теме нельзя размещать новые ответы.

xriby

Создатель
Регистрация
28 Сен 2009
Сообщения
23
Реакции
0
Есть скрипт который получает рсс-ленту разбирает ее и заносит данные в таблицу БД MySQL url, title, desc, data и тд.
Скрипт выполняется раз в 3 часа.
Как лучше реализовать сравнение на наличие новых данных в полученной рсс-ленте?
Если такие данные обнаружены поместить в массив, а затем в базу.
 
я бы из заголовка делал хеш, и при чтении рсс ленты сравнивал хеши рсс с БД и если нет, то пишем в БД
 
подымаю тему, т.к. самому интересно.

> я бы из заголовка делал хеш
это только скажет о том, обновилась лента или нет. да и меняться по идее должен только modified-date, поэтому смысл делать хэш всего заголовка? мм.. это если речь идёт о хттп заголовках..

а если о заголовке самого контента.. то.. так не делается. заголовки задаёт автор контента и они могут быть одинаковыми, даже если контент разный.

хэш контента, разве что, получается. но что-то мне не очень по душе такое решение.
 
В спецификации RSS есть поле guid для определения уникальности записи, но, к сожалению, не все фиды его используют.
Я бы наверное привязывался к pubDate, хотя хеш контента тоже неплохой вариант. А ещё лучше хеш title + description, или вообще сериализовать весь объект item и сделать хеш ;)
 
Во многих рсс-лентах guid совпадает с link, т.е. в качестве идентификатора уникальности записи выступает ссылка на полную новость.
Думаю, буду использовать link для сравнения.
Вопрос: есть ли смысл делать хеш linkа, когда можно использовать просто ссылку в качестве идентификатора уникальности?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху