henriquebastos / itauscraper

Scraper para baixar seus extratos do Itaú com um comando.
GNU Lesser General Public License v3.0
196 stars 30 forks source link

Erro quando não tem Cartão de Crédito #2

Closed GuidoBR closed 6 years ago

GuidoBR commented 7 years ago

Ao rodar o itauscrapper numa conta sem cartão de crédito, recebo essa mensagem de erro:

Traceback (most recent call last):
  File "/home/guido/.pyenv/versions/tools3/bin/itauscraper", line 11, in <module>
    load_entry_point('itauscraper==1.0', 'console_scripts', 'itauscraper')()
  File "/home/guido/.pyenv/versions/3.6.1/envs/tools3/lib/python3.6/site-packages/itauscraper/cli.py", line 48, in main
    summary, data = itau.cartao()
  File "/home/guido/.pyenv/versions/3.6.1/envs/tools3/lib/python3.6/site-packages/itauscraper/scraper.py", line 78, in cartao
    url = page.url_menu_current()
  File "/home/guido/.pyenv/versions/3.6.1/envs/tools3/lib/python3.6/site-packages/itauscraper/pages.py", line 99, in url_menu_current
    return self._url_menu('atuais')
  File "/home/guido/.pyenv/versions/3.6.1/envs/tools3/lib/python3.6/site-packages/itauscraper/pages.py", line 93, in _url_menu
    href = nl[-1]
IndexError: list index out of range
gabrielpaivadev commented 6 years ago

Mesmo erro aqui.

lucasrcezimbra commented 6 years ago

Por algum motivo, quando a conta não tem cartão de crédito associado, no menu não aparece a opção Saldo / Extrato. Menus COM/SEM Saldo Itaú

E a URL usada no itauscraper (https://ww70.itau.com.br/M/SaldoExtratoLancamentos.aspx) redireciona para esse erro: error-itauscraper

Porém, nesse caso, temos uma URL (https://ww70.itau.com.br/M/relacaocomprovantes.aspx) com os comprovantes dos últimos 90 dias onde podemos pegar os dados.

Eu vou tentar abrir um PR corrigindo isso.

lucasrcezimbra commented 6 years ago

Testei aqui e a URL dos comprovantes (https://ww70.itau.com.br/M/relacaocomprovantes.aspx) que eu havia citado mostra somente transferências e depósitos, não mostra os itens do cartão de débito, então creio que não sirva para o scraper :cry::cry:

Outra opção é tentar usar a API do app mobile para pegar o extrato. Vou testar a viabilidade disso.

gabrielpaivadev commented 6 years ago

Qualquer novidade sobre a API, joga aqui @Lrcezimbra

ludufre commented 6 years ago

@Lrcezimbra conseguiu evoluir nisso? Estou apanhando com o Wireshark sem sucesso...

lucasrcezimbra commented 6 years ago

@ludufre ainda não tive tempo de ver isso, se conseguir evoluir eu comento aqui. Nunca usei o Wireshark, normalmente uso o Chales ou o Fiddler, talvez te ajudem.

henriquebastos commented 6 years ago

Isso não funciona mais. Tô começando a rascunhar uma alternativa em #8.