Парсинг Циан: как собрать базу аренды для агентства недвижимости

Парсинг Циан: как собрать базу аренды для агентства недвижимости

Парсинг Циан: вручную, свой парсер или API агрегатора — сравнение способов собрать базу аренды

Парсинг Циан — задача, с которой начинается автоматизация у большинства агентств недвижимости и риэлторов-частников: ручной мониторинг ленты аренды отнимает часы, а «свежаки» уходят за сутки. Разбираем, как собрать базу аренды с Cian: три способа — от ручного отбора до API с историей, — какие поля брать и где этот процесс ломается.

Зачем агентству своя база аренды

Пока риэлтор «листает Циан», конкурент работает с базой. Разница между ними — не в внимательности, а в архитектуре:

  • Скорость. Новую квартиру по рынку разбирают за несколько часов. Кто позвонил первым — тот показывает, остальные слышат «уже сдают».
  • Подбор под клиента. Заявка «однушку у метро до 60 000 ₽» превращается в фильтр, который срабатывает автоматически, а не в ежедневный ручной обход страниц.
  • Аналитика. Понимать, как двигаются ставки в конкретном районе, можно только по накопленной истории объявлений, а не по текущей выдаче.
  • Масштаб. Один менеджер ведёт 3–5 фильтров, агентство — триста. Вручную это армия стажёров.

База объявлений — это актив, который работает и в подборе, и в отчётах собственникам, и в переговорах («вот реальные ставки вашего дома за квартал»).

Что собираем: структура выдач и карточки Cian

Удобная особенность Cian — фильтрация полностью живёт в URL вида www.cian.ru/cat.php. Открыв любой подбор на сайте, вы видите адрес с параметрами запроса: тип сделки (deal_type=rent), тип объекта (квартира), регион, число комнат, диапазон цены, метро, пагинация. Это значит, что «задание на сбор» — это просто строка URL, а набор таких строк — матрица фильтров вашего агентства.

Из карточки объявления для рабочей базы берут минимум:

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

Важно: контакты собственника на Cian скрыты до входа — поэтому ценностью парсинга является именно карточка + ссылка, а не «база телефонов». Звоните по объявлению быстро — и телефон вам даст само объявление.

Способ 1. Ручной сбор: когда он уместен

Если фильтров три и объектов десятки — заведите таблицу: дата, адрес, цена, ссылка, статус. Это рабочий минимум для одного риэлтора. Минусы очевидны: часы на обновление, пропущенные новинки (вы спите, объявления выходят), нулевая история. Как временная мера — норм, как система — нет.

Способ 2. Свой парсер: что нужно знать до первой строчки кода

Самый популярный вопрос — «напишите бота на Python, который будет качать объявления». Технически это так: скрипт ходит по URL фильтра, проходит пагинацию, вытаскивает из карточек поля, пишет в базу. Но на второй-третий день начинаются нюансы:

  1. Антибот-защита площадки. Частые запросы с одного адреса заканчиваются ограничениями: капча, ошибки доступа. Нужны разумная частота, паузы, ротация исходящих адресов, заголовки браузера, обработка «странных» ответов.
  2. Смена вёрстки. Классы и структура страницы обновляются, и парсер либо начинает отдавать пустые поля, либо молча пишет нули. Обязательны валидация ответа и алерт «страница есть, данных нет».
  3. Дубли и пересобы. Объявления редактируют и переопубликовывают — без дедупликации по идентификатору база превращается в кашу.
  4. Дельта-сбор. Каждые сутки перекачивать всё — дорого и медленно. Нужен корректный «прирост»: забирать только объявления, изменённые с момента прошлого прохода.
  5. Сопровождение. Парсер — это софт: его пишут раз, а чинят всегда. Заложите в бюджет не только разработку, но и поддержку.

Отдельная тема — юридическая: собирайте только общедоступные карточки, не обходите платный доступ и соблюдайте правила площадок и законодательство о персональных данных.

Способ 3. Готовая база через API: как это устроено у агрегатора

Агрегатор объявлений делает грязную работу за вас: собирает площадки постоянно, хранит историю и отдаёт данные по фильтрам через API. Вы не держите серверов, не воюете с защитой площадок и не чините вёрстку.

Пример запроса к API Rest-App — объявления аренды с фильтром и окном «последние минуты»:

import requests

r = requests.get('https://rest-app.net/api/ads', params={
    'login': LOGIN,
    'token': TOKEN,
    'category_id': CATEGORY,   # id категорий сверяйте по тестовому доступу
    'region_id': REGION,       # регион подбора
    'price1': 40000, 'price2': 60000,
    'last_m': 5,               # объявление за последние 5 минут
    'format': 'json',
})
ads = r.json()

Что это даёт агентству на практике:

  • Фильтры по региону, городу, категории, цене, тексту — те же параметры, что на сайте, только машиночитаемо;
  • Режим реального времени: параметр выборки за последние секунды/минуты + cron раз в минуту = новые объявления у менеджера почти в момент публикации;
  • История: пропущенное окно добирается запросом по датам, объявления не теряются;
  • Форматы JSON/XML/CSV и выгрузки от 20 ₽ за 1000 объявлений; в выгрузке — цена, адрес, метро, параметры, ссылка, фото, дата;
  • Несколько площадок одним шлюзом: помимо Cian — Avito, Auto.ru, Drom, Youla и другие, один и тот же интерфейс.

Сравнение способов одним взглядом:

КритерийВручнуюСвой парсерAPI агрегатора
Стартсразудни на разработку15 дней тест бесплатно
Скорость получения новинокчасыминутыминуты
Обход защит площадок—ваша задачарешён сервисом
История и добор пропусковнетваша задачаиз коробки
Сопровождениевашеваше (постоянно)нет

Что делать с базой дальше: три сценария использования

1. Оповещения в реальном времени. Поллер по last_m + мессенджер: менеджер получает «свежак» по своим фильтрам push-уведомлением. Скорость звонка — главное конкурентное преимущество в аренде.

2. Подбор под входящие заявки. База с фильтрами по метро/комнатам/цене закрывает 80% типовых заявок за минуты, без ручного мониторинга.

3. Отчёты собственникам. «Ваш дом: 14 предложений в аренде, медианная ставка X ₽, за месяц минус 8%» — аргумент, который продаёт вас как профессионала и обосновывает комиссию.

Подводные камни

  • Иллюзия «уникальной базы». Агрегатор отдаёт данные «как есть», дубликаты площадок не объединяются — на своей стороне дедуплицируйте по идентификатору объявления.
  • Ставка только на Циан. Часть рынка аренды живёт на Avito и в локальных каналах: источник должен покрывать несколько площадок, иначе база неполная.
  • Данные без процесса. База сама по себе не продаёт. Работает связка: фильтр → оповещение → звонок за 10 минут.
  • Тестовый доступ с ограничениями. У теста Rest-App часть полей обезличена (скрыт ID, случайная цена, до 50 записей за запрос) — это проверка интерфейса, а не рабочих объёмов; перед внедрением сверьте маппинг полей.

FAQ

Законно ли парсить объявления Cian? Собирают общедоступные карточки — модель поискового агрегатора. Юридические нюансы использования данных в коммерческом продукте оценивайте с юристом; в нашей оферте данные передаются «как есть».

Можно ли получить объявления сразу после публикации? Да: опрашивайте API с окном «последние секунды/минуты» (last_s/last_m) раз в минуту — объявление попадает в выборку почти сразу после появления на площадке.

Сколько хранится история? В базе Rest-App — данные с 01.10.2015; пропущенные периоды добираются запросом по датам (date1/date2).

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

Попробовать на своих фильтрах

Тестовый доступ к API — 15 дней бесплатно: подключите свои фильтры аренды, проверьте покрытие Cian и скорость отдачи, потом решайте. Выгрузки — от 20 ₽ за 1000 объявлений, API — от 4 000 ₽/мес. Тарифы и тест API →

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