Вход Регистрация

Парсинг

Fingerprint и Web Scraping: как они связаны

Давайте разберемся, как связаны цифровые отпечатки пальцев (fingerprinting) и веб-скрапинг, и можно ли обойти процесс проверки профиля браузера во время работы.

Команда Froxy 23 мая 2024 4 мин
Fingerprint и Web Scraping: как они связаны

Браузеры практически обязательно хранят внутри себя огромный объём информации о своих пользователях. Например, это могут быть сохранённые пароли, кешированные данные сайтов (скрипты, картинки, видео и т.п.), история просмотров, закладки, куки и прочее.

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

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

Браузерный профиль – это полноценный цифровой отпечаток. Многие крупные сайты используют цифровые отпечатки для отсева паразитного трафика.

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

Почему и зачем сайты изучают цифровые отпечатки пользователей

Почему и зачем сайты изучают цифровые отпечатки пользователей

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

Точно также используется IP-адрес клиента, на его основе можно подобрать ближайший сервер кеширования (если используется CDN), тогда даже очень крупный и сложный web-сервис будет отрабатывать и загружаться максимально быстро.

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

Круто? Да, но только если всё это используется по прямому назначению – для повышения комфорта пользователя. Но это не всегда бывает так. Веб-сайты и специальные системы мониторинга могут использовать данные о пользователях и в других целях:

  • Скрытая идентификация клиента (даже если пользователь ничего и никуда не вводил, а просто посетил сайт, сервер уже может персонализировать контент или рекламу).
  • Тотальная слежка за действиями пользователя – какие пароли куда он вводит, данные его карт, расположение, пол, возраст, интересы. Всё это можно использовать в своих интересах (не нужно тешить себя надеждой, что вы или ваши данные никому не нужны).
  • Слежение за сайтами конкурентов (на основе анализа cookies).
  • Выявление ботов и аномального поведения посетителей. На основе этого принимается решение о блокировке или об иных санкциях (что, собственно, существенно усложняет процесс парсинга).
  • Организация партнёрских программ (когда сайт может отследить и посчитать всех, кого смогли перенаправить к нему партнёрские сайты).

Некоторые сайты создаются злоумышленниками и могут перехватывать (похищать) элементы цифровых отпечатков, чтобы в дальнейшем перепродать их (существуют даже специальные маркеты или сервисы цифровых отпечатков). Плюс, отпечатки используют для определённых типов атак, например, с подменой cookies.

Влияние методов снятия цифровых отпечатков на скрапинг (парсинг)

Влияние методов снятия цифровых отпечатков на скрапинг (парсинг)

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

Профиль браузера – это набор параметров, которые браузер может передать удалённому серверу в процессе HTTP/HTTPS-подключения.

Например, к браузерному профилю могут относиться:

  • Версия операционной системы и браузера (это так называемый user-agent).
  • Тип и разрядность процессора, его модель (набор доступных инструкций).
  • Модель графического ускорителя.
  • Объём оперативной памяти.
  • Разрешение экрана.
  • Набор установленных браузерных плагинов.
  • Cookies-файлы.
  • Набор закладок.
  • Локаль (язык браузера).
  • Часовой пояс.
  • Список доступных шрифтов.
  • Доступные медиаустройства (камера, микрофон, динамики/колонки).
  • Поддерживаемые технологии (исполнение JavaScript, поддержка рендеринга WebGL, HTML5 Canvas и др.).
  • Георасположение (обычно определяется на основе IP-адреса).

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

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

Например, в особо сложных ситуациях следует использовать безголовые (headless) браузеры или даже скрапинг экранов (с распознаванием скринов).

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

Наиболее простые примеры сканирования цифровых отпечатков на сайтах:

  • Сервер проверяет доступность JavaScript и анализирует движение курсора. Если браузер клиента «молчит», то с большой вероятностью браузером пользуется бот.
  • Сайт проверяет версию операционной системы и набор доступных шрифтов. Если операционная система обозначена, как Windows, то она обязательно должна включать в комплект поставки набор стандартных проприетарных шрифтов. Но если в списке доступных отдельных шрифтов нет, то скорее всего браузер пытается кого-то обмануть. Соответственно, пользователь и его подключения блокируются.
  • Анализируется структура HTTP-запросов и ответов браузера. Определённые конструкция легко могут выдать использование антидетект-браузеров (конечно, качественные антидетекты умеют маскироваться правильно).
  • У сайта может быть своя база известных ему браузерных отпечатков. Каждый новый клиент проходит определённую проверку на валидность. Если браузер пытается авторизоваться в одном аккаунте, но его реальный цифровой отпечаток (браузерный профиль) говорит о соотнесении с другим клиентом, то система защиты может попросить пользователя пройти дополнительные шаги идентификации (задействовать второй фактор аутентификации, ответить на секретный вопрос и т.п.).

Вывод таков: если вы хотите парсить сайты конкурентов или собирать данные с крупных площадок, таких как Amazon, eBay и т.п., то нужно позаботиться о цифровых отпечатках своего браузера (парсера).

Как обойти сканирование цифрового отпечатка в браузере при парсинге?

Как обойти сканирование цифрового отпечатка в браузере при парсинге?

Веб-парсинг – это не всегда зло. Чаще всего за автоматическими запросами стоят простые и вполне мирные задачи: поиск данных, мониторинг цен, анализ конкурентов, выбор ниши, проверка контрагентов и т.п.

Защита браузерных отпечатков и предварительное сканирование – это как борьба добра со злом. Одни хотят защитить свои личные данные (браузерные профили, цифровые отпечатки) или обойти другие ограничения сайтов/web-сервисов, а другие хотят знать о клиентах всё, чтобы лучше продавать или, наоборот, чтобы блокировать паразитную (по их мнению) нагрузку.

И единственно правильной позиции по этому вопросу нет и быть не может. Каждый может оказаться по разные стороны баррикады.

Итак, проблемы парсинга ясны: из-за проверки цифровых отпечатков (браузерных профилей), собирать данные в автоматическом режиме становится сложнее. Сайты могут проверить большое количество параметров клиента и при малейшем подозрении заблокировать его.

Какие способы обхода существуют:

  1. Для каждого нового аккаунта, создаваемого на целевом сайте, генерируется уникальный браузерный профиль (с эмуляцией всех возможных параметров, от версии операционной системы и набора шрифтов до файлов cookies и списка установленных плагинов).
  2. Чтобы обслуживать большое количество изолированных браузеров или браузерных профилей можно использовать среды виртуализации (виртуальные машины и контейнеры), а также специальные браузеры – антидетект-браузеры. Последние умеют подделывать практически любые параметры, которые запрашивают целевые сайты.
  3. Ни виртуальные машины, ни антидетект-браузеры не умеют подменять местоположение клиента. Для этой задачи нужно использовать прокси. Подбор прокси должен основываться на параметрах потенциального клиента, то есть адрес должен коррелировать с цифровым отпечатком. Например, если используется разрешение экрана смартфона, то и IP-адрес должен принадлежать мобильному оператору связи (подробнее о мобильных прокси). Если браузер имеет разрешение десктопа, то логично задействовать IP-адреса домашних пользователей (резидентные прокси). Если локаль клиента ru_RU, то и работать он должен из России. И т.п.
  4. Так как многие крупные сайты параллельно проверяют поддержку определённых web-технологий, в том числе JavaScript, то при автоматизации задач следует задействовать специальные браузеры, способные эмулировать поведение пользователей (движение указателей, ручной ввод в формах и т.п.). Всё это умеют делать headless-браузеры.

Выводы и рекомендации

цифровые отпечатки и скрапинг

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

Для отсева реальных клиентов от нереальных чаще всего используются цифровые отпечатки (параметры браузерных профилей).

Но для каждого действия всегда найдётся противодействие. Программы-парсеры можно научить имитировать поведение пользователей и подделывать большинство параметров тех самых цифровых отпечатков. Для этого обычно используются headless или антидетект-браузеры в связке с прокси.

Прокси – крайне важный элемент, который берёт на себя задачу изменения местоположения и защиты реальных IP-адресов (на случай блокировок).

Мы, команда Froxy, предлагаем качественные мобильные и резидентные прокси с оплатой за пакеты трафика. Ротация IP возможна по требованию или по таймеру. Подбор новых адресов может осуществляться в той же локации (до уровня города) и даже у того-же оператора связи, что существенно снижает риски блокировки. Пул адресов включает более 8 млн. IP в 200+ странах.

Получайте уведомления о новых функциях и обновлениях Froxy

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

Статьи по Теме

Парсим как профи! Лучшие практики для веб-скрапинга без блокировок

Парсинг

Парсим как профи! Лучшие практики для веб-скрапинга без блокировок

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

Команда Froxy 14 дек 2023 6 мин
Безголовый браузер: Что это такое и как использовать его для скрапинга

Парсинг

Безголовый браузер: Что это такое и как использовать его для скрапинга

Можете ли вы представить себе браузер без графического интерфейса с управлением из командной строки? Мы здесь, чтобы разобраться с этим!

Команда Froxy 7 фев 2024 6 мин