Skip to content

Instantly share code, notes, and snippets.

@jjesusfilho
Last active February 7, 2018 17:11
Show Gist options
  • Save jjesusfilho/7f1cb10a009c21bb9d5091ea3d69f590 to your computer and use it in GitHub Desktop.
Save jjesusfilho/7f1cb10a009c21bb9d5091ea3d69f590 to your computer and use it in GitHub Desktop.
Script com Tadeu
library(tjsp)
library(tidyverse)
library(stringr)
### Baixar dados de primeiro grau
### Fazer a busca na página do TJ: julgados de primeiro grau, copiar a url e colá-la aqui.
df<-tjpg("https://esaj.tjsp.jus.br/cjpg/pesquisar.do?conversationId=&dadosConsulta.pesquisaLivre=infantic%C3%ADdio&tipoNumero=UNIFICADO&numeroDigitoAnoUnificado=&foroNumeroUnificado=&dadosConsulta.nuProcesso=&dadosConsulta.nuProcessoAntigo=&classeTreeSelection.values=&classeTreeSelection.text=&assuntoTreeSelection.values=&assuntoTreeSelection.text=&agenteSelectedEntitiesList=&contadoragente=0&contadorMaioragente=0&cdAgente=&nmAgente=&dadosConsulta.dtInicio=&dadosConsulta.dtFim=&varasTreeSelection.values=&varasTreeSelection.text=&dadosConsulta.ordenacao=DESC")
write_excel_csv(df,"data")
## Baixar dados de segundo grau
d<-tjsg_meta("aborto")
Se a função funcionar, seguir linha a linha
function (livre, quote = TRUE, classes.value = "", inicio = "",
fim = "")
{
set_config(config(ssl_verifypeer = FALSE))
body <- list(dados.buscaInteiroTeor = "", dados.pesquisarComSinonimos = "S",
dados.pesquisarComSinonimos = "S", dados.buscaEmenta = "",
dados.nuProcOrigem = "", dados.nuRegistro = "", agenteSelectedEntitiesList = "",
contadoragente = "0", contadorMaioragente = "0", codigoCr = "",
codigoTr = "", nmAgente = "", juizProlatorSelectedEntitiesList = "",
contadorjuizProlator = "0", contadorMaiorjuizProlator = "0",
codigoJuizCr = "", codigoJuizTr = "", nmJuiz = "", classesTreeSelection.values = "",
classesTreeSelection.text = "", assuntosTreeSelection.values = "",
assuntosTreeSelection.text = "", comarcaSelectedEntitiesList = "",
contadorcomarca = "0", contadorMaiorcomarca = "0", cdComarca = "",
nmComarca = "", secoesTreeSelection.values = "", secoesTreeSelection.text = "1",
dados.dtJulgamentoInicio = "", dados.dtJulgamentoFim = "",
dados.dtRegistroInicio = "", dados.dtRegistroFim = "",
dados.origensSelecionadas = "T", tipoDecisaoSelecionados = "A",
dados.ordenacao = "data")
if (quote == TRUE)
livre <- deparse(livre)
body[[1]] <- "infanticídio"
body[[19]] <- classes.value
body[[30]] <- inicio
body[[31]] <- fim
a <- POST("https://esaj.tjsp.jus.br/cjsg/resultadoCompleta.do",
body = body)
b <- htmlParse(content(a, as = "text"), encoding = "UTF-8")
val <- xmlGetAttr(getNodeSet(b, "//*[@id='totalResultadoAba-A']")[[1]],
"value")
num <- as.numeric(val)
max_pag <- ceiling(num/20)
df <- data.frame()
for (i in 1:max_pag) {
tryCatch({
c <- GET(paste0("https://esaj.tjsp.jus.br/cjsg/trocaDePagina.do?tipoDeDecisao=A&pagina=",
i), set_cookies(unlist(a$cookies)))
d <- htmlParse(content(c, as = "text"), encoding = "UTF-8")
aC <- xpathSApply(d, "//*[@class=\"assuntoClasse\"]",
xmlValue, trim = T)
assunto.processo <- str_trim(str_extract(aC, ".*?(?=/)"))
assunto.materia <- str_trim(str_extract(aC, "(?<=/\\s{0,100}).*"))
relator <- xpathSApply(d, "//*[@class=\"ementaClass2\"][1]",
xmlValue, trim = T)
comarca <- xpathSApply(d, "//*[@class=\"ementaClass2\"][2]",
xmlValue, trim = T)
orgao.julgador <- xpathSApply(d, "//*[@class=\"ementaClass2\"][3]",
xmlValue, trim = T)
data.julgamento <- xpathSApply(d, "//*[@class=\"ementaClass2\"][4]",
xmlValue, trim = T)
data.registro <- xpathSApply(d, "//*[@class=\"ementaClass2\"][5]",
xmlValue, trim = T)
ementa <- xpathSApply(d, "//textarea", xmlValue,
trim = T)
processo <- xpathSApply(d, "//*[@class=\"esajLinkLogin downloadEmenta\"]",
xmlValue, trim = T)
cdacordao <- xpathSApply(d, "//*[@class=\"downloadEmenta\"]",
xmlAttrs, trim = T)[2, ]
df1 <- data.frame(pagina = i, assunto.processo, assunto.materia,
relator, comarca, orgao.julgador, data.julgamento,
data.registro, processo, ementa, cdacordao)
df <- rbind(df, df1)
}, error = function(m) {
m
}, finally = {
next
})
sys.sleep(2)
}
return(df)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment