Quebrando captchas do CAR

Boa noite pessoal,

estou precisando quebrar captchas do CAR e estou tentando usar o pacote decryptr para tal.
O problema é que quando tento fazer o download dos captchas para treinar o modelo e o arquivo vem sem extensão nomeado “captcha2a8c49457bef.xml; charset=utf-8”, ao invés de vir um arquivo HTML como no exemplo.

url <- “http://www.car.gov.br/publico/municipios/captcha
files <- download_captcha(url, n = 10, path = “./img”)

Alguém tem ideia do que posso estar fazendo errado ?
Obrigado!

Olá!

O {decryptr} utiliza um reseta a sessao com httr::handle_reset(url) na hora de fazer o download, para evitar que o mesmo captcha seja baixado várias vezes.

Aparentemente, nesse site específico, quando isso é feito o resultado é um XML. Bem estranho.

Minha recomendação seria você fazer direto com {httr}:

download_car_one <- function(path) {
  file <- tempfile(pattern = "captcha", tmpdir = normalizePath(path), fileext = ".png")
  url <- "http://www.car.gov.br/publico/municipios/captcha"
  # para ativar
  httr::GET(url)
  # para baixar
  httr::GET(url, httr::write_disk(file, TRUE))
}

download_car_n <- function(n, path = ".") {
  fs::dir_create(path)
  r <- replicate(n, download_car_one(path))
  # retorna arquivos baixados
  fs::dir_ls(path)
}

download_car_n(10, "./img")

deu certo aqui pra baixar os captchas e treinar o modelo. na sua experiencia, qtos captchas preciso responder ou qual metrica devo focar para conseguir quebrar o captcha? fazendo com os 10 de testes até que saiu legal, mas sem reconhecer maiusculas de minusculas

Vish, a versão atual do pacote não trabalha com maiúsculas e minúsculas :joy: vc vai precisar pegar a função que prepara os dados e mudar isso.

Na minha experiência precisa de alguns milhares de exemplos classificados pra ele começar a funcionar bem. Mas depende muito do captcha.

Na próxima versão do pacote, provavelmente será muito menor!