guilhermecgs / ir

Projeto de calculo de Imposto de Renda em operacoes na bovespa automaticamente. Tags:canal eletronico do investidor, CEI, selenium, bovespa, IRPF, IR, imposto de renda, finance, yahoo finance, acao, fii, etf, python, crawler, webscraping, calculadora ir
Mozilla Public License 2.0
169 stars 45 forks source link

Login CEI-B3 com reCAPTCHA #10

Closed renanleonellocastro closed 3 years ago

renanleonellocastro commented 3 years ago

Opa, beleza guilherme e comunidade, tudo bem?

Já conversamos há um tempo sobre o sistema de cálculo de imposto que estamos fazendo parecido.

To criando essa issue para perguntar se vocês já se depararam com uma característica nova agora do login no cei-b3, o sistema está requerindo uma solução de recaptcha. Vocês já chegaram a implementar algo para isso? Eu ainda estou pensando em como fazer isso, queria trocar umas ideias para ver qual seria a melhor solução para isso.... Esbarrei com esse problema hoje ao testar o sistema (https://github.com/renanleonellocastro/darf_generator). Criei uma issue para isso tbm lá.

guilhermecgs commented 3 years ago

Bem problematico isso...

o reCAPTCHA foi feito exatamente para evitar o que estamos tentando fazer, entao é bem provavel que seja bem dificil contorna-lo na forca bruta. Alguns sites e links fornecem algumas tentativas, mas no fim das contas qualquer solucao seria prontamente respondida por uma atualizacao do google no reCAPTCHA. Daria para tentar algo pela posicao do checkbox na pagina, mas o reCAPTCHA é inteligente... Se vc rodar em uma aba anonima ele ja pede outras coisas mais complexas.

O unico jeito que vejo é uma execucao manual do script no selenium com chrome headless=false. Ou seja, eu coloco o codigo para rodar na minha maquina e quando entrar no reCAPTCHA eu manualmente digito e depois deixo o script continuar a execucao automatica. Iria funcionar imagino eu, mas teria que ter uma minima intervencao manual.

Agora, que foda essa b3 hein... so faz merda. Em vez de liberar uma API eles so pioram... Tem varios sites que dependem disso

renanleonellocastro commented 3 years ago

Eu pensei nisso também, em colocar a intervenção manual. Acho que é a única forma. Eu cheguei a fazer isso já no sistema da receita para gerar o boleto, mas no caso do cei vai ser mais complexo devido a ser o reCAPTCHA do google e ele ser variável no que ele pede de resposta.... Estou um pouco preocupado de isso agora ferrar com o sistema...

renanleonellocastro commented 3 years ago

Achei esse sistema aqui também que parece que já adicionou um tratamento para o recaptcha. Não sei se funciona pois não testei ainda, mas vale o teste acho. https://github.com/gicornachini/bolsa

guilhermecgs commented 3 years ago

ok..

sobrando um tempo eu vou usar o codigo do link para testar...

renanleonellocastro commented 3 years ago

:+1:

dalmago commented 3 years ago

Olá pessoal. Entrando na discussão aí, vocês já chegaram a testar essa API?

renanleonellocastro commented 3 years ago

Opa, beleza dalmago? Obrigado por compartilhar isso, não conhecia. Aparentemente será um serviço pago isso ai, confere?


image


guilhermecgs commented 3 years ago

@dalmago , boa

tinha visto algo no passado, mas ainda estava muito cru. Agora me pareceu que está caminhando, apesar de ainda estar em beta. Nao me importaria de pagar alguns centavos para o acesso.

Vou pedir para testar

guilhermecgs commented 3 years ago

mandei email para o pessoal da B3, mas deve demorar a responder.

As apis que nao possuem dados privados estao funcionando, mas o acesso a conta de um usuário (dados privados) é obviamente mais complexo. Vc (desenvolvedor/empresa) tem que se cadastrar no site da B3 em um pacote de acesso. Ainda nao sei exatamente como fazer, por isso o email.

Uma vez tendo esse pacote de acesso, vc utiliza o client_id que foi fornecido para abrir uma janela da B3 onde o usuário final autoriza vc (desenvolvedor/client_id) a acessar os dados. Essa autorizacao é feita por login/senha (do usuário final).

Com isso o desenvolvedor poderá solicitar tokens de acesso e seguir ....

franciswagner commented 3 years ago

Salve @guilhermecgs, Pra fazer voltar a funcionar o login com o CEI basta utilizar essa url: https://ceiapp.b3.com.br/CEI_Responsivo/login.aspx

A B3 criou um servidor espelho sem o captcha justamente para bots utilizarem. A url antiga (com captcha) estava sendo afetada pela quantidade de acessos.

guilhermecgs commented 3 years ago

so de curiosidade, como tu descobriu isso?

franciswagner commented 3 years ago

@guilhermecgs Eu trabalho no App Renda Fixa e tenho contatos com o pessoal da B3.

renanleonellocastro commented 3 years ago

Que bacana @franciswagner! Obrigado por compartilhar conosco. Isso vai salvar o projeto hehe

mathmach commented 3 years ago

Salve @guilhermecgs, Pra fazer voltar a funcionar o login com o CEI basta utilizar essa url: https://ceiapp.b3.com.br/CEI_Responsivo/login.aspx A B3 criou um servidor espelho sem o captcha justamente para bots utilizarem. A url antiga (com captcha) estava sendo afetada pela quantidade de acessos.

pq eles nao soltam uma api logo?

eles estão fazendo a API, mas ainda esta em teste https://developers.b3.com.br/

julianogv commented 2 years ago

Salve @guilhermecgs, Pra fazer voltar a funcionar o login com o CEI basta utilizar essa url: https://ceiapp.b3.com.br/CEI_Responsivo/login.aspx A B3 criou um servidor espelho sem o captcha justamente para bots utilizarem. A url antiga (com captcha) estava sendo afetada pela quantidade de acessos.

pq eles nao soltam uma api logo?

eles estão fazendo a API, mas ainda esta em teste https://developers.b3.com.br/

Sabe se essa API estará disponivel para pessoa fisica acessar seu proprio dado ou somente para parceiros da B3 (igual o open banking)?

guilhermecgs commented 2 years ago

@julianogv , @mathmach , @franciswagner

por acaso ja estao com acesso a essa API da B3?

mdmota commented 2 years ago

@julianogv , @mathmach , @franciswagner

por acaso ja estao com acesso a essa API da B3?

Acesso sim, mas com varias duvidas. o suporte deles é bem confuso. Mas nao esta completa ainda. Voce ja integrou?

julianogv commented 2 years ago

@julianogv , @mathmach , @franciswagner por acaso ja estao com acesso a essa API da B3?

Acesso sim, mas com varias duvidas. o suporte deles é bem confuso. Mas nao esta completa ainda. Voce ja integrou?

@mdmota @guilhermecgs não, pelo que consegui entender do que conversei com o suporte deles o acesso será somente para empresas que contratarem o serviço ($).

Você fez desta forma?

mdmota commented 2 years ago

Sim, somente para empresa. e só respondem se as duvidas forem enviadas pelo dominio da empresa.

guilhermecgs commented 2 years ago

ai ferrou hein! que falta de consideracao com dev pessoa fisica.

vamos ver quanto tempo ainda deixam o CEI funcionando

mdmota commented 2 years ago

Eu tinha entendido que dezembro ja sairia a versao release.

julianogv commented 2 years ago

@mdmota sabe me dizer se tem algum filtro para que somente empresas consideradas fintech/bancos/corretoras possam contratar esta API ou qualquer empresa de qualquer ramo/tamanho pode contratar?

mdmota commented 2 years ago

Não sei te dizer. Pelo menos na apresentação não falaram de algum impedimento.