GithubHelp home page GithubHelp logo

hsadok / guiabolso2csv Goto Github PK

View Code? Open in Web Editor NEW
36.0 36.0 17.0 1.08 MB

Baixe os dados de transações do GuiaBolso em formato csv ou xlsx (Excel).

License: GNU General Public License v3.0

Python 100.00%
csv excel finance guiabolso

guiabolso2csv's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

guiabolso2csv's Issues

date field

All in all the program works well and I'm very pleased, however, the date field does not download correctly. For instance, the day 30/06/2017 is downloaded as "1498791600000".
I've noticed that each date changes by an increment of 86400000, which is the number of seconds in a day multiplied by 1000. For my data, I managed to identify the date of one transaction and then manage to convert the date for all the other records. I hope this helps and thanks again for this routine.

Criar lançamentos em conta manuais

Olá Hugo, parabéns pelo projeto. Voltei a usar o guiabolso e o seu aplicativo me ajuda muito.

Chegou a considerar alguma forma de criar lançamentos em conta manuais via script?
Exemplo: importar um csv/ofx de uma conta não suportada.

Muito obrigado

Parou de funcionar

Após uma atualização do guia bolso, o script parou de funcionar.
Retorno:
Traceback (most recent call last):
File "/usr/local/bin/guiabolso2csv", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 829, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/guiabolso2csv/main.py", line 40, in main
gb = GuiaBolso(email, password)
File "/usr/local/lib/python3.7/dist-packages/guiabolso2csv/guia_bolso.py", line 71, in init
for account in self.statements:
TypeError: 'NoneType' object is not iterable

check so as to not export months with no records

Hugo,
This isn't an issue per say, but it would be great if the program checked if the month had any records before downloading. Perhaps it could even download the CSV, but then immediately check the file for size and, depending on the value, delete it.
I find myself constantly reclassifying things in GuiaBolso and something like this would allow me to create a bat with the 2013 initial date and 2018 end date, for instance, and it would always download the appropriate months. A desired equivalent would be to "download all" existing data, in separate month files (which I believe would require smaller changes to coding), or all at once in a single CSV (at the time, I post process and merge all CSVs into one single database)
Thanks again, this program is great!
Diogo

Utilização de selenium

Não sei como está sua intenção de continuar com o projeto mas acredito que com selenium seria possível resolver essa "validação".

Abs.

Issue running

Hugo,
I don't know if you're still maintaing this, but I had an issue running GuiaBolso... it didn't run, giving multiple errors (printfile, then couldn't import guiabolso archive, etc...). If you're still keeping this going, any help is much appreciated!
Kind rgds and happy new year,
Diogo

Comando: Intervalo de Meses

Hugo,

O uso básico está funcionando (entrando no guiabolso e fazendo o download em csv de um mês específico), mas os comandos mais sofisticados de intervalo de meses volta com o seguinte erro abaixo:

Traceback (most recent call last):
File "c:\program files\python\python37\lib\site-packages\pkg_resources_init_.py", line 583, in build_master
ws.require(requires)
File "c:\program files\python\python37\lib\site-packages\pkg_resources_init
.py", line 900, in require
needed = self.resolve(parse_requirements(requirements))
File "c:\program files\python\python37\lib\site-packages\pkg_resources_init_.py", line 791, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (guiabolso2csv 0.6 (c:\users\diogo.barreto\appdata\roaming\python\python37\site-packages), Requirement.parse('guiabolso2csv==0.5'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Program Files\Python\Python37\Scripts\guiabolso2csv-script.py", line 6, in
from pkg_resources import load_entry_point
File "c:\program files\python\python37\lib\site-packages\pkg_resources_init_.py", line 3191, in
@call_aside
File "c:\program files\python\python37\lib\site-packages\pkg_resources_init
.py", line 3175, in call_aside
f(*args, **kwargs)
File "c:\program files\python\python37\lib\site-packages\pkg_resources_init
.py", line 3204, in _initialize_master_working_set
working_set = WorkingSet.build_master()
File "c:\program files\python\python37\lib\site-packages\pkg_resources_init
.py", line 585, in _build_master
return cls.build_from_requirements(requires)
File "c:\program files\python\python37\lib\site-packages\pkg_resources_init
.py", line 598, in build_from_requirements
dists = ws.resolve(reqs, Environment())
File "c:\program files\python\python37\lib\site-packages\pkg_resources_init
.py", line 786, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'guiabolso2csv==0.5' distribution was not found and is required by the application

Se conseguir dar uma olhada, agradeço imensamente. Aproveito também para desejar um Feliz 2021!

EventNotFound

Ao solicitar uma extração apresenta eventNotFound

image

"KeyError: 'errorMessage'" in setup test drive

Olá!

Antes de mais nada, obrigado por fazer um projeto para isso!

Sobre o meu problema, eu simplesmente dei pip install, fiz o que o README fala e deu o erro a seguir

Abs!


Traceback (most recent call last):
File "C:\Users\resource\AppData\Local\Programs\Python\Python38-32\Scripts\guiabolso2csv-script.py", line 11, in
load_entry_point('guiabolso2csv==0.4', 'console_scripts', 'guiabolso2csv')()
File "C:\Users\resource\AppData\Local\Programs\Python\Python38-32\lib\site-packages\click\core.py", line 764, in call
return self.main(*args, **kwargs)
File "C:\Users\resource\AppData\Local\Programs\Python\Python38-32\lib\site-packages\click\core.py", line 717, in main
rv = self.invoke(ctx)
File "C:\Users\resource\AppData\Local\Programs\Python\Python38-32\lib\site-packages\click\core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "C:\Users\resource\AppData\Local\Programs\Python\Python38-32\lib\site-packages\click\core.py", line 555, in invoke
return callback(*args, **kwargs)
File "C:\Users\resource\AppData\Local\Programs\Python\Python38-32\lib\site-packages\guiabolso2csv_main_.py", line 40, in main
gb = GuiaBolso(email, password)
File "C:\Users\resource\AppData\Local\Programs\Python\Python38-32\lib\site-packages\guiabolso2csv\guia_bolso.py", line 54, in init
self.login()
File "C:\Users\resource\AppData\Local\Programs\Python\Python38-32\lib\site-packages\guiabolso2csv\guia_bolso.py", line 100, in login
print(response['error']['errorMessage'])
KeyError: 'errorMessage'

Trazer a data

Amigo sensacional sua raspagem e veio a meu ajudar muito, mas as datas estão num formato que não é timestamp, como consigo pegar as datas certas?

Campo de data

Hugo,

Utilizando a função básica, reparei que o campo de data está vindo de forma incorreta. Ele tem uma coerência entre as datas de um mesmo mês -- se dividir a diferença entre datas por 24x60x60x1000 (milisegundos) --, mas entre meses não achei um padrão. Deve ser algum outro campo/código interno do site. Se puder dar uma olhada nisso também, seria ótimo!

Muito obrigado por manter o projeto vivo, ele tem sido muito importante para arquivar minhas contas a cada 6m. Desejo também um Feliz 2021!

Não valida nem extrai o arquivo

Faço o procedimento coloco login e senha, porém aparece essa mensagem:

Traceback (most recent call last):
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in run_code
exec(code, run_globals)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\Scripts\guiabolso2csv.exe_main
.py", line 7, in
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1128, in call
return self.main(*args, **kwargs)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1053, in main
rv = self.invoke(ctx)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 754, in invoke
return callback(*args, **kwargs)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\guiabolso2csv_main
.py", line 40, in main
gb = GuiaBolso(email, password)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\guiabolso2csv\guia_bolso.py", line 55, in init
self.token = self.login()
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\guiabolso2csv\guia_bolso.py", line 107, in login
response = self.session.post(url, headers=headers, data=payload).json()
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\models.py", line 910, in json
return complexjson.loads(self.text, **kwargs)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\json_init
.py", line 346, in loads
return _default_decoder.decode(s)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

C:\Users\asrpj>guiabolso2csv --email [email protected] --year 2021 --month 11
Password:
Password:
Traceback (most recent call last):
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in run_code
exec(code, run_globals)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\Scripts\guiabolso2csv.exe_main
.py", line 7, in
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1128, in call
return self.main(*args, **kwargs)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1053, in main
rv = self.invoke(ctx)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 754, in invoke
return callback(*args, **kwargs)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\guiabolso2csv_main
.py", line 40, in main
gb = GuiaBolso(email, password)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\guiabolso2csv\guia_bolso.py", line 55, in init
self.token = self.login()
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\guiabolso2csv\guia_bolso.py", line 107, in login
response = self.session.post(url, headers=headers, data=payload).json()
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\models.py", line 910, in json
return complexjson.loads(self.text, **kwargs)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\json_init
.py", line 346, in loads
return _default_decoder.decode(s)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

C:\Users\asrpj>guiabolso2csv --email [email protected] --year 2021 --month 11
Password:
Traceback (most recent call last):
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in run_code
exec(code, run_globals)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\Scripts\guiabolso2csv.exe_main
.py", line 7, in
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1128, in call
return self.main(*args, **kwargs)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1053, in main
rv = self.invoke(ctx)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 754, in invoke
return callback(*args, **kwargs)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\guiabolso2csv_main
.py", line 40, in main
gb = GuiaBolso(email, password)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\guiabolso2csv\guia_bolso.py", line 55, in init
self.token = self.login()
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\guiabolso2csv\guia_bolso.py", line 107, in login
response = self.session.post(url, headers=headers, data=payload).json()
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\models.py", line 910, in json
return complexjson.loads(self.text, **kwargs)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\json_init
.py", line 346, in loads
return _default_decoder.decode(s)
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\asrpj\AppData\Local\Programs\Python\Python310\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.