4.7 KiB
Sber History To Excel
Проект уже развернут на сервере:
https://sber.gb.7af.ru/
Веб-интерфейс выгружает историю операций СберБанк Онлайн за выбранный месяц и скачивает ZIP-архив. Внутри архива лежат:
.xlsxс основными полями операций.jsonсо списком всех операций в том виде, в котором они пришли из API
Как пользоваться
- Установите расширение Chrome Get cookies.txt LOCALLY.
- Откройте СберБанк Онлайн и авторизуйтесь.
- Скопируйте cookies через расширение.
- Откройте https://sber.gb.7af.ru/.
- Вставьте cookies в поле формы.
- Выберите месяц и скачайте ZIP-архив.
Формат cookies определяется автоматически. Поддерживаются:
- Netscape
cookies.txt - JSON-массив cookies
- обычный HTTP-заголовок
Cookie
После вставки cookies форма сразу проверяет, сможет ли сервер распарсить введенный формат.
Что делает экспорт
- Получает операции через API истории операций Сбера.
- Забирает данные постранично.
- Оставляет только операции за выбранный месяц.
- Убирает дубли по идентификатору операции.
- Формирует Excel-файл и JSON со всеми исходными данными операций.
- Отдает результат ZIP-архивом.
В Excel попадают основные поля операции:
- дата
- получатель
- описание
- сумма операции
- валюта
- сумма в RUB
- бонусы Спасибо
- счет
- остаток после операции
- статус
- тип операции
- код категории
- ID операции
Безопасность cookies
Cookies дают доступ к аккаунту СберБанк Онлайн в рамках активной сессии. Не сохраняйте их в коде, репозитории или публичных чатах.
В веб-интерфейсе cookies используются для запроса к Сберу и не сохраняются в файлы экспорта.
Возможные ошибки
Если cookies устарели, Сбер может вернуть ошибку авторизации. В этом случае нужно снова войти в СберБанк Онлайн в браузере, скопировать свежие cookies и повторить экспорт.
Если форма пишет, что cookies не удалось распарсить, проверьте, что вы вставили полный текст cookies из расширения.
Технические подробности
Локальный запуск веб-интерфейса
.venv/bin/python web_app.py
После запуска откройте:
http://127.0.0.1:8000
Запуск через Docker Compose
docker compose up --build
После запуска интерфейс будет доступен здесь:
http://127.0.0.1:8000
В Docker файлы экспорта сохраняются в named volume sberhistorytoexcel_sber-history-data. В volume остается только ZIP-архив; временные .xlsx и .json сохраняются только внутри архива.
Остановить контейнер:
docker compose down
Использование из кода
from load_data import SberMonthHistoryExporter
exporter = SberMonthHistoryExporter()
output_path = exporter.save_month(2026, 5, "sber_may_2026.xlsx")
print(output_path)
Можно отдельно получить операции без сохранения:
from load_data import SberMonthHistoryExporter
exporter = SberMonthHistoryExporter()
operations = exporter.fetch_month(2026, 5)
print(len(operations))
Требования для локального запуска
- Python 3.10+
requests
Установка зависимости:
python3 -m pip install requests