Comments (17)
@matheusdalzot eu já fiz uma implementação desse tipo só que usando C#. Basicamente o que você precisa fazer é um GET na página que você quer e pegar todos os headers (incluindo VIEWSTATE)e cookies da página. É importante você olhar também quais são os dados enviados no form, em alguns casos é importante enviar mesmo os inputs que você não usa e são hidden. Uma vez com esses dados na mão você pode fazer o POST na mesma página que você fez o GET.
Eu fiz essa implementação justamente porque queria algo parecido com o que você quer. O projeto rodava em um App Service no Azure, como era tudo request HTTP e não usava o browser funcionava bem de boa.
Uma outra opção que você pode explorar e continuar usando o cei-crawler é rodar dentro de um container no dokcer. Dessa forma você consegue criar uma imagem que roda o chrome e hospedar nesses provedores de Cloud.
from cei-crawler.
Opa @Menighin consegui fazer aqui :D foi mais fácil do que pensei kkkkk
from cei-crawler.
Opa, boa! hehe
Então, na verdade os métodos que são chamados na mesma instancia do CEI utilizam o mesmo login, a não ser que vc chame o método close()
entre as chamadas. Da uma olhada na documentação.
No meu app, pra resolver isso, eu criei um serviço que se certifica de usar a mesma instancia quando possivel. E caso a instancia fique idle por um tempo, ele a fecha para liberar memória. O código está aqui caso você queira olhar:
https://github.com/Menighin/stoincs/blob/master/src-electron/services/CeiCrawlerService.js
Chamar o método close
é muito importante, caso contrário você pode ter problemas com tanto chromium aberto.
Abraço!
from cei-crawler.
Opa @Menighin sim hehe eu fiz dessa forma, utilizei a mesma instância do CeiCrawler para buscar os outros dados, e usei o close()
após armazenar os dados nas variáveis hehe
Só que agora estou passando por problemas, hospedei o serviço no AppEngine do GCloud, porém ele não funciona sob demanda.
Saberia me dizer algum serviço que hospede o serviço e consiga lidar com demanda baixa de conexões simultâneas?
Preciso que ele comporte pelo menos 50 conexões ao mesmo tempo hehe
Fico agradecido
from cei-crawler.
Fala Matheus... Ou nunca precisei de algo assim... Ja tentou olhar no Heroku ou talvez algo free tier da AWS?
from cei-crawler.
Opa @Menighin pelas minhas pesquisas não detalha isso nos serviços deles, ou pelo menos eu não consegui identificar essa informação hehe
Estou verificando se consigo fazer essa parte dentro do app, a principio eu consegui efetuar o login através de postagens HTTP e enviando o Formulário junto ao URL, porém to com dificuldades agora pra validar os VIEWSTATE da tela de Negociações hehe
por algum motivo, não estou conseguindo recuperar o VIEWSTATE referente a consulta e tals
from cei-crawler.
Opa @thiagodds muito obrigado pelo seu comentário hehe eu fiz alguns testes com isso e realmente consegui ter um certo sucesso simulando as requisições via Url, peguei o form data que ele monta ao clicar em um botão e simulei enviando no próprio navegador, aparentemente funcionou, agora eu preciso testar de dentro da minha aplicação com diversas contas do CEI para ver se o resultado vai ser o mesmo para todas.
Mais uma vez obrigado por compartilhar a ideia
from cei-crawler.
Boa, a minha idéia inicial era nao usar o puppeteer nesse crawler, justamente pra limar essa dependencia do Puppeteer... Mas como tava dando muito trabalho e eu queria algo logo, fui por esse caminho... Mas ta nos planos de começar a tirar ele fora hehe
Sobre rodar o Puppeteer no Docker, parece ser bem tranquilo: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md#running-puppeteer-in-docker
from cei-crawler.
Mas a questão agora que me surgiu, sem o Puppeteer ele consegue lidar com as conexões simultâneas?
Por exemplo, ele conseguiria fazer digamos 10 solicitações e lidar com as 10 simultaneamente?
Hoje o problema é que ele tenta lidar com as 10 e acho que uma acaba cancelando a outra, mas se for uma solicitação única ele se comporta perfeitamente.
from cei-crawler.
Matheus, vc tá usando a mesma instancia do cei-crawler pras 10 requisicoes? Imagino que se vc usar uma instancia diferente pra cada requisição deva funcionar
from cei-crawler.
Sim, a principio sim, o usuário passa o token para a API e a API cria a instancia e faz a consulta e devolve pro usuário o json, porém não faço ideia de como criar uma instância pra cada solicitação.
from cei-crawler.
Se vc esta fazendo new CeiCrawler()
toda vez na sua requisicao, ele deveria estar criando um cara novo 🤔
Vou fazer uns testes locais aqui assim que possivel pra entender se esse ta sendo o comportamento mesmo
from cei-crawler.
Sim, talvez esse seja um problema do AppEngine do GCloud, apesar de cada requisição ser feita de uma máquina diferente.
Na teoria o GCloud deveria lidar com cada solicitação separadamente.
O serviço da API em si já deva funcionar como o esperado, apesar de eu ter testando usando o insomnia e fazer uma requisição por vez só, também acabei não testando solicitações em massa.
from cei-crawler.
@matheusdalzot eu testei aqui localmente com esse código:
const crawl = (id) => {
console.log(`Crawling ${id}...`)
const ceiCrawler = new CeiCrawler('usuario', 'senha', { trace: true, puppeteerLaunch: { headless: false }});
ceiCrawler.getWallet().then(res => {
console.log(`Done Crawling ${id}: ${JSON.stringify(res)}`);
})
}
for (let i = 0; i < 10; i++)
crawl(i);
e realmente foi tranquilo... Spamou 10 janelas do chromium aqui, fez o crawling e printou os resultados...
Isso indica que não é problema pro crawler/puppeteer um cenário com diversas requisições desde que vc esteja criando uma instancia do cei pra cada requisicao... Uma nao deveria interferir com a outra... Isso deve de fato ser alguma particularidade do GCloud :/
Se der compartilha com a gente o seu Controller ou algo assim.. Talvez de uma iluminada..
Recomendo tb vc ou abrir uma issue no Puppeteer ou uma pergunta no StackOverflow...
from cei-crawler.
Opa @Menighin tudo beleza?
Sim deve ser algum problema na parte deles, talvez eles sejam limitados ou algo assim :/
Talvez o ambiente configurado lá não aceite esse tipo de serviço como deveria :/
Eu sinceramente gostaria muito de saber como configurar um ambiente que suporte múltiplas solicitações, pois essa API é justamente o que estou precisando, estou tentando fazer o sistema buscar diretamente do app, porém estou tendo dificuldades em ajustar os cookies e sessões, pois sempre que eu tento importar de dois aparelhos diferentes mas ao mesmo tempo, por algum motivo um anula o outro, mesmo o sistema de importação ficando separado em cada app sem acessar um servidor externo.
Meu controller está assim:
let ceiCrawler = new CeiCrawler(
username,
password,
CRAWLER_OPTIONS
);
console.log('Buscando Carteiras');
const wallets = await ceiCrawler.getWallet();
console.log('Buscando Histórico');
var transactions;
if (!startDate && !endDate) {
console.log(`Searching all stock transactions`);
transactions = await ceiCrawler.getStockHistory();
} else {
console.log(
`Searching stock transactions between ${startDate} and ${endDate}`
);
const start = new Date(String(startDate));
const end = new Date(String(endDate));
transactions = await ceiCrawler.getStockHistory(start, end);
}
console.log('Buscando Dividendos');
const dividends = await ceiCrawler.getDividends();
await ceiCrawler.close();
console.log(`Data collected with success`);
res.status(200).json({
"wallet": wallets,
"transactions": transactions,
"dividends": dividends,
});
from cei-crawler.
Hmmmmmm nao parece ter nada demais...
O que exatamente acontece quando vc faz multiplas requisicoes? Quais sao os retornos?
from cei-crawler.
@Menighin olha só na maioria dos casos acontecia esse problema:
A 2020-08-25T01:21:12.698254Z _______________________ Buscando Carteiras - Validando Informações _______________________ getWallet
A 2020-08-25T01:21:12.698355Z Buscando Carteiras
A 2020-08-25T01:21:13.361891Z Processing dividends data
A 2020-08-25T01:21:13.839128Z Selecting institution 308 - CLEAR CORRETORA - GRUPO XP (308)
A 2020-08-25T01:21:14.255454Z Logging at CEI...
A 2020-08-25T01:21:15.741847Z Selecting account 959212
A 2020-08-25T01:21:19.056056Z Processing wallet data
A 2020-08-25T01:21:19.060601Z Error: Error: Protocol error (Runtime.callFunctionOn): Session closed. Most likely the page has been closed.
at CDPSession.send (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/Connection.js:180:29)
at ExecutionContext._evaluateInternal (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/ExecutionContext.js:107:44)
at ExecutionContext.evaluateHandle (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/ExecutionContext.js:57:17)
at ExecutionContext.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:112:23)
at Page.evaluateHandle (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/Page.js:326:20)
at Function._processStockWallet (/workspace/node_modules/cei-crawler/src/lib/WalletCrawler.js:229:29)
at Function.getWallet (/workspace/node_modules/cei-crawler/src/lib/WalletCrawler.js:150:47)
at CeiCrawler.getWallet (/workspace/node_modules/cei-crawler/src/lib/CeiCrawler.js:148:16)
A 2020-08-25T01:21:19.060636Z -- ASYNC --
A 2020-08-25T01:21:19.060661Z at Page.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:111:15)
A 2020-08-25T01:21:19.060682Z at Function._processStockWallet (/workspace/node_modules/cei-crawler/src/lib/WalletCrawler.js:229:40)
A 2020-08-25T01:21:19.060701Z at Function.getWallet (/workspace/node_modules/cei-crawler/src/lib/WalletCrawler.js:150:58)
A 2020-08-25T01:21:19.060713Z at CeiCrawler.getWallet (/workspace/node_modules/cei-crawler/src/lib/CeiCrawler.js:148:16)
A 2020-08-25T01:21:19.064271Z (node:10) UnhandledPromiseRejectionWarning: Error: Protocol error (Runtime.callFunctionOn): Session closed. Most likely the page has been closed.
A 2020-08-25T01:21:19.064311Z at CDPSession.send (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/Connection.js:180:29)
A 2020-08-25T01:21:19.064380Z at ExecutionContext._evaluateInternal (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/ExecutionContext.js:107:44)
A 2020-08-25T01:21:19.064393Z at ExecutionContext.evaluate (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/ExecutionContext.js:48:23)
A 2020-08-25T01:21:19.064517Z at ExecutionContext.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:112:23)
A 2020-08-25T01:21:19.064537Z at DOMWorld.evaluate (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/DOMWorld.js:112:20)
A 2020-08-25T01:21:19.064547Z -- ASYNC --
A 2020-08-25T01:21:19.064559Z at Frame.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:111:15)
A 2020-08-25T01:21:19.064569Z at Page.evaluate (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/Page.js:860:43)
A 2020-08-25T01:21:19.064581Z at Page.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:112:23)
A 2020-08-25T01:21:19.064592Z at Function.getWallet (/workspace/node_modules/cei-crawler/src/lib/WalletCrawler.js:141:38)
A 2020-08-25T01:21:19.064601Z at CeiCrawler.getWallet (/workspace/node_modules/cei-crawler/src/lib/CeiCrawler.js:148:16)
A 2020-08-25T01:21:19.064628Z (node:10) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)
A 2020-08-25T01:21:19.064643Z (node:10) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
A 2020-08-25T01:21:19.151898Z Processing dividends data
A 2020-08-25T01:21:19.155576Z Error: Error: Protocol error (Runtime.callFunctionOn): Session closed. Most likely the page has been closed.
at CDPSession.send (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/Connection.js:180:29)
at ExecutionContext._evaluateInternal (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/ExecutionContext.js:107:44)
at ExecutionContext.evaluateHandle (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/ExecutionContext.js:57:17)
at ExecutionContext.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:112:23)
at Page.evaluateHandle (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/Page.js:326:20)
at Function._processFutureEvents (/workspace/node_modules/cei-crawler/src/lib/DividendsCrawler.js:213:29)
at Function.getDividends (/workspace/node_modules/cei-crawler/src/lib/DividendsCrawler.js:134:48)
at CeiCrawler.getDividends (/workspace/node_modules/cei-crawler/src/lib/CeiCrawler.js:129:16)
A 2020-08-25T01:21:19.155598Z -- ASYNC --
A 2020-08-25T01:21:19.155610Z at Page.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:111:15)
A 2020-08-25T01:21:19.155619Z at Function._processFutureEvents (/workspace/node_modules/cei-crawler/src/lib/DividendsCrawler.js:213:40)
A 2020-08-25T01:21:19.155628Z at Function.getDividends (/workspace/node_modules/cei-crawler/src/lib/DividendsCrawler.js:134:59)
A 2020-08-25T01:21:19.155636Z at CeiCrawler.getDividends (/workspace/node_modules/cei-crawler/src/lib/CeiCrawler.js:129:16)
A 2020-08-25T01:21:19.156163Z (node:10) UnhandledPromiseRejectionWarning: Error: Protocol error (Runtime.callFunctionOn): Session closed. Most likely the page has been closed.
A 2020-08-25T01:21:19.156187Z at CDPSession.send (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/Connection.js:180:29)
A 2020-08-25T01:21:19.156199Z at ExecutionContext._evaluateInternal (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/ExecutionContext.js:107:44)
A 2020-08-25T01:21:19.156211Z at ExecutionContext.evaluate (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/ExecutionContext.js:48:23)
A 2020-08-25T01:21:19.156221Z at ExecutionContext.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:112:23)
A 2020-08-25T01:21:19.156231Z at DOMWorld.evaluate (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/DOMWorld.js:112:20)
A 2020-08-25T01:21:19.156241Z -- ASYNC --
A 2020-08-25T01:21:19.156253Z at Frame.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:111:15)
A 2020-08-25T01:21:19.156264Z at Page.evaluate (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/Page.js:860:43)
A 2020-08-25T01:21:19.156275Z at Page.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:112:23)
A 2020-08-25T01:21:19.156286Z at Function.getDividends (/workspace/node_modules/cei-crawler/src/lib/DividendsCrawler.js:125:38)
A 2020-08-25T01:21:19.156295Z at CeiCrawler.getDividends (/workspace/node_modules/cei-crawler/src/lib/CeiCrawler.js:129:16)
A 2020-08-25T01:21:19.156322Z (node:10) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 6)
A 2020-08-25T01:21:19.158922Z Error: Error: WebSocket is not open: readyState 2 (CLOSING)
at WebSocket.send (/workspace/node_modules/ws/lib/websocket.js:329:19)
at WebSocketTransport.send (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/WebSocketTransport.js:60:14)
at Connection._rawSend (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/Connection.js:86:21)
at CDPSession.send (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/Connection.js:181:33)
at ExecutionContext._evaluateInternal (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/ExecutionContext.js:107:44)
at ExecutionContext.evaluate (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/ExecutionContext.js:48:23)
at ExecutionContext.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:112:23)
at ElementHandle.evaluate (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/JSHandle.js:54:42)
at ElementHandle.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:112:23)
at ElementHandle.focus (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/JSHandle.js:354:16)
A 2020-08-25T01:21:19.158949Z -- ASYNC --
A 2020-08-25T01:21:19.158969Z at ExecutionContext.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:111:15)
A 2020-08-25T01:21:19.158987Z at ElementHandle.evaluate (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/JSHandle.js:54:42)
A 2020-08-25T01:21:19.159005Z at ElementHandle.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:112:23)
A 2020-08-25T01:21:19.159027Z at ElementHandle.focus (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/JSHandle.js:354:16)
A 2020-08-25T01:21:19.159041Z at ElementHandle.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:112:23)
A 2020-08-25T01:21:19.159053Z at ElementHandle.type (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/JSHandle.js:362:16)
A 2020-08-25T01:21:19.159065Z at ElementHandle.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:112:23)
A 2020-08-25T01:21:19.159079Z at DOMWorld.type (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/DOMWorld.js:422:18)
A 2020-08-25T01:21:19.159092Z at runMicrotasks (<anonymous>)
A 2020-08-25T01:21:19.159106Z at runNextTicks (internal/process/task_queues.js:62:5)
A 2020-08-25T01:21:19.159119Z -- ASYNC --
A 2020-08-25T01:21:19.159134Z at ElementHandle.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:111:15)
A 2020-08-25T01:21:19.159149Z at ElementHandle.focus (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/JSHandle.js:354:16)
A 2020-08-25T01:21:19.159170Z at ElementHandle.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:112:23)
A 2020-08-25T01:21:19.159184Z at ElementHandle.type (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/JSHandle.js:362:16)
A 2020-08-25T01:21:19.159198Z at ElementHandle.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:112:23)
A 2020-08-25T01:21:19.159214Z at DOMWorld.type (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/DOMWorld.js:422:18)
A 2020-08-25T01:21:19.159239Z at runMicrotasks (<anonymous>)
A 2020-08-25T01:21:19.159255Z at runNextTicks (internal/process/task_queues.js:62:5)
A 2020-08-25T01:21:19.159268Z at listOnTimeout (internal/timers.js:518:9)
A 2020-08-25T01:21:19.159284Z at processTimers (internal/timers.js:492:7)
A 2020-08-25T01:21:19.159292Z -- ASYNC --
A 2020-08-25T01:21:19.159301Z at ElementHandle.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:111:15)
A 2020-08-25T01:21:19.159310Z at ElementHandle.type (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/JSHandle.js:362:16)
A 2020-08-25T01:21:19.159318Z at ElementHandle.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:112:23)
A 2020-08-25T01:21:19.159327Z at DOMWorld.type (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/DOMWorld.js:422:18)
A 2020-08-25T01:21:19.159337Z at runMicrotasks (<anonymous>)
A 2020-08-25T01:21:19.159351Z at runNextTicks (internal/process/task_queues.js:62:5)
A 2020-08-25T01:21:19.159365Z at listOnTimeout (internal/timers.js:518:9)
A 2020-08-25T01:21:19.159380Z at processTimers (internal/timers.js:492:7)
A 2020-08-25T01:21:19.159396Z at CeiCrawler._login (/workspace/node_modules/cei-crawler/src/lib/CeiCrawler.js:63:9)
A 2020-08-25T01:21:19.159412Z at CeiCrawler.getWallet (/workspace/node_modules/cei-crawler/src/lib/CeiCrawler.js:147:9)
A 2020-08-25T01:21:19.159426Z -- ASYNC --
A 2020-08-25T01:21:19.159441Z at Frame.<anonymous> (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/helper.js:111:15)
A 2020-08-25T01:21:19.159450Z at Page.type (/workspace/node_modules/cei-crawler/node_modules/puppeteer/lib/Page.js:1103:29)
A 2020-08-25T01:21:19.159459Z at CeiCrawler._login (/workspace/node_modules/cei-crawler/src/lib/CeiCrawler.js:63:26)
A 2020-08-25T01:21:19.159466Z at runMicrotasks (<anonymous>)
A 2020-08-25T01:21:19.159474Z at runNextTicks (internal/process/task_queues.js:62:5)
A 2020-08-25T01:21:19.159481Z at listOnTimeout (internal/timers.js:518:9)
A 2020-08-25T01:21:19.159489Z at processTimers (internal/timers.js:492:7)
A 2020-08-25T01:21:19.159506Z at CeiCrawler.getWallet (/workspace/node_modules/cei-crawler/src/lib/CeiCrawler.js:147:9)
A 2020-08-25T01:21:37.336504Z GET 500 290 B 22,1 s Dart/2.8 (dart:io) /wallet?token=ODg1Mzg1MjQxMDA6QVJDQU5KTzU3OSM= GET 500 290 B 22,1 s Dart/2.8 (dart:io) 5f4467a100ff05227854bd5e110001697e6170692d353030393038373230363537343335313930362d3636363731390001323032303038323474323230383332000100
I 2020-08-25T01:21:37.341005Z GET 404 441 B 3,5 s Unknown /_ah/start GET 404 441 B 3,5 s Unknown 5f4467a100ff05340dab564d0e0001697e6170692d353030393038373230363537343335313930362d3636363731390001323032303038323474323230383332000100
A 2020-08-25T01:21:40.509603Z GET 200 773 B 117,7 s Dart/2.8 (dart:io) /wallet?token=MDE0OTg3MzU2NTc6TjBnc2IzJCQ= GET 200 773 B 117,7 s Dart/2.8 (dart:io) 5f4467a400ff07c6a32d936c440001697e6170692d353030393038373230363537343335313930362d3636363731390001323032303038323474323230383332000100
from cei-crawler.
Related Issues (20)
- Problemas com acesso por conta de Captcha do CEI HOT 15
- Quantidade de acesso HOT 4
- Extrair dados do Tesouro Extrato Analítico e Extrato BM&FBOVESPA HOT 3
- Refresh dos cookies HOT 4
- Recaptcha HOT 1
- QR code doação HOT 1
- StockHistory missing HOT 2
- Não realiza o login e não da exception HOT 2
- StockHistory - É possível pegar de todas instituições? HOT 1
- valor errado na doc HOT 1
- Conta em uma corretora com mais de uma carteira HOT 1
- Recebendo erro ao loggar no CEI HOT 3
- Extrato CETIP HOT 4
- Adicionar suporte a split de ações HOT 3
- Nova area logada do CEI HOT 6
- Erro de dependência: puppeteer e Chromium HOT 2
- Atualização de URL em LastExecutionCrawler HOT 3
- TypeError: Cannot read properties of undefined (reading 'data') HOT 2
- Problema ao usar user-resolve
- Identificação dos bancos
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cei-crawler.