Все статьи

Агрегация объявлений о недвижимости в больших масштабах

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

Сложности

Ваша команда выпускает продукт для агрегации объявлений. Он работает три недели. Затем Zillow меняет DOM, Rightmove ужесточает проверки TLS, и за одни выходные ваш парсер перестает работать на четырех из шести источников.

Агрегация недвижимости имеет свою специфику, с которой не сталкиваются при мониторинге цен или отслеживании SERP. Вы не получаете структурированные данные из одного чистого API. Вы собираете объявления с порталов, каждый из которых использует свои системы защиты от ботов, разную верстку, разные географические ограничения и разную частоту обновлений. Zillow в США, Redfin для данных на основе MLS, Rightmove в Великобритании, realestate.com.au в Австралии, Immobilienscout24 в Германии. Каждый портал представляет собой отдельный инженерный проект.

Согласно исследованию Scrapfly 2026 года, крупнейшие порталы недвижимости проверяют отпечатки TLS и блокируют клиентов, которые не имитируют рукопожатие на уровне реального браузера. В их руководстве по Rightmove описывается JSON, встроенный в переменные JavaScript, структура которого меняется каждые несколько месяцев. Redfin распределяет данные об объектах по десяткам узлов DOM, поэтому одно изменение верстки может мгновенно лишить вас половины полей. Кроме того, региональные порталы отдают разный контент в зависимости от страны посетителя, а значит, парсер из США не увидит ничего полезного на realestate.com.au.

В результате актуальность ваших объявлений незаметно снижается. Треть объектов устаревает в течение 48 часов. Пользователи видят цены недельной давности. Отдел продаж начинает получать жалобы, а количество обращений в поддержку резко возрастает по понедельникам, так как верстка порталов обычно меняется на выходных.

Подход

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

Любая платформа, которая успешно справляется с этой задачей, требует совместной работы четырех компонентов. Во-первых, отпечатки TLS, соответствующие реальным браузерам (не просто строка User-Agent в формате браузера, а фактический порядок шифров и расширения ClientHello, которые Zillow и Rightmove используют для отличия ботов от людей). Во-вторых, геолокационно точные резидентские IP-адреса на каждом целевом рынке, поскольку немецкий агрегатор не может отправлять трафик из дата-центров США на Immobilienscout24 и ожидать полезных ответов. В-третьих, маршрутизация proxy для каждого хоста, так как стратегия, работающая для Zillow, окажется неэффективной для realestate.com.au. В-четвертых, рендеринг в браузере в качестве резервного варианта для порталов, которые отдают весь контент на стороне клиента.

Пример запроса к Rightmove через продукт Proxy от FourA выглядит примерно так:

curl -X POST https://api.foura.ai/api/proxy/ \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "maxTries": 5,
    "timeout_ms": 45000,
    "request": {
      "method": "GET",
      "url": "https://www.rightmove.co.uk/properties/123456",
      "unblocker": true,
      "followRedirects": 5,
      "validate": {
        "status": {"accept": [200]},
        "data": {"fail": ["blocked", "access denied"]}
      }
    }
  }'

Флаг unblocker добавляет полный набор заголовков браузера вместе с соответствующим отпечатком TLS. Параметр maxTries: 5 указывает менеджеру proxy чередовать до пяти IP-адресов, пока один из них не сработает. Правила валидации выявляют скрытые блокировки, когда при ответе 200 возвращается страница мягкой блокировки вместо данных объявления. Таким образом, ваш показатель успешности отражает реальный результат, а не то, что сообщает HTTP-статус.

Порталам, которые отдают весь контент через JavaScript (очевидный пример, Redfin), требуется рендеринг в реальном браузере. Наш продукт Browser обрабатывает их с помощью настоящего экземпляра Chromium, а не легковесного эмулятора, который блокируется при первом же рукопожатии. В 2026 году обнаружение ботов стало поведенческим, и все, что не является полноценным браузером, становится все более заметным.

Результаты

Что происходит, когда агрегатор недвижимости переходит со своего кастомного стека парсинга на подход API-first? Вот закономерности, которые мы наблюдаем в реальных проектах (иллюстративный сценарий на основе отраслевых стандартов):

  • Актуальность объявлений повышается с «обновлено в течение 48 часов» до «обновлено в течение 2 часов» для активных рынков
  • Время инженеров на поддержку парсеров сокращается на 70%. Достаточно одного дежурного инженера вместо выделенной команды
  • Покрытие порталов расширяется с 6 сайтов до более чем 20 без пропорционального роста инфраструктуры
  • Частота скрытых блокировок падает ниже 3% на защищенных порталах после настройки правил валидации для выявления мягких блокировок

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

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

Главный вывод

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

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