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 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!