Задание
Реализованный образец чат-бота homebro_rent_bot
Для выполнение работы можно взять в примеры такие парсеры:
https://github.com/HugoJBello/python-datascraping-fotocasa-idealista - приоритет
https://github.com/ramonmv04/fotocasa
https://github.com/brincowale/search-rooms
https://github.com/ethancarlsson/Idealista-WebScraper
Парсер должен работать с такими источниками:
https://www.fotocasa.es/
https://www.idealista.com/ru/
https://www.pisocompartido.com
Предусмотреть дальнейшее добавление других источников.
Требуемые данные:
загрузка информации об объектах жилой недвижимости в аренду (комнаты, квартиры) - детально смотрите ниже;
найденная парсером информация должна сохраняться на сервере;
предусмотреть выполнение смены ip адресов во время загрузки для избежания блокировок со стороны сайтов;
предусмотреть обход капчи, пример как это реализовано: https://github.com/ethancarlsson/Idealista-WebScraper
один и тот же объект недвижимости должен сохраняться один раз, если объект встречается повторно, прописывать признак дубликата позже опубликованному (требуется обсуждение). При этом не загружать пользователю дубликат;
сохранить признаки или теги “можно с животными” и “курящие”;
сохранить признак для комнат, какой пол человека ищут, либо ищут пару.
выгружать адреса объекта недвижимости который на сайте представлен в качестве зоны на GoogleMaps, либо в качестве теста (адрес также может содержаться в описании объекта) и сохранить его в качестве ссылки на google maps
создать клиентскую страницу или google form с возможностью добавить информацию об объекте вручную, либо предусмотреть добавление нового объекта в базу данных через bot (приоритет)
предусмотреть подключение дополнительных зон для загрузки (следующий район, следующий город, автономия);
предусмотреть автоматическое удаление данных через определенный период времени;
перепроверка актуальности объектов, если объект уже сдан или отсутствует, то не показывать его пользователю
Построчное описание данных на примере сайта idealista.com
идентификатор
название
фото
район
стоимость
описание
количество комнат
количество ванных комнат
квадратура
этаж
удобства как на скрине

дополнительные фотографии
наименование агентства и контакты (если есть)
признак собственник или нет
Выгрузка и настройка
предусмотреть постепенное подключение дополнительных зон для загрузки (следующий район, следующий город, автономия);
должен быть предусмотрен удобный доступ к результатам работы парсера с целью запуска в документах Google или иных программах для предварительного анализа данных.
Сортировка результатов
Сортировка результатов будет осуществляться согласно запросу клиента из чат-бота.
Основные данные для настройки
бюджет
комната, квартира, и то и то
в случае комнат (разрешено ли для пары, с детьми, с домашними животными) комнаты для мужчин, комнаты для женщин
количество комнат
от собственника или агентства
заны транспорта (1, 2 …. 6)
линии метро или поезда
расстояние до метро или поезда
станции метро или поезда
район города
сортировка квартир или комнат по параметру с мебелью или нет (задача для нейросети)
с гаражом или без
настройки фильтрации и сортировки должны сохраняться в базе данных для пользователей. Также нужно сохранять информацию о пользователях.
Уже отсортированная информация, согласно настройкам пользователя, должна быть доступна для запроса со стороны сервера, также если произошли изменения. Т.е если появились новые варианты недвижимости (квартиры, комнаты), то новые данные должны попасть в выборку и должны быть загружены чат-ботом, если пользователь еще не остановил работу бота.
Дополнительно
Требование к серверу
сервер должен предусматривать большую нагрузку со стороны запросов пользователей чат-бота (запрос ведущий к сортировке данных или запрос на получения информации из базы)
настройка прав доступа: пользователь, администратор и разработчик
база данных должна быть переведена в пользование заказчика.
административные доступы должны быть переданы заказчику