Лучший способ снять отпечаток пальца и проверить структуру HTML
-
18-09-2019 - |
Вопрос
Я просто хочу знать, что вы думаете о том, как определить отпечатки пальцев/проверить структуру html/ссылок.
Проблема, которую я хочу решить:отпечаток пальца например 10 разных сайтов, html страниц.И через некоторое время я хочу иметь возможность проверить их, а также, если сайт был изменен, ссылки изменены, проверка не удалась или в противном случае проверка прошла успешно.Моя основная идея состоит в том, чтобы проанализировать структуру ссылок, каким-то образом разбив ее, создав какое-то дерево и на основе этого дерева сгенерировав какой-то код.Но я все еще на стадии мозгового штурма, когда мне нужно обсудить это с кем-то и узнать другие идеи.
Поэтому любые идеи, алгоритмы и предложения будут полезны.
Решение
Какие бы данные или структуру вы ни собирались хешировать, суммировать или иным образом идентифицировать, обязательно учитывайте различные формы шума на многих «внешних» веб-сайтах.
Пример такого шума или случайного контента:
- Тикер стоимости акций компании
- Погодные условия в каком бы городе они ни находились
- несколько страниц имеют текущую (сейчас) дату и время где-то в нижних колонтитулах или заголовках
- Рекламный контент (все больше и больше его делают так, чтобы он выглядел как собственный сайт, чтобы обойти блокировщики рекламы в веб-браузерах)
Другие советы
Вы всегда можете хэшировать необработанный HTML-код сайта и сравнить его.Я считаю, что сайты могут поддерживать дату «последнего редактирования», но не уверен, что она всегда обновляется.
Редактировать:Моя ошибка: это просто способ сравнить веб-сайт с предыдущей версией, но не отпечаток пальца в том смысле, в каком вы имеете в виду.
Просто выкину это сюда:
Почему бы вам не просканировать сайт, поместив все ссылки в XML-документ, который будет представлять собой карту сайта.
Создайте контрольную сумму MD5 для этого файла и сохраните ее.Затем в любой момент в будущем вы сможете повторно выполнить сканирование, воссоздать XML, заново выполнить контрольную сумму и сравнить ее с предыдущей контрольной суммой.
Если они не совпадают, структура ссылок изменилась, хотя вы не обязательно знаете, где именно.