Здравствуйте. Пишу курсовую работу. Подскажите какие алгоритмы подойдут для оптимального отслеживания контента? На данный момент изучено - парсинг XML, и сравнение хэшей картинок. Подскажите источники, где можно почитать о методах отслеживания и алгоритмах, если источник с примерами - было бы идеально.
Спасибо.
Грубо говоря, изменения текста на сайте, что то типа RSS, изменения в БД я не смогу отслеживать, ибо отслеживание будет осуществляться на чужом сайте, доступа к которому, у меня попросту нет.
Очень интересный вопрос. Вы пытаетесь сделать определение для любого сайта или конкретного? Если у любого, то некоторый блок на странице или вся страница?
Сразу всплывающие подводные камни:
1. Как быть с сайтами, где контент подгружается динамически (Ajax)?
2. Если на странице есть вывод текущего времени или зависимого от него состояния (например: "написано 10 минут назад") - это считается изменением или нет? Если нет, то как универсально отслеживать и игнорировать?
и т.д.
Или вы просто в курсовой описываете все возможные алгоритмы? Если так, то вам бы посмотреть в сторону алгоритмов работы кэш серверов.
в теории хотелось бы разобрать все подводные камни для универсального решения. а на практике это будет всего лишь отслеживание изменений в расписании занятий. Также хотелось бы описать все возможные алгоритмы, так как на данной стадии, необходимо реализовать два алгоритма.
В плане отслеживания универсального отслеживания изменения:
1. Использование заголовка Last-Modified, одно из описаний: last-modified.com/ru/if-modified-since.html Его как раз используют кэш прокси.
2. Простой хэш кода страницы (пригодно для статического html) SHA-1 или MD5.
Можете сделать по аналогии с готовым решением, реализованным на Python https://thp.io/2008/urlwatch/
Функционал:
построчно показывает изменения на веб-странице, подобно тому как это делается в системе контроля версий (diff).
Имеет механизмы фильтрации динамического контента.