R/baixar-doc.R

#' Baixar inteiro teor (um)
#' 
#' Baixa o inteiro teor de um acordao, usando o pacote captchasaj
#' para quebrar o captcha
#' 
#' @export
baixar_inteiro_teor_um <- function(cd_acordao, path) {
  Sys.sleep(1)
  u <- 'https://esaj.tjsp.jus.br/cjsg/getArquivo.do?cdAcordao=%s&cdForo=0'
  u <- sprintf(u, cd_acordao)
  try({
    Sys.sleep(0.5)
    r <- httr::GET(u, config = list(ssl.verifypeer = FALSE))
    cond <- stringr::str_detect(r$headers[['content-type']], 'text/html')
    while(length(cond) == 0 || cond) {
      cap <- 'https://esaj.tjsp.jus.br/cjsg/imagemCaptcha.do'
      tmp <- tempfile()
      r_cap <- httr::GET(cap, httr::write_disk(tmp),
                         config = list(ssl.verifypeer = FALSE))
      data('modelo_inicial', package = 'captchasaj')
      txt <- captchasaj::decodificar(tmp, modelo$modelo)
      u2 <- paste0(u, sprintf('&vlCaptcha=%s', txt))
      r <- httr::GET(u2, config = list(ssl.verifypeer = FALSE))
      cond <- stringr::str_detect(r$headers[['content-type']], 'text/html')
    }
    if(stringr::str_detect(r$headers[['content-type']], 'application/pdf')) {
      writeBin(r$content, sprintf('%s/%s.pdf', path, cd_acordao))
      return('OK')
    }
  })
}

#' Baixar inteiro teor (um)
#' 
#' Baixa o inteiro teor de um acordao, usando o pacote captchasaj
#' para quebrar o captcha
#' 
#' @export
baixar_inteiro_teor <- function(cd_acordao, path) {
  plyr::laply(cd_acordao, 
              baixar_inteiro_teor_um, path = path,
              .progress = 'text')
}
jtrecenti/lucrosCessantes documentation built on May 20, 2019, 3:17 a.m.