перейти к содержанию

Навигация по лабиринту: как скребки избегают блокировок

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

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

Масштаб и возможности парсинга веб-страниц

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

  • Поисковые системы – Парсеры сканируют более 50 миллиардов страниц для улучшения результатов поиска [1]. Только Google обрабатывает 5.6 миллиардов поисковых запросов в день [2].

  • Сайты сравнения цен – Миллиарды списков продуктов собираются такими сайтами, как Google Shopping, с сайтов поставщиков электронной коммерции [3].

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

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

  • Агрегация новостей – Миллионы онлайн-статей и сообщений в блогах ежедневно индексируются новостными приложениями и агрегаторами.

Парсинг позволяет использовать эти сервисы, позволяя автоматически собирать огромные объемы веб-данных с помощью скриптов. А боты уже составляют более 50% трафика веб-сайта [4].

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

Лабиринт защиты от царапин

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

Ограничение скорости IP

Один из самых простых методов — ограничить количество запросов, которые может сделать один IP-адрес за период времени. Завышенные ставки считаются ботами. Amazon агрессивно блокирует парсеры, используя ограничения по IP [5].

Фильтрация пользовательского агента

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

Анализ поведения

Сбор данных о действиях пользователя с течением времени, а не мгновенных ограничений, позволяет более эффективно обнаруживать ботов. Боты ведут себя систематически в отличие от людей [7].

Отпечаток пальца браузера

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

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

Но не бойтесь: там, где есть мотивированные скребки, есть и решения…

Бронирование: тактика уклонения от скребка

За последние 5 лет я овладел швейцарским ножом приемов, позволяющих держать скребки вне поля зрения и избегать блоков:

Вращающиеся прокси

Путем маршрутизации запросов через несколько прокси-серверов каждый запрос поступает с нового IP-адреса. Резидентные прокси, размещенные на реальных пользовательских устройствах, менее подозрительны, чем IP-адреса центров обработки данных.

Имитация браузеров

Передача реальных строк User Agent браузера и других заголовков делает каждый запрос похожим на человека. Я веду список актуальных UA для имитации любого браузера.

Параллелизм и задержка

Такие стратегии, как намеренное замедление скорости очистки и регулирование одновременных запросов, помогают соблюдать ограничения IP и уменьшать блокировку.

Общие IP-сессии

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

Ротация TOR и VPN

Изменение IP-адресов через VPN и TOR обеспечивает постоянный поток новых конечных точек. Но их диапазоны часто заносятся в черный список, что ограничивает эффективность.

Теперь у нас есть некоторые инструменты для борьбы с блоками. Но как и когда нам следует применять их на практике?

Очистка этики: линии, которые нельзя пересекать

Прежде чем запускать инструменты обхода, очень важно, чтобы мы обходили средства защиты только в законных целях:

  • Никогда нарушать Условия обслуживания или получать доступ к личным/пользовательским данным

  • Не перегружайте серверы – используйте задержки и ограничивайте параллелизм.

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

  • Поймите свой конкретный вариант использования; избегайте обхода блоков, если это не критично

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

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

Очистка поверхности

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

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

Оставайтесь любопытными!

Присоединяйтесь к беседе

Ваш электронный адрес не будет опубликован. Обязательные поля помечены * *