Парсер
Требуется написать парсер.
ТЗ:
Парсер - полностью независимое приложение.
Основная задача сбор информации о банковских продуктах представленной на сайте banki.ru (далее “сайт”)
Режим работы
Парсер может работать в автоматическом режиме (cron), также можно включить принудительный запуск парсера вручную.
В автоматическом режиме задаётся частота запуска нового обхода парсером сканируемого сайта (в часах).
Пример: парсер автоматически раз в неделю ночью начинает сбор новых ссылок на продукты.
Продукты
На сайте представлено несколько продуктов, но парсер может работать с 4-я:
1. Потребительские кредиты (далее “кредиты”) - http://www.banki.ru/products/credits/
2. Автокредиты - http://www.banki.ru/products/autocredits/
3. Ипотека - http://www.banki.ru/products/hypothec/
4. Вклады - http://www.banki.ru/products/deposits/
Примеры карточек отдельных продуктов
1. Потребительский кредит - http://www.banki.ru/products/credits/credit/2290/
2. Автокредит - http://www.banki.ru/products/autocredits/credit/2491670/
3. Ипотека - http://www.banki.ru/products/hypothec/credit/7758297/
4. Вклад - http://www.banki.ru/products/deposits/deposit/12995/
Задачи
Парсер может автоматически выполнять следующие задачи:
1. Сбор списка ссылок для всех типов продуктов представленных на сайте (например: получить список всех вкладов на сайте)
2. Получения полной информации по каждому из четырех продуктов.
3. Проверка на ошибки полученной информации и при выявлении делать повторный запрос.
4. Проверка на валидность полученной информации и при появлении невалидных данных отправлять на e-mail сообщение об этом.
5. Записывать проверенные данные в json файлы
Принцип работы
Включившись либо по расписанию либо при нажатии “кнопки” администратором, парсер сначала собирает список ссылок всех продуктов (от одного до четырех в зависимости от настроек). Далее начинает обход по полученному списку записывая в json файлы информацию по каждому продукту.
Настройки:
1. Пауза между запросами к сайту устанавливаемая интервалом в секундах
2. Задание прокси-сервера
3. E-mail, на который будут приходить уведомления.
Технические требования:
1. Предпочтительный фреймворк – Yii2
2. Парсер оформлен в виде независимого модуля и будет работать на отдельном домене