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

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

Коротко: нужно проверить реальный HTML, селекторы, авторизацию, пагинацию и защиту от записи пустого результата.

Почему это ломается

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

Что проверяю первым

  • какой HTML реально получает скрипт
  • совпадают ли селекторы с текущей версткой
  • не нужна ли авторизация
  • не грузятся ли данные через API
  • есть ли защита от сохранения пустого результата

Как проходит исправление

Я сравниваю страницу в браузере и ответ, который получает скрипт. Это сразу показывает, проблема в селекторах, доступе или динамической загрузке.

  • обновляю селекторы
  • подключаю обработку JavaScript или API
  • чиню авторизацию и cookies
  • добавляю проверку пустых данных
  • логирую HTML-фрагмент при ошибке

Что подготовить

  • адрес страницы-источника
  • пример ожидаемых данных
  • текущий код парсера
  • что получается на выходе
  • как часто запускается скрипт

Какой результат нужен

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

Чего лучше не делать

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

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

Почему в браузере данные есть, а парсер видит пусто?

Данные могут подгружаться JavaScript или API после загрузки HTML.

Нужно ли использовать браузерный парсер?

Если сайт рендерит данные только в JS, иногда да. Но сначала стоит проверить API.

Можно ли защититься от пустого результата?

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

Что делать, если сайт изменил верстку?

Обновить селекторы и добавить тесты на ключевые поля.

Нужна похожая задача?

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

Итог

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