LINUX.ORG.RU

Запуск sberbankPDF2Excel.py в Linux: благодарность micronekodesu и ещё раз о Питоне

 , ,


3

1

Привет, ЛОР.

С некоторых пор Сбербанк-онлайн выпилил «физикам» возможность сохранения выписок в структурированных форматах, оставил только PDF. Разработчик, публикующийся на Гитхабе под именем Ev2geny, создал программу на Питоне, конвертирующую этот PDF в форматы xlsx и csv. К сожалению, внятную сборку он сделал только для Windows, а инструкция по запуску под линуксом у меня не заработала.

К счастью, @micronekodesu откликнулся на мою проблему и написал мини-инструкцию по запуску sberbankPDF2Excel.py в виртуальном окружении. Я её протестировал – работает, в CSV сохраняет.

Однако на вопрос по ссылке (заданный в контексте дискуссии о лучшем способе распространения программ на Питоне)

просто из-за того что я питоняша у меня не возникает проблем?

Мой ответ – «видимо, да». Я бы без инструкции долго блуждал в трёх соснах. И мне кажется, что сишную программу, запакованную в AppImage, запустить реально проще, чем вот это вот. Не только для «простого пользователя», но и для продвинутого.

Ещё раз спасибо @micronekodesu! Ну и автору программы, конечно, хотя я не уверен, что он читает ЛОР.

P.S. Та тема уже в архиве и отвечать там нельзя. Иначе я бы просто оставил там комментарий. С другой стороны, я уверен, что я не единственный линуксоид, пользующийся Сбербанком, поэтому дополнительный пиар способу обхода его закидонов :) не помешает.

P.P.S Под firefox Сбербанк-онлайн создаёт битые PDF. Под chromium всё прекрасно работает. Это замечание, конечно, уже не по тематике нашего форума, хотя… как мы радовались когда-то, что монополии IE пришёл конец… Эхъ…

★★★★★

Последнее исправление: hobbit (всего исправлений: 1)

Разработчик, публикующийся на Гитхабе под именем Ev2geny, создал программу на Питоне, конвертирующую этот PDF в форматы xlsx и csv

А чем pandoc не угодил?

posixbit ★★★
()
Ответ на: комментарий от posixbit
Unknown input format pdf
Pandoc can convert to PDF, but not from PDF.

А кроме того, сабжевый скрипт не просто извлекает из PDF текстовый слой, а ещё и структурирует его, убирает мусор, приводит к табличному виду. Там модули для разных видов сберовских выписок есть.

hobbit ★★★★★
() автор топика
Последнее исправление: hobbit (всего исправлений: 3)

Для знакомого питоном это действительно рутина на три строчки, создать venv, поставить зависимости, запустить скрипт.

Мне кажется это лень/нежелание/незнание автора скрипта про линукс. Не сложно написать баш скрипт/мейкфайл или инструкцию с этими тремя строчками.

Но ведь какой-нибудь теоретически кроссплатформенный сишный код который разрабатывался под линуксом, но может быть собран в винде собрать без знаний и инструкций там тоже сложно.

masa ★★
()
Ответ на: комментарий от masa

В случае кроссплатформенного сишного кода автор может сделать AppImage для линукса и Portable ZIP для винды, и 99,9% пользователей тогда вообще не придётся ничего собирать и даже конфигурировать: запустил и наслаждайся!

Возможно, и для питона так можно, я не в курсе. Тогда действительно вопрос к автору программы, почему для винды он такое сделал, а для линукса нет. :)

hobbit ★★★★★
() автор топика
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от amd_amd

Тем, что CSV я могу в свою программу/БД загрузить и выдёргивать всё, что надо, например. Да даже тупо в том же Excel или Libre Calc открыть и крутить как захочу.

PDF он строго для чтения и печати.

hobbit ★★★★★
() автор топика
Ответ на: комментарий от hobbit

в том же Excel или Libre Calc открыть и крутить как захочу

В Master PDF Editor можно редактировать PDF и без конвертации.

posixbit ★★★
()
Ответ на: комментарий от posixbit

Ээээ… я же неспроста электронные таблицы назвал, а не редакторы.

Мне не надо их редактировать в том смысле, в каком говорят о редактировании текстовых документов. Мне нужно анализировать массив численных (в данном случае финансовых) данных. PDF тут ну совсем-совсем мимо.

hobbit ★★★★★
() автор топика

создаёт битые PDF

А это точно pdf? Попробуй их как то открыть сделай расширение *.xls - мне так озон отдавал пдфки, а по факту это были *.xls.

Ygor ★★★★★
()

Так вроде это нормальная ситуация, что скрипт на питоне работает только у автора.

ya-betmen ★★★★★
()
Ответ на: комментарий от hobbit

почему для винды он такое сделал, а для линукса нет. :)

Рецепт Лучший способ распространения СПО на Python для разных ОС? (комментарий) подходит для 99% софта на питоне

Это штатный способ установки

Зачем запаковывать скрипт в бинарник, кроме как для скрытия кода?

upd:

подходит для 99% софта на питоне

Только обычно я ещё читаю список зависимостей, которые нужно установить (requirements.txt). Если там популярные модули - одно дело, а какой-нибудь mitogen - совсем другое :)

router ★★★★★
()
Последнее исправление: router (всего исправлений: 2)

я для этого сделал скрипт на перле и загонял в gnucash

но теперь перестал, да и скрипт за 7 лет безнадежно протух - Запилил говноскрипт на перле, чтоб посмотреть как там дела на сберовских картах

sergej ★★★★★
()
Последнее исправление: sergej (всего исправлений: 1)
Ответ на: комментарий от sergej

точнее не совсем для этого, мой скрипт запускал по крону бравзер и прям из него делал дампы, которые дальше шли в gnucash

sergej ★★★★★
()
Ответ на: комментарий от hobbit

Говорят, ИИ-шки c этим неплохо справляются. Даже фото счет-фактуры можно скормить и спросить нужное. Статья была на хабре месяц-два назад. Если найду в журнале, дополню ссылкой.

ALiEN175
()
Ответ на: комментарий от ALiEN175

Они тебе конечно сконвертируют, только тебе придётся вручную всё проверять что ни одно из чисел не оказалось переврано или выдумано.

firkax ★★★★★
()
Ответ на: комментарий от firkax

ну недаром на штрих-кодах контрольная цифра есть. Можно похожим образом и ИИ натаскать. Типа - просуммируй и сравни с итогом. Не сошлось - давай по-новой.

ALiEN175
()
Последнее исправление: ALiEN175 (всего исправлений: 1)
Ответ на: комментарий от Ygor

Попробуй их как то открыть сделай расширение *.xls

Проще: есть команда file имя_файла. Она расскажет, что за файл.

novus ★★
()
Ответ на: комментарий от ALiEN175

Можно похожим образом и ИИ натаскать. Типа - просуммируй и сравни с итогом. Не сошлось - давай по-новой.

Первая сетка парсит документ. Вторая сетка проверяет результат первой. Третья сетка проверяет работу второй. Но и третью сетку нужно бы контролировать.

Мне предстоит разобраться почему в квартплате появилось лишних 20000 ₽ за капремонт. Тоже наверно ИИ насчитал и чутка ошибся.

anonymous
()

да, распространение программ на питухоне это та ещё задачка

SpaceRanger ★★★
()

Есть утилиты для извлечения текста из pdf, в разных форматах. Да, тоже на питоне.
Этот скрипт же не скачивает отчет об операциях? Тогда и смысла в нем нет.

dmitry237 ★★★★★
()
Ответ на: комментарий от anonymous

Кто присмотрит за Смотрящими?..

hobbit ★★★★★
() автор топика
Ответ на: комментарий от sergej

aqbanking

Со Сбером сопрячь можно? Беглый гитхабогуглинг с телефона в поезде :) подсказывает, что оно вроде как под германские реалии в основном заточено.

P.S. Прочитал тему 2018 года, понял, что для этого HBCI нужен.

hobbit ★★★★★
() автор топика
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

Опакетил эту прогу для Роса.

Сначала собрал типа как для винды через pybuilder. Получился бинарник + каталог _internal в котором все зависимости. Мне не понравилось.

Собрал далее просто положив файлы из core/* в /usr/share/sberbankPDF2excel и сделал два скрипта в /usr/bin для запуска.

Надо бы еще desktop файл сделать…

irton ★★★★★
()

В репозитории находится лишь набор скриптов, а не правильно оформленная программа/модуль в смысле требований Python.

Отсутствуют setup.cfg и pyproject.toml — файлы, описывающие модуль, без которых с ним нельзя работать стандартными средствами.

Если бы они были, вы бы могли собрать или установить программу одной командой, а также «отпакетить» её в портативный .pyz-файл.

ValdikSS ★★★★★
()

То что увидел в мини-инструкции чуть ли не дефолт для питона и каждая первая-вторая программа так и запускается.

anonymous_sama ★★★★★
()
Ответ на: комментарий от ValdikSS

https://github.com/Ev2geny/Sberbank2Excel/pull/63

Как только изменения примут, достаточно будет

pip install git+https://github.com/Ev2geny/Sberbank2Excel

Программа автоматически установится в ~/.local/bin/Sberbank2Excel, и можно запускать её просто как Sberbank2Excel

Также можно легко сделать wheel, .pyz, и т.п.

ValdikSS ★★★★★
()
Последнее исправление: ValdikSS (всего исправлений: 1)

создал программу на Питоне, конвертирующую этот PDF в форматы xlsx и csv. К сожалению, внятную сборку он сделал только для Windows, а инструкция по запуску под линуксом у меня не заработала.

Это как вообще возможно? Что-то из дотнет к коду питона прикрутил?

One ★★★★★
()
Ответ на: комментарий от One

Там инструкция убунтоспецифичная, с установкой дополнительных пакетов. Я пытался сделать поправку на арчеподобные, но что-то всё равно не заработало. Что именно, теперь уже не вспомню. Но в любом случае инструкция от @micronekodesu работает.

Ну и если ты сходишь по ссылке на сайт программы из ОП, там из README сразу понятно, что по умолчанию предполагается запуск из-под винды, линукс упоминается мельком.

hobbit ★★★★★
() автор топика
Последнее исправление: hobbit (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.