Как не получить бан по IP: правила для парсинга и аккаунтов

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

Редакция Prokso 6 мин чтения Гайды
Как не получить бан по IP: правила для парсинга и аккаунтов
Коротко
  • Сайты ограничивают адреса за слишком частые запросы, подозрительные подсети и адреса дата-центров
  • Ошибки 429, 403 и капча — сигнал сбавить темп, а не увеличить напор
  • Спокойный темп, паузы, кэш и официальные API снижают число ограничений сильнее, чем смена адресов
  • Ротация подходит для сбора данных, фиксированный адрес — для аккаунтов
  • Прокси не отменяют правила сайта: ограничения по условиям площадки действуют на любом адресе

Блокировка по IP почти никогда не бывает случайной. Сайт видит, что с адреса идёт поведение, которое ему не нравится, и ограничивает доступ. Иногда на минуту, иногда на сутки, иногда для всей подсети сразу.

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

За что сайты ограничивают адреса

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

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

Третья — репутация подсети. Если с соседних адресов в одном блоке много подозрительной активности, сайт может ограничить весь блок. Четвёртая — тип сети: по номеру ASN видно, что адрес принадлежит дата-центру, и часть сайтов таким адресам не доверяет по умолчанию.

Как понять, что вас ограничили

Сайт редко пишет прямо «вас заблокировали». Обычно это видно по ответам:

ПризнакЧто обычно значитЧто делать
Ошибка 429Слишком много запросов за короткое времяПауза, снизить темп и число потоков
Ошибка 403Доступ запрещён: адрес, тип сети или правило сайтаПроверить адрес и тип прокси, перечитать правила сайта
Капча вместо страницыСайт сомневается, что пришёл человекСбавить темп, проверить профиль браузера
Cloudflare 1015Сработал лимит частоты на стороне защиты сайтаПодождать и вернуться с меньшей частотой
Пустая страница или другие данныеСайт отдаёт ботам упрощённую версиюСравнить с ответом в обычном браузере

Подробно о каждой ошибке: 429 Too Many Requests, 403 Forbidden и Cloudflare 1015. Если капча или 403 приходят на сайте, который вы просто открыли в браузере, проверьте, не входит ли он в список сайтов, закрытых для всех.

Темп важнее количества адресов

Самая частая ошибка — пытаться решить ограничения количеством адресов. Сайт отвечает 429, а скрипт добавляет потоков и идёт дальше. Ограничения от этого только растут: сайт видит волну однотипных запросов и закручивает гайки для всех.

Работает обратное. Чем спокойнее ваш скрипт ведёт себя на сайте, тем реже он встречает ограничения. Вот правила, с которых стоит начинать:

  • Ставьте паузы между запросами и делайте их случайными, например от 2 до 6 секунд, а не ровно секунду.
  • Ограничьте число одновременных потоков на один сайт. Начните с нескольких и повышайте, только если ошибок нет.
  • Кэшируйте то, что уже скачали. Не открывайте одну страницу дважды за день, если она не меняется.
  • Собирайте ночью по времени сайта, когда у него меньше живых посетителей.
  • Сразу останавливайтесь на 429 и учитывайте заголовок Retry-After, если он есть.

Технический предел у Prokso — до 1000 одновременных соединений на план. Это запас для разных задач, а не рекомендация: для одного сайта разумное число потоков обычно в разы меньше.

Представьтесь сайту честно

Многие скрипты по умолчанию отправляют пустой или технический User-Agent. Сайту не нравится, когда он не понимает, кто к нему пришёл. Для открытого сбора данных полезно указать в заголовке понятное имя программы и способ связи с вами.

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

Официальный путь, если он есть

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

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

Ротация или фиксированный адрес

Режим смены адреса подбирают под задачу. Ротация выдаёт новый адрес на каждый запрос: в Prokso это порт 823 для HTTP и 824 для SOCKS5. Нагрузка распределяется по пулу, и ни один адрес не принимает на себя весь поток.

Фиксированный адрес держится на время сеанса: порты от 10000 до 20000, каждый держит один адрес от 1 до 120 минут. Он нужен, когда сайт ждёт одного и того же посетителя — например, при входе в аккаунт или пошаговом оформлении заказа.

ЗадачаРежимПочему
Сбор открытых страниц каталогаРотация, порт 823 или 824Запросы независимы, нагрузка распределяется
Вход в аккаунт и работа в нёмФиксированный порт 10000–20000Площадка видит одного стабильного пользователя
Многошаговый процесс: поиск, фильтр, страница товараФиксированный порт на время шагаСайт связывает шаги с одной сессией
Проверка выдачи из разных городовФиксированный порт на каждый городРезультат не скачет между запросами

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

Для аккаунтов: цельный профиль

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

  • Один аккаунт — один профиль браузера и один фиксированный порт.
  • Адрес из страны аккаунта. Для аккаунта из Киева — украинский адрес, для польского магазина — польский.
  • Часовой пояс и язык браузера под страну адреса.
  • Без резкой смены страны у давно работающего аккаунта.
  • Домашние или мобильные адреса для площадок, которые строго относятся к дата-центрам.

Проверить, как вас видит сайт, можно на странице мой IP: там видны страна адреса, часовой пояс и утечки через WebRTC.

Что делать, если ограничение уже есть

  1. Остановите задачу. Повторные запросы в ответ на 429 или 403 продлевают ограничение.
  2. Подождите. Лимиты частоты обычно снимаются сами через минуты или часы.
  3. Найдите причину: темп, число потоков, тип адреса или правила сайта.
  4. Если адрес сам по себе с плохой репутацией, смените его: возьмите другой порт или новую сессию. В настройках пула есть фильтр анонимности, который отсекает адреса, уже помеченные сайтами как прокси или VPN.
  5. Возвращайтесь с меньшим темпом и проверьте на небольшом объёме, прежде чем запускать всё.

Почему дата-центры ограничивают чаще

Адреса дата-центров идут блоками, а их владелец виден по ASN. Сайт, который не ждёт роботов, может закрыть такие сети целиком. Если на сайте с ваших серверных адресов идут 403 и капчи даже при спокойном темпе, проверьте ту же задачу на резидентских. Подробнее — в статье резидентские или серверные прокси.

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

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

Вопросы и ответы

Можно ли гарантированно избежать блокировки по IP?

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

Что значит ошибка 429?

Сайт сообщает, что с вашего адреса пришло слишком много запросов за короткое время. Нужно сделать паузу и снизить частоту запросов. Часто в ответе есть заголовок Retry-After с подсказкой, сколько ждать.

Поможет ли ротация, если сайт отвечает 429?

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

Почему меня ограничили с первого запроса?

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

Нужно ли соблюдать robots.txt, если я работаю через прокси?

Да. Прокси меняет адрес, но не меняет правила сайта. robots.txt и условия использования действуют на любом адресе, и по ним стоит планировать сбор данных.

Читайте также