Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Corrigi cnc::cnc_parse_* funções #6

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ vignettes/rsconnect/*
vignettes/libs/*
vignettes/style.log
docs
tmp/
70 changes: 42 additions & 28 deletions R/download.R
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,11 @@
#'
#' @export
cnc_npag <- function() {
tmp <- fs::file_temp()
fs::dir_create(tmp)
on.exit(fs::dir_delete(tmp))
arq <- cnc_download_pag(1, tmp)
npags <- arq %>%
xml2::read_html() %>%
xml2::xml_find_first("//td[@align='right']") %>%
xml2::xml_text() %>%
stringr::str_extract("(?<=de )[0-9]+") %>%
as.numeric()
npags
httr::GET("http://www.cnj.jus.br/improbidade_adm/consultar_requerido.php?validar=form&rs=pesquisarRequeridoGetTabela&rst=&rsrnd=0&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=I&rsargs[]=0&rsargs[]=POSICAO_INICIAL_PAGINACAO_PHP0&rsargs[]=QUANTIDADE_REGISTROS_PAGINACAO15") |>
httr::content() |>
xml2::xml_find_first(xpath = ".//body/table[2]//b[2]") |>
xml2::xml_text() |>
base::as.numeric()
}

#' Baixa página do CNC
Expand All @@ -29,7 +23,7 @@ cnc_npag <- function() {
#' Acessa páginas do tipo
#' <http://www.cnj.jus.br/improbidade_adm/consultar_requerido.php?validar=form&rs=pesquisarRequeridoGetTabela&rst=&rsrnd=0&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=I&rsargs[]=0&rsargs[]=POSICAO_INICIAL_PAGINACAO_PHP1&rsargs[]=QUANTIDADE_REGISTROS_PAGINACAO15>
#'
#' @param pag página a ser baixada.
#' @param pag Número da página que será baixado
#' @param path caminho da pasta onde os arquivos HTML serão salvos. Se a pasta não existir, será criada.
#'
#' @return As demais funções retornam o caminho do arquivo baixado.
Expand All @@ -38,12 +32,14 @@ cnc_npag <- function() {
#'
#' @export
cnc_download_pag <- function(pag, path) {
x <- 'http://www.cnj.jus.br/improbidade_adm/consultar_requerido.php?validar=form&rs=pesquisarRequeridoGetTabela&rst=&rsrnd=0&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=I&rsargs[]=0&rsargs[]=POSICAO_INICIAL_PAGINACAO_PHP%s&rsargs[]=QUANTIDADE_REGISTROS_PAGINACAO15'
x <- "http://www.cnj.jus.br/improbidade_adm/consultar_requerido.php?validar=form&rs=pesquisarRequeridoGetTabela&rst=&rsrnd=0&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=&rsargs[]=I&rsargs[]=0&rsargs[]=POSICAO_INICIAL_PAGINACAO_PHP%s&rsargs[]=QUANTIDADE_REGISTROS_PAGINACAO15"
u <- sprintf(x, as.character((pag - 1) * 15))
fs::dir_create(path)
arq <- sprintf('%s/pag_%05d.html', path, pag)
arq <- sprintf("%s/%s.html", path, pag)
if (!file.exists(arq)) {
r <- httr::GET(u, httr::write_disk(arq, overwrite = TRUE))
httr::GET(u) %>%
httr::content() %>%
readr::write_lines(arq)
}
arq
}
Expand All @@ -53,18 +49,21 @@ cnc_download_pag <- function(pag, path) {
#' [cnc_download_pessoa()] baixa HTML de pesquisas do tipo
#' <http://www.cnj.jus.br/improbidade_adm/visualizar_condenacao.php?seq_condenacao=1101>
#'
#' @param link retornado pela função [cnc_parse_pag()].
#' @param id_condenacao ID da condenação
#' @param path Caminho onde será salvo
#'
#' @rdname download
#'
#' @export
cnc_download_pessoa <- function(link, path) {
cnc_download_condenacao <- function(id_condenacao, path) {
fs::dir_create(path)
num_link <- gsub('[^0-9]', '', link)
f <- sprintf('%s/%s.html', path, num_link)
# num_link <- gsub('[^0-9]', '', link)
f <- sprintf("%s/%s.html", path, id_condenacao)
if (!file.exists(f)) {
link <- paste0('http://www.cnj.jus.br/improbidade_adm/', link)
httr::GET(link, httr::write_disk(f, TRUE))
link <- paste0("http://www.cnj.jus.br/improbidade_adm/visualizar_condenacao.php?seq_condenacao=", id_condenacao)
httr::GET(link) %>%
httr::content() |>
readr::write_lines(f)
}
f
}
Expand All @@ -73,33 +72,48 @@ cnc_download_pessoa <- function(link, path) {
#'
#' [cnc_download_processo()] baixa HTML de pesquisas do tipo
#' <http://www.cnj.jus.br/improbidade_adm/visualizar_processo.php?seq_processo=9421>
#' @param id_processo ID do processo
#' @path path Caminho onde o arquivo será salvo
#'
#' @rdname download
#'
#' @export
cnc_download_processo <- function(link, path) {
cnc_download_pessoa(link, path)
cnc_download_processo <- function(id_processo, path) {
fs::dir_create(path)
# num_link <- gsub('[^0-9]', '', link)
f <- sprintf("%s/%s.html", path, id_processo)
if (!file.exists(f)) {
link <- paste0("http://www.cnj.jus.br/improbidade_adm/visualizar_processo.php?seq_processo=", id_processo)
httr::GET(link) %>%
httr::content() |>
readr::write_lines(f)
}
f
}

#' Baixa infos de pessoa
#'
#' [cnc_download_pessoa_infos()] baixa HTML de pesquisas do tipo
#' <http://www.cnj.jus.br/improbidade_adm/visualizar_condenacao.php?seq_condenacao=1&rs=getDadosParte&rst=&rsrnd=0&rsargs[]=1>
#' @oaram id ID da pessoa
#' @param path Caminho onde o arquivo será salvo
#'
#' @rdname download
#'
#' @export
cnc_download_pessoa_infos <- function(link, path) {
cnc_download_pessoa_infos <- function(id, path) {
fs::dir_create(path)
num_link <- gsub('[^0-9]', '', link)
f <- sprintf('%s/%s.html', path, num_link)
# num_link <- gsub("[^0-9]", "", link)
f <- sprintf("%s/%s.html", path, id)
if (!file.exists(f)) {
link <- paste0(
"http://www.cnj.jus.br/improbidade_adm/visualizar_condenacao.php?",
"seq_condenacao=1&rs=getDadosParte&rst=&rsrnd=0&rsargs[]=",
num_link
id
)
httr::GET(link, httr::write_disk(f, TRUE))
httr::GET(link) %>%
httr::content() %>%
readr::write_lines(f)
}
f
}
Loading