98 lines
2.8 KiB
Markdown
98 lines
2.8 KiB
Markdown
# Sber History To Excel
|
||
|
||
Скрипт выгружает историю операций СберБанк Онлайн за выбранный месяц и сохраняет ее в один Excel-файл `.xlsx`.
|
||
|
||
## Что делает
|
||
|
||
- Получает операции через API истории операций Сбера.
|
||
- Забирает данные постранично.
|
||
- Оставляет только операции за указанный месяц.
|
||
- Убирает дубли по идентификатору операции.
|
||
- Сохраняет результат в один `.xlsx` файл.
|
||
|
||
## Требования
|
||
|
||
- Python 3.10+
|
||
- Библиотека `requests`
|
||
- Актуальный Cookie авторизованной сессии СберБанк Онлайн
|
||
|
||
Установка зависимости:
|
||
|
||
```bash
|
||
python3 -m pip install requests
|
||
```
|
||
|
||
## Настройка Cookie
|
||
|
||
Скрипт берет Cookie из переменной окружения `Cookie`.
|
||
|
||
```bash
|
||
export Cookie='твой-cookie-из-браузера'
|
||
```
|
||
|
||
Не сохраняй Cookie в коде или в репозитории: это чувствительные данные доступа к аккаунту.
|
||
|
||
## Запуск
|
||
|
||
Пример выгрузки операций за май 2026 года:
|
||
|
||
```bash
|
||
python3 load_data.py --year 2026 --month 5 --output sber_may_2026.xlsx
|
||
```
|
||
|
||
Если `--output` не указать, файл будет создан с именем:
|
||
|
||
```text
|
||
sber_operations_2026_05.xlsx
|
||
```
|
||
|
||
## Использование из кода
|
||
|
||
```python
|
||
from load_data import SberMonthHistoryExporter
|
||
|
||
exporter = SberMonthHistoryExporter()
|
||
output_path = exporter.save_month(2026, 5, "sber_may_2026.xlsx")
|
||
|
||
print(output_path)
|
||
```
|
||
|
||
Можно отдельно получить операции без сохранения:
|
||
|
||
```python
|
||
from load_data import SberMonthHistoryExporter
|
||
|
||
exporter = SberMonthHistoryExporter()
|
||
operations = exporter.fetch_month(2026, 5)
|
||
|
||
print(len(operations))
|
||
```
|
||
|
||
## Формат результата
|
||
|
||
В Excel попадают основные поля операции:
|
||
|
||
- дата
|
||
- получатель
|
||
- описание
|
||
- сумма операции
|
||
- валюта
|
||
- сумма в RUB
|
||
- бонусы Спасибо
|
||
- счет
|
||
- остаток после операции
|
||
- статус
|
||
- тип операции
|
||
- код категории
|
||
- ID операции
|
||
|
||
## Возможные ошибки
|
||
|
||
Если Cookie не задан:
|
||
|
||
```text
|
||
ValueError: Set Sber auth cookie in the Cookie environment variable.
|
||
```
|
||
|
||
Если Cookie устарел, Сбер может вернуть ошибку авторизации. В этом случае нужно снова войти в СберБанк Онлайн в браузере и обновить значение переменной `Cookie`.
|