Техническое задание: 1. Открыть нашу базу данных, 2. Взять по очереди актуальное объявления 3. перейти по ссылке на источник (циан или авито) 4. спарсить СТАТУС (актуально или снято с продажи) 5. спарсить текущую цену (если объявлние актуально) 6. обновить статус в нашей базе если он изменился 7. обновить цену в нашей базе если она изменилась
Создать эффективно-структурированную систему на основе веб-приложения, с помощью которого будет возможно регулярно получать данные по объявлениям недвижимости с сайтов объявлений авито и циан.
Частота получения данных: минимум 1-3 раза в сутки. Предполагаемое количество объявлений: около 1 миллиона.
Для того, чтобы получать данные, требуется делать HTTP-запросы к сайтам напрямую. Необходимо определить и выбрать оптимальный способ (через имитацию запросов веб-браузера или мобильного приложения), с помощью которого получится более оптимальным и эффективным образом добиться требуемого масштабирования.
В результате тестов необходимо будет выяснить внутренние лимиты и ограничения этих площадок.
Требования к кандидату: - опыт реализации подобных проектов - знания в области структуры HTTP запросов и ответов - понимание принципов ООП - достаточно глубокие знания в одном из следующих языков программирования PHP, GO, Python - достойные навыки в области веб-разработки, не исключая использование популярных инструментов (фреймворков и библиотек)
Будет плюсом: - если у вас уже есть такие наработки (особенно имитация активности/запросов мобильного приложения) - наличие команды, руководя которой вы сможете оперативно реализовать данный проект
Ресурсы для последующего масштабирования будут предоставлены непосредственно после реализации этой системы в виде готового проекта.
Нужно сделать несколько доработок к существующему и работающему проекту: 1. Парсинг в реальном времени актуальности объявления
---------------------- ----------
Стэк, используемый в проекте - PHP 7.2 - весь бэк на нем; Composer - потребуется установить один пакет (comoser.json в проекте); MYSQL - ничего сложного: транзакции, выборка данных, джойны. SSH - базовые знания на уровне найти нужную папку и найти файл. + Работа с composer само собой.
Еще используем Google Sheet API для выгрузки данных в таблицу.
В остальном это чистый PHP без использования фреймворков.