Любой развивающийся бизнес на каком-то этапе начинает использовать парсинг как минимум для мониторинга цен. Иначе конкуренты будут всегда на шаг впереди из-за того, что экономят массу времени. Однако те, кого парсят, часто не в восторге.

Владельцы интернет-магазинов хотят видеть реальных клиентов, а не ботов, которые могут воровать авторский контент, анализировать ассортимент, нагружать трафик и т.п. От всего этого нужна защита, поэтому разработчики придумывают и развивают разные методы защиты данных веб-страницы.

Задача защиты от парсинга сводится к тому, чтобы осложнить процесс парсинга, но при этом не отпугнуть живых пользователей. Добиться полной защиты данных при этом невозможно.

Да, парсеры, сделанные по гайдам, могут быть остановлены полностью, но компании, которые зарабатывают на парсинге и имеют ресурсы на исследование защиты, смогут найти способ получить данные любого интернет-магазина.

Далее в статье мы разберем, как защищаются интернет магазины от парсеров, поговорим о:

  • Типах защиты: блокировка доступа, подмена данных, закрытие определенных данных
  • Видах блокировщиков
  • Решениях для подмены блокировщиков
  • Юридической возможности запрета парсинга
  • Принципе необходимости и достаточности защиты от парсинга

Оглавление

Типы защиты: блокировка доступа, подмена данных, закрытие определенных данных

1. Блокировка доступа

Как работает: блокирует пользователя (аккаунт, ip, хостинг и т.п.), если он ведет себя как бот: нетипично быстро переходит по ссылкам и заполняет формы регистрации, отправляет запросы с разных IP-адресов и т.п.

Для чего нужна: защищает сайт от ботов, которые перегружают трафик, вынуждает разработчиков делать парсеры с имитацией поведения реального пользователя

2. Подмена данных

Как работает: если пользователь подозрительно взаимодействует с сайтом, то вместо правильных данных, он получает искаженные.

Примеры: 1) в описании товара вместо русских “а”, “о” будут английские “a”, “o”. 2) Вместо реальной цены товара в 200₽ парсер получает цену в 500₽

Для чего нужна: саботирует работу парсера ложными данными или помогает отследить того, кто спарсил и опубликовал данные на своем ресурсе. К примеру, если у вас украли описания ноутбуков, то вы можете найти ресурс вора через браузер и потребовать компенсацию за авторские права.

3. Закрытие определенных данных

Как работает: часть данных закрывается или меняется формат, чтобы их было сложнее спарсить.

Пример: в десктопной версии Авито номера телефонов показываются не символами, а изображениями.

Для чего нужно: мешает парсерам получать данные.

Блокировщики доступа

Интернет-магазины сами делают блокировщики парсеров или платят сервисам за защиту. Выбор зависит от того, что выгоднее для интернет-магазина. Однако чаще всего используют именно сервисы.

Сделав свой блокировщик, интернет-магазин ежемесячно экономит на защите, потому что не платит сервису. Минус в том, что если защиту не развивать, то скоро она не будет защищать даже от студентов. Тогда любой успешный веб-сайт упадет от нагрузки на трафик.

Сервисы-блокировщики хороши во всем, но за защиту нужно платить. Они не дадут интернет-магазину страдать от ботов, потому что постоянно разрабатывают новые методы защиты и отслеживают уязвимости.

Мы не будем разбирать, как защитить интернет-магазин технически, это хорошо сделали в другой статье. Вместо этого расскажем о том, что вообще делают блокировщики:

  1. Распознают сигнатуру парсеров. Это помогает отследить шаблон входных данных, который присылает парсер. Вот пример, сигнатуры парсера на Java
  2. Отслеживают слишком частые запросы (не похожие на запросы пользователей, либо, если одновременно с одного IP идет несколько запросов к сайту)
  3. Смотрят подозрительные действия. Например, пользователь заходит подряд по урлам, проводя на странице критично мало времени
  4. Распознают и блокируют ботов по IP (навсегда, либо предлагают им разгадать капчу)

О сервисах почитайте на официальных сайтах. Топ-3 популярных — Сloudflare, Imperva, Servicepipe.

Приемы защиты

Ими пользуются веб-сайты, чтобы осложнить разработчикам ботов жизнь.

1. Captcha и reCaptcha

Все, кто пользуются интернетом, знакомы с ней, хоть и не всегда знают, как она называется. CAPTCHA — это цифры и буквы, которые у вас просят ввести при входе практически на любой сайт. Цель капчи в том, чтобы помешать интернет-ботам взаимодействовать с веб-сайтом. Пример капчи:

Captcha

Из-за развития нейронных сетей традиционная CAPTCHA  утратила эффективность, и интернет-боты стали легко ее обходить. Нужно было новое решение, и его нашли.

reCAPTCHA используется так же, как и CAPTCHA, но обойти её гораздо сложнее. Вместо ввода текста пользователю предлагают выбрать картинки, на которых изображен, к примеру, пешеходный переход:

reCAPTCHA

2. Ссылка-ловушка для ботов

Поисковые боты, такие как “копиры” веб-сайтов вроде HTtrack, посещают веб-сайт и рекурсивно переходят по ссылкам на другие страницы для получения данных. Иногда они используются при целенаправленном парсинге для получения конкретных данных.

Для того, чтобы противодействовать этому методу парсинга ( подробнее о нем можете почитать здесь), придумали ссылки-ловушки. Обычно их делают невидимыми для пользователя или выдают пользователю, который проявляет подозрительную активность.

При переходе по ссылке-ловушке веб-сайт блокирует пользователя или замедляет для него время ответа.

Главный недостаток ловушек в том, что те, кто занимаются парсингом, знают о них и через какое-то время их находят. А когда разработчики знают, где ловушки, то настраивают парсер так, чтобы он их избегал.

Для эффективной работу ловушек их url и местоположение на сайте нужно периодически менять.

3. Подмена данных

Классический пример подмены данных — это замена символов на изображения. Так делает авито в десктопной версии с номером телефона:

Авито

Подмена данных осложняет работу парсеров тем, что вынуждает подключать к проекту дополнительные сервисы или писать новый функционал. Сам по себе процесс распознавания тоже требует времени, что замедляет работу парсеров.

4. Изменение структуры сайта

Меняют расположения компонентов на веб-сайте, имена классов, стилей и т.п.

Парсеры настраивают на определенную структуру сайта и если она меняется, то программа дает сбой. Впрочем, компании отслеживают эти изменения и получают оповещения, если парсер перестал работать.

Чтобы этот способ защиты от парсинга работал, менять структуру сайта нужно регулярно. Чем чаще, тем больше пользы.

Также структуру сайта иногда меняют динамически, т.е. при переходе с разных мест на одну и ту же ссылку содержимое страницы будет различным. Это часто используют в рекламе, но можно применять и для защиты. Однако пользоваться этим способом нужно осторожно. Дело в том, что для SEO продвижения структура сайта — ключевой компонент.

Дополнение. К приемам защиты также следует отнести устранения уязвимостей системы и фатальных ошибок. Эти уязвимости будут разные: в зависимости от архитектуры интернет-магазина и стека технологий, который он использует. К примеру, если интернет-магазин использует AJAX или сетевые запросы из Adobe Flash и при этом не скрывает свой API, то отследить запросы и перенастроить парсер для разработчика пустяк.

Юридические возможности запрета парсинга

Ключевой вопрос: как юридически защищены интернет-магазины?

Для разных стран ответ на него отличается, и подробно на него мы ответили в этой статье. Сейчас же мы возьмем из нее выдержки для РФ.

Разберемся, с тем какую силу имеют пользовательское соглашение, авторское право, всплывающие окна и предупреждения в коде. О каждом пункте по порядку:

Пользовательское соглашение. Вступает в силу, когда зарегистрированный пользователь или бот с ним соглашается. Если кнопка «Принимаю условия» не нажата, то и соглашение в силу не вступает. Если нажата, то прописанные условия имеют силу в суде. Подробнее о пользовательском соглашении в этой статье.

Для незарегистрированных пользователей соглашение не может работать в принципе.

Авторское право. Распространяется на всех граждан РФ. Если контент защищён авторским правом, то правообладатель имеет возможность юридически преследовать того, кто его использовал без спроса. Неважно, знает ли нарушитель о том, что контент авторский или нет.

Предупреждения в коде и всплывающее оповещения.

Сами по себе они не имеют юридическую силу, но являются предупреждением или просьбой.

Важно сказать, что интернет-магазины не могут защитить фактические данные (артикул товара, цена, категория и т.п.), потому что они относятся к общедоступной информации. Это следует из статьи №5 Закона «об информации, информационных технологиях и о защите информации».

Чтобы не нарушать законы РФ парсер должен придерживаться следующим правилам:

  • Извлекаемый контент не должен быть защищен авторским правом
  • Процесс парсинга не должен мешать работе сайта, который подвергается парсингу
  • Парсинг не должен нарушать условия использования сайта
  • Парсер не должен извлекать личную информацию пользователя
  • Контент, который подвергается парсингу, должен отвечать стандартам правомерного использования

Принцип необходимости и достаточности защиты от парсинга

Можно зашифровать данные так, что парсить станет нельзя, но при этом и пользователь ничего не увидит. С другой стороны, если не защищаться от ботов совсем, то любой сервер с ценным контентом не выдержит нагрузки и упадет.

Выбирая защиту интернет-магазина, нужно понимать: от кого и в какой степени защищаться, как выстроить защиту с минимальными трудностями для пользователя и поисковых систем и не загрузить при этом сервер.

Тут важен принцип необходимости и достаточности. Если у вас неуникальные данные, которые есть на куче других сайтов, тогда нет смысла защищать их. Если у вас авторский контент — нужно сопоставить вред от их защиты с их ценностью и выбрать оптимальный вариант.

Примеры:

  1. Закрыв водяным знаком все фото товара (как на скриншоте ниже), вы защититесь от парсинга, но и пользователи у вас ничего не купят
  2. Капча при входе на сайт уменьшает не только поток парсеров, но и пользователей

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

Выводы

  • Эффективные методы защиты веб-сайта от парсинга: частое изменение разметки HTML, ссылки-ловушки, поддельные данные, устранение уязвимостей
  • Если поведение пользователя подозрительно, то интернет-магазины используют ограничение скорости запросов или блокировку.
  • Интернет-магазины ищут баланс между между защищенностью веб-сайта и удобством пользователя
  • Фактические данные (цены, артикулы и т.д.) не могут быть защищены авторским правом
  • Контент интернет-магазина (описания товаров) может быть защищен авторскими правами, и их нарушитель будет преследоваться
  • Если интернет-магазин хорошо защищен от парсеров, то эффективно извлекать данные получится только у опытных разработчиков
  • Иногда для защиты веб-сайта от парсеров эффективней выкладывать данные в открытый доступ самостоятельно, чем совершенствовать ее технически

Заказать парсинг

от 2000 рублей, срок выполнения от 2 часов

Tell us about your project

Подписывайтесь на наш канал

Ежедневно выкладываем
свежие базы в удобном формате!

Заказать парсинг