Заказчику требовалось находить объявления о продаже квартир на Avito, для которых не найден похожий объект на Циан. Ручная проверка двух площадок занимала время и затрудняла поиск таких предложений.
Разработал Telegram-бота на Node.js с хранением данных в PostgreSQL.
• Сохранение поисковых ссылок и названий поисков.
• Сбор объявлений с Avito и проверка похожих объектов на Циан.
• Сопоставление по цене, площади и расположению; для цены использован допуск ±10%.
• Статусы очереди, запуск и остановка поиска.
• Сохранение истории и выгрузка найденных ссылок файлом.
Для загрузки страниц использованы Puppeteer и HTTP-запросы.
Поиск, сравнение и просмотр статусов доступны из Telegram. История сохраняется в базе данных, найденные ссылки можно получить файлом. Отсутствие совпадения — результат проверки алгоритма, а не гарантия уникальности объекта: объявления могут отличаться параметрами или появляться с задержкой.