К нам обратился пользователь, который искал квартиру в аренду и хотел следить за новыми предложениями сразу на нескольких площадках недвижимости.
Задача выглядела так:
- проверять новые объявления на ЦИАН и второй популярной доске объявлений;
- учитывать уже настроенные фильтры поиска;
- получать в Telegram ссылку на подходящий объект;
- не собирать телефоны и другие контактные данные;
- передавать объявление в собственный AI-фильтр;
- не тратить время на повторный просмотр старых предложений.
На первый взгляд для этого нужен полноценный парсер ЦИАН. Но для бытового мониторинга собирать всю базу не нужно. Достаточно правильно организовать проверку нескольких страниц поиска и обнаружение новых объявлений.
Главный совет: начинайте не с парсера, а с сохранённого поиска
Сначала настройте поиск на самой площадке:
- город или район;
- аренда или продажа;
- количество комнат;
- минимальная и максимальная цена;
- площадь;
- расстояние до метро;
- дополнительные параметры квартиры.
После этого сохраните адрес страницы с результатами. Так инструменту не придётся самостоятельно воспроизводить десятки фильтров: он будет проверять уже готовую выдачу и искать в ней только новые объявления.
Для простого личного поиска сначала стоит проверить официальные уведомления ЦИАН и «Циан-помощника»: по описанию площадки он ищет квартиры по описанию и фото и может следить за появлением новых подходящих вариантов. Если этого достаточно, отдельное решение не нужно.
Отдельный мониторинг имеет смысл, если нужно:
- объединить ЦИАН, Авито и другие источники;
- использовать собственные нестандартные фильтры;
- передавать объявления в свою систему;
- выполнять AI-анализ описания;
- хранить историю найденных объектов;
- отправлять уведомления в определённом формате.
Какие данные действительно нужны
В этом сценарии не требовались телефоны собственников, имена агентов или массовая выгрузка базы. Для мониторинга аренды достаточно собирать:
- идентификатор объявления;
- источник;
- заголовок;
- цену;
- количество комнат и площадь;
- район или адрес;
- этаж;
- время публикации;
- краткое описание;
- ссылку на объявление.
Чем меньше данных собирает решение, тем проще сделать его стабильным. Для Telegram-сообщения можно использовать такой формат:
Новое объявление на ЦИАН
2-комнатная квартира, 54 м²
78 000 рублей в месяц
Район: Сокол
Этаж: 6 из 12
Ссылка: адрес объявленияЭтого достаточно, чтобы открыть карточку и принять решение.
Как определить, что объявление новое
Основная сложность такого проекта не в извлечении цены или заголовка. Нужно не отправлять одно и то же объявление при каждой проверке. Для каждого объекта сохраняется идентификатор или ссылка, а при следующем запуске текущая выдача сравнивается с уже обработанными результатами.
Простая схема выглядит так:
- Открыть сохранённую страницу поиска.
- Получить список объявлений.
- Извлечь идентификатор и основные поля.
- Сравнить результаты с локальной историей.
- Отправить в Telegram только новые объявления.
- Добавить их идентификаторы в историю.
Если площадка меняет адреса, можно дополнительно использовать комбинацию признаков: источник, внутренний номер объявления, адрес, цену и площадь. Это снижает количество повторных уведомлений.
Как подключить AI-фильтрацию
AI лучше подключать после получения структурированных данных. Сначала применяются обычные строгие фильтры: цена не выше заданной, нужное количество комнат, подходящий район, допустимая площадь, нужный этаж, наличие обязательных слов.
После этого AI анализирует описание и возвращает один из результатов: подходит, не подходит или нужно проверить вручную. Вместе с решением желательно сохранять короткую причину, например: «Не подходит: указана комиссия 100% и запрещено проживание с животными».
Такой подход сокращает расходы на AI и делает результат понятным. Модель не должна решать задачу, которую можно надёжно закрыть обычным сравнением чисел.
Как отправлять результат в Telegram
Монитору не обязательно напрямую управлять Telegram-аккаунтом. Для уведомлений достаточно создать бота и отправлять сообщения через Telegram Bot API. В сообщение стоит включать только данные, необходимые для быстрого решения: источник, цену, основные параметры, результат AI-фильтра, причину отбора и ссылку на оригинальное объявление.
Для нескольких источников полезно привести данные к единому формату. Тогда AI-фильтру безразлично, пришёл объект с ЦИАН, Авито или другой площадки. Пример единой структуры:
{
"source": "cian",
"listingId": "123456789",
"title": "2-комнатная квартира",
"price": 78000,
"area": 54,
"district": "Сокол",
"description": "Текст объявления",
"url": "https://www.cian.ru/...",
"publishedAt": "2026-09-21T09:30:00"
}Что делать, если ЦИАН блокирует автоматический сбор
ЦИАН ограничивает использование автоматизированных скриптов без разрешения администрации, поэтому не стоит строить бытовой мониторинг как массовую выгрузку всей базы и тем более рассчитывать на обход защит. Перед запуском проверьте правила пользования ЦИАН. Подробнее о вариантах и рисках мы рассказали в разборе «Как спарсить ЦИАН».
Практические варианты:
- Использовать официальные уведомления ЦИАН или «Циан-помощника», если их возможностей достаточно.
- Уточнить возможность работы через официальный API, если задача связана с профессиональным кабинетом.
- Использовать полуавтоматическое расширение браузера, которое собирает данные с открытой пользователем страницы.
- Для собственной системы ограничить количество страниц, частоту проверок и набор собираемых полей.
- При блокировке не подбирать бесконечно способы обхода, а пересмотреть источник или формат решения.
Для личного поиска квартиры хороший первый вариант - полуавтоматический сбор со страницы выдачи: пользователь открывает результаты поиска, расширение запоминает объявления, а новые объекты можно передать дальше в Telegram или JSON для последующей обработки.
Как это может выглядеть на практике
Так выглядит такое расширение для ЦИАН. Оно работает на странице выдачи, которую вы открыли сами: одна кнопка забирает все объявления на экране, повторы отсеиваются по номеру объявления, результаты копятся в таблице с выгрузкой в CSV и JSON. Телефоны и контакты не собираются.
| Сделка | Тип объекта | Площадь, м² | Этаж | Цена | Адрес | Ссылка |
|---|---|---|---|---|---|---|
| Аренда | 1-комн. квартира | 38 | 5/17 | 75 000 ₽/мес. | Москва, ЦАО, м. Таганская | Открыть |
| Аренда | Студия | 26,7 | 6/17 | 58 000 ₽/мес. | Москва, СВАО, м. Медведково | Открыть |
| Аренда | 2-комн. квартира | 54 | 9/12 | 92 000 ₽/мес. | Москва, ЗАО, м. Кунцевская | Открыть |
| Аренда | 3-комн. квартира | 78 | 3/9 | 130 000 ₽/мес. | Москва, ЮАО, м. Царицыно | Открыть |
| Аренда | 1-комн. апартаменты | 34 | 12/25 | 69 000 ₽/мес. | Москва, ЮВАО, м. Дубровка | Открыть |
Какой вариант подошёл для этой задачи
Для описанного сценария можно использовать связку из четырёх компонентов:
- сохранённые страницы поиска на ЦИАН и второй площадке;
- небольшой монитор новых объявлений или браузерное расширение;
- хранилище уже обработанных идентификаторов;
- Telegram-бот и внешний AI-фильтр пользователя.
Такое решение не требует сбора телефонов, обхода всех карточек или выгрузки большой базы недвижимости. Если стандартные уведомления ЦИАН закрывают задачу, отдельный парсер не нужен. Если требуется объединение нескольких площадок и собственная AI-логика, монитор можно настроить под конкретные страницы поиска и формат данных.
Что уточнить перед настройкой
Чтобы оценить такую задачу, достаточно ответить на несколько вопросов:
- какие площадки нужно проверять;
- какие города и районы интересуют;
- сколько сохранённых поисков будет использоваться;
- как часто нужна проверка;
- какие поля нужны кроме ссылки;
- куда отправлять результаты;
- кто выполняет AI-фильтрацию;
- нужно ли хранить историю объявлений;
- требуется ли отслеживать изменение цены.
После этого можно выбрать формат: официальные уведомления, браузерное расширение, локальный монитор или отдельный сервис.
Нужен мониторинг объявлений ЦИАН?
Пришлите ссылки на настроенные страницы поиска и пример желаемого сообщения в Telegram. Мы предложим минимальный вариант решения и сначала проверим его на небольшом количестве объявлений. Запросить консультацию.