3.8 KiB
СПБ ГУП «ИАЦ»
Тестовое задание для Python-разработчика (дата аналитика)
О компании:
Государственное унитарное предприятие, работающее в области информатизации и информационного обеспечения органов государственной власти Санкт-Петербурга и других организаций, а также предоставления услуг в сфере создания и использования современных информационных и телекоммуникационных систем, средств и технологий
Более подробно о нас: https://iac.spb.ru/
Мы на Хабре: https://career.habr.com/companies/iac-spb
Текст задания:
- Парсинг
Считывание таблицы с сайта https://rosseti-lenenergo.ru/planned_work/
{width="6.818295056867892in"
height="2.37117125984252in"}
Фильтр по времени - период текущей недели (текущий день и неделя вперед)
-
Успешное чтение необходимых полей на сайте и их сохранение в pandas.DataFrame
-
Переключение между страницами и совершение полной выгрузки
{width="2.468441601049869in" height="0.49993766404199474in"}
-
Настройка автоматического запуска скрипта по расписанию
- Работа с данными
-
Парсинг столбца Улица (разбиение строки на отдельные адреса)
-
Геокод адресов через https://petersburg.ru/mainPortal/api_services/view/2223 и сохранение building_id найденных зданий
-
Запись результата в csv файл
- Анализ данных и Визуализация
- Выполнить в свободной форме на основе данных, полученных ранее
В дополнение к скрипту можно сделать дашборд на Yandex DataLens /Grafana
*Создание базы данных
-
Вместо сохранения результата в csv, развернуть базу данных и сохранять результаты в неё (PostgreSQL, Clickhouse, MongoDB)
-
(Можно сделать скелет с подключением и записью в бд на локалхосте)
*API
- Написать API к базе данных или csv-файлу на FastAPI
**Docker
-
Оборачивание всей сделанной работы в docker-compose
-
При первоначальной настройке и запуске компоуза парсер начнет работать и собирать данные в БД / csv. Доступ к данным осуществляется по API.
Результаты проделанной работы залить на Github и прислать на tg:Faneagain
//При проблемах с парсингом для выполнения остальных задач можно попросить готовый набор данных
Задания помеченные «*, **» будут оцениваться как дополнительные.
Удачи!