Парсинг Циан — задача, с которой начинается автоматизация у большинства агентств недвижимости и риэлторов-частников: ручной мониторинг ленты аренды отнимает часы, а «свежаки» уходят за сутки. Разбираем, как собрать базу аренды с Cian: три способа — от ручного отбора до API с историей, — какие поля брать и где этот процесс ломается.
Пока риэлтор «листает Циан», конкурент работает с базой. Разница между ними — не в внимательности, а в архитектуре:
База объявлений — это актив, который работает и в подборе, и в отчётах собственникам, и в переговорах («вот реальные ставки вашего дома за квартал»).
Удобная особенность Cian — фильтрация полностью живёт в URL вида www.cian.ru/cat.php. Открыв любой подбор на сайте, вы видите адрес с параметрами запроса: тип сделки (deal_type=rent), тип объекта (квартира), регион, число комнат, диапазон цены, метро, пагинация. Это значит, что «задание на сбор» — это просто строка URL, а набор таких строк — матрица фильтров вашего агентства.
Из карточки объявления для рабочей базы берут минимум:
Важно: контакты собственника на Cian скрыты до входа — поэтому ценностью парсинга является именно карточка + ссылка, а не «база телефонов». Звоните по объявлению быстро — и телефон вам даст само объявление.
Если фильтров три и объектов десятки — заведите таблицу: дата, адрес, цена, ссылка, статус. Это рабочий минимум для одного риэлтора. Минусы очевидны: часы на обновление, пропущенные новинки (вы спите, объявления выходят), нулевая история. Как временная мера — норм, как система — нет.
Самый популярный вопрос — «напишите бота на Python, который будет качать объявления». Технически это так: скрипт ходит по URL фильтра, проходит пагинацию, вытаскивает из карточек поля, пишет в базу. Но на второй-третий день начинаются нюансы:
Отдельная тема — юридическая: собирайте только общедоступные карточки, не обходите платный доступ и соблюдайте правила площадок и законодательство о персональных данных.
Агрегатор объявлений делает грязную работу за вас: собирает площадки постоянно, хранит историю и отдаёт данные по фильтрам через 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()
Что это даёт агентству на практике:
Сравнение способов одним взглядом:
| Критерий | Вручную | Свой парсер | API агрегатора |
|---|---|---|---|
| Старт | сразу | дни на разработку | 15 дней тест бесплатно |
| Скорость получения новинок | часы | минуты | минуты |
| Обход защит площадок | — | ваша задача | решён сервисом |
| История и добор пропусков | нет | ваша задача | из коробки |
| Сопровождение | ваше | ваше (постоянно) | нет |
1. Оповещения в реальном времени. Поллер по last_m + мессенджер: менеджер получает «свежак» по своим фильтрам push-уведомлением. Скорость звонка — главное конкурентное преимущество в аренде.
2. Подбор под входящие заявки. База с фильтрами по метро/комнатам/цене закрывает 80% типовых заявок за минуты, без ручного мониторинга.
3. Отчёты собственникам. «Ваш дом: 14 предложений в аренде, медианная ставка X ₽, за месяц минус 8%» — аргумент, который продаёт вас как профессионала и обосновывает комиссию.
Законно ли парсить объявления Cian? Собирают общедоступные карточки — модель поискового агрегатора. Юридические нюансы использования данных в коммерческом продукте оценивайте с юристом; в нашей оферте данные передаются «как есть».
Можно ли получить объявления сразу после публикации? Да: опрашивайте API с окном «последние секунды/минуты» (last_s/last_m) раз в минуту — объявление попадает в выборку почти сразу после появления на площадке.
Сколько хранится история? В базе Rest-App — данные с 01.10.2015; пропущенные периоды добираются запросом по датам (date1/date2).
Что дешевле: свой парсер или API? Свой парсер дешевле «на бумаге» и дороже в реальности: разработка + поддержка + инфраструктура против фиксированной оплаты API. Парсер оправдан только при нестандартных требованиях, которых нет у агрегатора.
Тестовый доступ к API — 15 дней бесплатно: подключите свои фильтры аренды, проверьте покрытие Cian и скорость отдачи, потом решайте. Выгрузки — от 20 ₽ за 1000 объявлений, API — от 4 000 ₽/мес. Тарифы и тест API →
Форма подбора и расчета стоимости онлайн