Общее описание задачи
Вам предстоит разработать веб-сервис (робота), который автоматизирует выгрузку данных из складской программы. Программа не предоставляет API, поэтому единственный способ получить данные - вручную зайти в каждый раздел и скачать CSV-файл через пользовательский интерфейс.
Функциональные требования
- Робот должен эмулировать действия пользователя: логиниться в складской программе под учетной записью.
- Переходить в 11-12 фиксированных разделов и нажимать кнопку «Скачать CSV».
- Дожидаться завершения скачивания каждого файла.
- Обрабатывать полученные CSV-файлы: вставлять данные в соответствующие Google-таблицы на определенные листы.
- Таблицы в Google Sheets могут быть большими: до 200 МБ каждая, до 250 тысяч строк - это нужно учитывать при реализации (например, пакетная загрузка, учёт лимитов).
- Интервал обновления должен настраиваться пользователем отдельно для каждой таблицы (например, раз в 1, 6 или 24 часа).
- Сервис обязан работать полностью в облаке, без десктопных приложений (подходит любая серверная среда).
- Желательно использовать Python в связке с серверным движком (Flask/Django/FastAPI) и планировщиком задач (APScheduler, Celery или аналогами).
Объем работ
Раньше задача уже была реализована и стабильно работала 3-4 года. Разработчик прекратил поддержку, сервер удалён, но PDF-схемы, логи, настройки и примеры скриптов от него сохранились в виде архива у заказчика. Требуется восстановить работоспособность системы, доработав или переписав код с нуля с соблюдением современных подходов к безопасности и устойчивости.