Avito блокирует парсер: 429, капча, смена вёрстки — что делать и как не остаться без данных

Avito блокирует парсер: 429, капча, смена вёрстки — что делать и как не остаться без данных

Avito блокирует парсер: коды ответов 200, 429, капча и пустая вёрстка

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

Почему Avito «закрывается» от сбора данных

Avito — одна из самых посещаемых площадок рунета, и защита данных там выстроена серьёзная: лимиты запросов на IP, анализ поведения, фильтрация «непохожего» трафика, периодические изменения вёрстки. Это не злой умысел против вашего скрипта — платформа защищает инфраструктуру от ботов и конкурентов. Просто ваш парсер для неё выглядит как бот.

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

Ошибка 429: Too Many Requests

Самый частый симптом. Код 429 означает: с вашего адреса за короткое время ушло слишком много запросов. Что происходит дальше:

  • Сначала площадка просто отклоняет часть запросов — их нужно повторять с экспоненциальной задержкой (1с, 2с, 4с, 8с...).
  • При продолжении штурма блокировка растягивается: от часов до суток и больше.
  • Блокировка, как правило, привязана к IP, а не к скрипту: перезапуск кода ничего не изменит.

Что делает парсер устойчивее:

  1. Ограничение скорости. Фиксируйте темп запросов и не превышайте его даже «всего на чуть-чуть». Лучше медленный стабильный сбор, чем быстрый, после которого вы сутки ждёте разбана.
  2. Уважение к Retry-After. Если сервер прислал подсказку, через сколько повторять — повторйте позже, а не немедленно.
  3. Карантин после 429. Увидели лимит — остановите поток на весь период блокировки, а не продолруйте «по одному запросу проверить».
  4. Разделение ошибок. Ошибка в одной строке данных (кривое поле) и сетевой сбой — разные случаи: первую отправляйте в карантин-файл и продолжайте работу, вторую — обрабатывайте как сбой канала.

Капча: вы всё делаете правильно, но вас всё равно просят

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

Парсер молчит: вёрстка поменялась

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

Что помогает:

  • Мониторинг результата, а не процесса. Алерт не «запрос упал», а «за час собрано в 5 раз меньше обычного».
  • Проверка обязательных полей. Если у 90% строк пустая цена — парсер сломан, даже при 200 OK.
  • Тесты на реальных фрагментах страниц, которые обновляются.

Что делать, если сбор — часть вашего бизнеса

Честный вопрос, который стоит задать себе после третьего простоя: сколько стоит ваше время на поддержку парсера и сколько вы теряете в часы, когда данных нет? риэлтор, который не видит новых объявлений два часа, теряет сделки. Перекуп, пропустивший «свежак», покупает дороже рынка.

Варианты по возрастанию надёжности:

ПодходЛомаемостьСопровождение
Скрипт «на коленке»ВысокаяВсё на вас
Готовый парсер-сервисСредняяНастройка раз в квартал
API агрегатора с историейНизкаяТолько интеграция

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

Как это устроено в Rest-App

Мы собираем объявления Avito, Циан, Auto.ru, Drom и других площадок постоянно и отдаём их через API: выгрузка по фильтрам (регион, город, категория, цена), выдача объявлений за последние секунды/минуты (last_s/last_m), форматы JSON/XML/CSV, до 1000 объявлений за запрос. Данные «как есть» со ссылками на первоисточники — условия в оферте. Вам не нужно чинить парсер, когда площадка меняет вёрстку: это наша работа, вы просто продолжаете получать данные.

Попробовать: тестовый доступ к API — 15 дней, выгрузка от 20 ₽/1000 объявлений. Тарифы и тест API →

FAQ

Почему Avito даёт 429, если я делаю всего один запрос в секунду? Лимиты считаются не только по частоте: влияет репутация IP, паттерн запросов, сезонная нагрузка площадки. Один запрос в секунду с «подозреваемого» адреса может ловить 429, а десять — с чистого нет.

Как понять, что вёрстка Avito изменилась? По просадке собранных данных при HTTP 200 и по пустым обязательным полям (цена, заголовок). Мониторинг количества собранных строк в единицу времени ловит это за минуты.

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

Законно ли пользоваться данными досок через API агрегатора? Мы работаем с общедоступными данными как поисковый агрегатор и предоставляем ссылки на первоисточники; ответственность и риски по использованию данных закреплены офертой и лежат на стороне клиента. Для коммерческих продуктов рекомендуем юридическую консультацию.

Форма подбора и расчета стоимости онлайн
Дата публикации: 26.10.2026
Если Вам требуется база или данные для аналитики, Вы всегда можете обратиться по телефонам: +7 (499) 991-71-61, +7 (926) 008-99-04 или по почте info@rest-app.net. Мы будем рады Вам помочь!