Бесплатное тестирование доступно для жителей Франции , Великобритании или Сингапура в Telegram Присоединяйтесь к Telegram
Операции

Лучшие практики веб-парсинга

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

PXM2 Proxies August 21, 2026 Время чтения: 8 минут
2–5 Одновременное использование на одном хосте
Безлимит Трафик и ротации
По запросу Управление вращением
7+ Доступно стран
  • Неограниченная пропускная способность — кэширование и повторное сканирование не влияют на стоимость месячного тарифа.
  • Ротация по требованию — отключение неработающего IP-адреса на границе задания, а не по таймеру.
  • Специализированное оборудование — ваша скорость блокировки зависит от вашего поведения, а не от поведения постороннего человека.
  • Фиксированные сеансы — длительные задания завершаются на том же адресе, с которого они были запущены.
Мобильные прокси 4G / 5G Неограниченная пропускная способность
Поддержка протоколовHTTP(S), SOCKS5
Тип сеансаВращающиеся или фиксированные
Пропускная способностьБезлимит
ОборудованиеВыделенный модем 4G/5G
Предсказуемая стоимость

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

Избавиться от неликвидного IP

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

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

Надежные бюджеты по скорости и параллелизму

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

Управление Разумная отправная точка Как его настроить
Количество одновременных запросов на один хост от 2 до 5 Увеличивайте только до тех пор, пока уровень ошибок остаётся неизменным; как только он изменится, сразу же сократите
Общая численность работников от 10 до 20 на многих хостах Расширяйтесь, пока пропускная способность продолжает расти; останавливайтесь, когда она перестанет расти
Задержка для того же домена Пару секунд; 10 — это действительно вежливо Если в файле robots.txt указан параметр Crawl-delay, то это и есть ответ — используйте его
Адаптивный дроссель С самого первого дня Пусть задержка определяется наблюдаемой латентностью, а не фиксированной константой

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

Согласованность заголовков, сеансов и отпечатков

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

Сопоставьте заголовки с идентичностью, которую вы заявляете

Настоящий браузер отправляет заголовки User-Agent, Accept, Accept-Language, Accept-Encoding и Sec-Fetch-* в фиксированном порядке, а его TLS-рукопожатие — порядок наборов шифров и расширения, видимые серверу в виде отпечатка JA3 или JA4 — является специфическим для данной версии браузера. Стандартный HTTP-клиент, такой как requests, curl или node-fetch, не демонстрирует ничего подобного; он идентифицирует себя как скрипт, независимо от строки User-Agent, заданной на его уровне. Выберите одну реальную актуальную комбинацию браузера и ОС, скопируйте её фактический набор заголовков и их порядок, и придерживайтесь этой идентичности, а не рандомизируйте заголовки для каждого запроса — User-Agent, меняющийся при каждом запросе с одного и того же IP-адреса, сам по себе является сигналом.

Присвоить сессии один IP-адрес на весь срок ее существования

В глазах сайта вход в систему, корзина покупок или набор результатов с пагинацией представляют собой одну сессию, и она должна оставаться на одном IP-адресе до завершения данной единицы работы. Смена IP-адреса в середине сессии при неизменном наборе файлов cookie приводит к тому, что один набор файлов cookie поступает с двух IP-адресов в течение нескольких минут — это более явный сигнал, чем любой из этих фактов в отдельности. Именно для этого и существуют мобильные прокси с «прилипными» сессиями: они удерживают сессию столько, сколько требуется для выполнения задачи, и меняют IP-адрес по завершении, а не по фиксированному таймеру, который прерывает работу.

  • User-Agent — Одна реальная строка, определяющая браузер и ОС, фиксированная на весь срок действия учетной записи и не перекомпоновываемая при каждом запросе
  • Набор заголовков и их порядок — Заголовки Accept, Accept-Language и Sec-Fetch-*, соответствующие тем, которые фактически отправляет данный браузер
  • Отпечаток TLS — Клиентская библиотека, протокол установления соединения которой соответствует протоколу реального браузера, а не собственной сигнатуре стандартного стека
  • Файлы cookie и IP-адреса сеанса — Принимается и повторяется при каждом запросе с того же IP-адреса на протяжении всего времени работы сеанса

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

Fetch Less: кэширование и условные запросы

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

  • Сохраняйте в кэше то, что уже было загружено — Локальный или общий кэш позволяет при повторном запуске выполнять сравнение изменений, а не полное сканирование. В случае распределенных рабочих процессов центральное хранилище предотвращает их независимую повторную загрузку одних и тех же страниц.
  • Используйте условные запросы — Отправляйте запросы с заголовками If-None-Match или If-Modified-Since, если сервер предоставляет ETag или Last-Modified. В таком случае для отправки неизменённой страницы потребуется ответ с кодом 304 вместо полного тела запроса, что экономичнее для обеих сторон.
  • Постепенное сканирование — Повторное прохождение всего каталога по расписанию — это классический способ заблокировать доступ к данным, которые не изменились. Отдавайте предпочтение картам сайта, фидам и механизмам обнаружения изменений, а не исчерпывающим прохождениям.
  • Поищите конечную точку, скрытую за этой страницей — Оформленные страницы часто загружаются с внутреннего JSON-конечного пункта, к которому можно обратиться напрямую — он компактнее, стабильнее и проще в обработке, чем окружающая его разметка.
  • Удалить дубликаты перед помещением в очередь — Стандартизируйте URL-адреса и исключите те, которые уже были посещены. Параметры отслеживания и идентификаторы сеанса превращают одну страницу в десятки, казалось бы, отдельных запросов.

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

Повторные попытки, «мертвые» сообщения и адаптивная отсрочка

Именно при повторных попытках «вежливый» краулер незаметно превращается в «агрессивного». Три правила помогают избежать злоупотреблений:

  1. Сначала запустить «Retry-After», а затем уменьшать интервал экспоненциально

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

  2. Ограничить количество попыток и использовать очередь неудачных сообщений

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

  3. Обеспечить идемпотентность повторных попыток

    Повторные попытки чтения не вызывают проблем; будьте осторожны со всем, что изменяет состояние на стороне сервера. Безопасным значением по умолчанию является ограничение автоматических повторных попыток запросами GET и HEAD.

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

Узнайте, что вас заблокировали, ещё до того, как это затронет ваши данные

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

Показатель Что это означает Действовать, когда
Ставка за блок на цель Самый ранний достоверный признак, который у вас есть Оно вообще растёт — этот показатель меняется раньше, чем ваш набор данных
Записи, в которых отсутствует обязательное поле Обнаруживает «мягкие» блокировки, при которых возвращается код HTTP 200 Доля отклоняется от своего обычного базового уровня
Время отклика в 95-м процентиле Целевой штамм или проводимый тест на заражение Он растёт, в то время как пропускная способность — нет
Глубина очереди Независимо от того, удерживаете ли вы позиции или наращиваете их Он неуклонно растёт на протяжении всего цикла

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

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

Получите выделенный прокси-сервер для веб-парсинга

Активные локации PXM2 — выберите страну, из которой, по вашему замыслу, должен поступать запрос, и получите выделенный IP-адрес с поддержкой 4G/5G, неограниченной пропускной способностью и возможностью смены адреса:

🇬🇧

Великобритания

2 оператора 20-60 Mbps
Начиная с
$3.64 за 1 час
Доступные операторы:
O2 EE
🇪🇸

Испания

3 оператора 30-80 Mbps
Начиная с
$4.35 за 1 час
5G
Доступные операторы:
DIGI Mobile MásMóvil Movistar
🇮🇳

Индия

3 оператора 20-30 Mbps
Начиная с
$2.74 за 1 час
4G
Доступные операторы:
Airtel Jio Vodafone Idea (Vi)
Смотреть все локации →

Часто задаваемые вопросы

Сколько одновременных запросов можно отправлять при скрапинге?

Распределяйте ресурсы на каждый целевой хост, а не глобально. От двух до пяти одновременных запросов на один хост — это обоснованная отправная точка, а пул рабочих процессов из десяти–двадцати, распределенных по нескольким хостам, является обычной практикой. Увеличивайте размер пула, пока пропускная способность продолжает расти, а уровень ошибок остается стабильным; как только уровень ошибок начнет расти без соответствующего роста пропускной способности, вы достигнете предельного значения.

Сколько времени нужно выждать между запросами?

Если в файле robots.txt указан параметр Crawl-delay, используйте его — именно в этом операторе содержится нужный ответ. Если такого параметра нет, задержка в несколько секунд при обращении к одному и тому же домену является консервативным подходом и редко приводит к ошибкам, а задержка в десять секунд — это действительно вежливый подход для небольшого сканирования. Задержка имеет гораздо меньшее значение, чем адаптивность: замедление, когда цель сигнализирует о перегрузке, — вот что позволяет сканированию продолжиться.

Как выполнять скрейпинг, чтобы не попасть под бан?

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

На что следует обращать внимание при работе с конвейером сбора данных?

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

Что лучше: менять прокси или снизить скорость?

Сначала снизьте скорость. Ротация решает проблему идентичности; ошибка 429 связана со скоростью, а переход на новый IP-адрес с целью сохранения той же скорости — это просто трата адресов ради того, чтобы выиграть ещё несколько минут. Уменьшите количество одновременных запросов, соблюдайте параметр Retry-After и прибегайте к ротации только в том случае, если конкретный IP-адрес действительно перестал работать.

Эта страница посвящена оперативной дисциплине; остальные страницы кластера описывают механизмы, к которым она применяется.

Руководства по веб-парсингу

Основные руководства по мобильным прокси-серверам

Прокси-серверы, не налагающие штрафы за повторное сканирование

Специализированные модемы 4G/5G, оплата за которые производится не за гигабайт, а за период — кэширование, повторные попытки и инкрементные прогоны стоят столько же, сколько один проход.

Получить прокси для скрапинга