Closed victorrssx closed 2 years ago
Oi @victorrssx, foi um erro temporário, parece que já normalizou. Obrigado pelo aviso. Vou fechar essa issue, se voltar o problema, ela será reaberta.
Venho encontrando o mesmo erro eventualmente:
Error in map()
:
ℹ In index: 1.
ℹ With name: ibcbr.
Caused by error in parse_con()
:
! lexical error: invalid char in json text.
<?xml version="1.0" encoding="p
(right here) ------^
Backtrace:
▆
Também venho enfrentando o mesmo erro, esse erro acontecia esporadicamente e era resolvido quando rodava o código novamente, mas recentemente tá acontecendo mais frequentemente e não está resolvendo quando roda novamente. No meu caso, tem alguns meses que não é possível puxar o indexador e outros meses funciona normalmente.
> df_indexador_bcb <- rbcb::get_series(código_indexador, start_date = (as.Date(paste(ano_reavaliacao, mes_reavaliacao, dia_reavaliacao, sep = "-")) %m-% months(13)),
+ end_date = (as.Date(paste(ano_reavaliacao, mes_reavaliacao, dia_reavaliacao, sep = "-")) %m-% months(1))) # Últimas 12 Variações do indexador
Skipping download - using cached version
Error in `map()`:
ℹ In index: 1.
ℹ With name: 433.
Caused by error in `parse_con()`:
! lexical error: invalid char in json text.
<?xml version="1.0" encoding="p
(right here) ------^
Run `rlang::last_trace()` to see where the error occurred.
> rlang::last_trace()
<error/purrr_error_indexed>
Error in `map()`:
ℹ In index: 1.
ℹ With name: 433.
Caused by error in `parse_con()`:
! lexical error: invalid char in json text.
<?xml version="1.0" encoding="p
(right here) ------^
---
Backtrace:
▆
1. └─rbcb::get_series(...)
2. ├─rbcb::rbcb_get(objs, start_date, end_date, last)
3. └─rbcb:::rbcb_get.sgs(objs, start_date, end_date, last)
4. └─purrr::map_dfr(...)
5. └─purrr::map(.x, .f, ...)
6. └─purrr:::map_("list", .x, .f, ..., .progress = .progress)
7. ├─purrr:::with_indexed_errors(...)
8. │ └─base::withCallingHandlers(...)
9. ├─purrr:::call_with_cleanup(...)
10. └─rbcb (local) .f(.x[[i]], ...)
11. └─rbcb:::sgs_create_series(ser, f)
12. └─jsonlite::fromJSON(json)
13. └─jsonlite:::parse_and_simplify(...)
14. └─jsonlite:::parseJSON(txt, bigint_as_char)
15. └─jsonlite:::parse_con(txt, bigint_as_char)
Esse erro acontece toda vez que a API do SGS do Bacen fica fora. Não tem o que fazer do lado do rbcb, a não ser colocar uma mensagem de erro pra ficar evidente que a API está indisponível. Fora isso é aguardar que estabilize.
Também enfrentei o erro, pontualmente.
Na minha experiência só aconteceu com IPCA
, série 433, como o exemplo de jgpds.
indices_bcb <- rbcb::get_series(
c(ipca = 433,
inpc = 188,
igpm = 189,
igpdi = 190,
ipcbr = 191,
incc = 192,
sinapi = 7495,
ivgr = 21340),
start_date = "2004-01-01")
#> Error in `map()`:
#> ℹ In index: 1.
#> ℹ With name: ipca.
#> Caused by error in `parse_con()`:
#> ! lexical error: invalid char in json text.
#> <?xml version="1.0" encoding="p
#> (right here) ------^
De imediato tirando IPCA de rbcb::get_series()
a consulta é finalizada.
indices_bcb <- rbcb::get_series(
c(#ipca = 433,
inpc = 188,
igpm = 189,
igpdi = 190,
ipcbr = 191,
incc = 192,
sinapi = 7495,
ivgr = 21340),
start_date = "2004-01-01")
Created on 2024-10-02 with reprex v2.1.1
Eventualmente, ao rodar o código no qual uso a função get_series() para puxar dados do BCB, recebo a seguinte notificação de erro:
Erro: lexical error: invalid char in json text. <?xml version="1.0" encoding="p (right here) ------^
Geralmente, após umas duas ou três tentativas, o código volta a rodar novamente sem problema. Só que existem vezes - como hoje por exemplo - que não consigo de jeito nenhum puxar os dados. O traceback que retorna é (onde a linha 1. é um exemplo de código):
Tentei reiniciar o R e mexer nos pacotes, mas sem sucesso. Não tenho muito ideia do que pode ser, se o problema é no meu R ou se na função em si. Peço desculpas se for alguma bobeira. Grato desde já pela ajuda!