Kokoc.tech
500 000
Недвижимость
Россия, Екатеринбург
Январь 2023
Для сервиса по поиску недвижимости нужно постоянно собирать данные с сайтов конкурентов, чтобы предлагать пользователям актуальную информацию.
Нужно было разработать микросервис на Django, который собирал бы квартиры, жилые комплексы и планировки с сайта-конкурента.
Полная версия кейса: https://batonis.tech/ru/cases/property-parsing-ru
ОСОБЕННОСТИ ПРОЕКТА
1. Собранную информацию нужно “очистить”, чтобы не был заметен факт парсинга
2. Сайт-донор имеет необычную структуру: у сущностей нет сквозных идентификаторов, информация представлена на трех языках, а объем информации на разных языках может отличаться
3. В сайт встроена защита от парсинга
РЕШЕНИЕ
Мы разработали Django приложение, которое периодически обходит сайт-донор и обновляет данные. Так как сайт очень большой, парсинг был сегментирован по сущностям. Каждым сегментом можно управлять через админ-панель.
Очень много контента на сайте спрятано за интерактивными элементами: попапы, карусели и ссылки на внешние ресурсы. Чтобы решить эту проблему мы использовали Selenium – инструмент для автоматизированного управления браузерами. С его помощью мы эмулировали действия пользователя на сайте и доставали скрытый контент. Использование selenium так же решило проблему с защитой от парсинга сайта - при наличии кликов по странице программа не определялась как робот.
Собранные данные проходили обработку через два дополнительных сервиса: рерайтер и переводчик. Так как контент на сайте-доноре отличается в зависимости языка, возникают ситуации, когда поле в объекте заполнено только на одном языке. После парсинга мы проводим перекрестную проверку между языковыми версиям и, если это возможно, заполняем пробелы в одном языке с помощью контента из другого, переводя текст в нужный язык.
После этого, с помощью нейросети, переписывались чувствительные к авторскому праву тексты. Например, описание от продавца. Для рерайтинга был использован внешний сервис из маркетплейса RapidAPI
Для удобного использования, мы делали несколько улучшений в админ панель:
- Добавили множество фильтров и колонок:
- Сделали кастомный экран с настройками:
И подготовили подробные гайды по развертыванию сервиса в инфраструктуре клиента.
Проект был сделан точно в срок и передан клиенту. Микросервис постоянно работает в ИТ инфраструктуре заказчика и обновляет данные о недвижимости. В дальнейшем мы будем создавать подобные сервисы и для других источников.
Batonis с удовольствием обсудит вашу задачу