Introdução

O Cadastro Nacional de Condenações Cíveis por Ato de Improbidade Administrativa e Inelegibilidade (CNC) é uma base de dados controlada pelo Conselho Nacional de Justica (CNJ). A partir dessa ferramenta, é possível consultar nomes de empresas ou pessoas físicas e acessar informações sobre os processos.

O problema é que, infelizmente, o acesso à base do CNC é limitado. Com o uso de captchas e consultas individuais, não é possível obter automaticamente uma lista de todos os processos de improbidade contidos na base, o que impede o cálculo de estatísticas básicas sobre o problema e o devido acompanhamento dos processos.

O presente trabalho tem como objetivo principal solucionar este problema. A partir da construção dos programas para extração de dados, serão levantadas estatísticas básicas sobre os processos contidos no CNC, o que possibilitará maior conhecimento sobre as ações de improbidade administrativa no Brasil.

Nesta fase inicial, realizamos o download e arrumação dos dados. A metodologia para extração foi descrita próxima Seção. Todos os códigos utilizados para extração dos dados são públicos e podem ser acessados neste link.

Metodologia {#metodologia}

Coletamos no total quatro bases de dados relacionais utilizando raspagem de dados (web scraping). Essa técnica consiste em construir um robô que acessa automaticamente diversas páginas da web e salva os dados obtidos em um computador.

library(tidyverse)
library(stringr)
library(lubridate)
library(janitor)
library(cnc)

cnc_pags <- readRDS('../data-raw/cnc_pags.rds')
cnc_condenacoes <- readRDS('../data-raw/cnc_pessoas.rds')
cnc_pessoa_infos <- readRDS('../data-raw/cnc_pessoa_infos.rds')
cnc_processos <- readRDS('../data-raw/cnc_processos.rds')

Condenações

A base de condenações foi obtida em dois passos: primeiro baixamos as páginas e depois baixamos as condenações.

Páginas de busca

A primeira base baixada são as paginações da pesquisa. Observe este link para verificar o conteúdo de uma página. O resultado final dessa extração é uma base de dados em que cada linha é um resultado da busca indicando uma combinação de "pessoa" e "processo", e com as seguintes colunas:

A base de páginas será incorporada na base de condenações descrita a seguir.

Dados sobre condenações

A segunda base é obtida dos links das condenações. Acesse este link para um exemplo. Após arrumar os dados, ficamos com uma base em que cada uma das 35.977 linhas é uma condenação e com as seguintes 38 colunas:

Processos

Em seguida, obtivemos os dados de todos os processos. Após arrumar os dados, ficamos com 26.825 processos e com as seguintes 10 colunas:

A base apresenta apenas duas inconsistências. A primeira é de um único caso que não apresenta informações em geral. A segunda são 60 casos com duas linhas cada e com números de processos idênticos na mesma instância, que podem ser cadastros duplicados.

# inconsistencias
l <- '<a href="http://www.cnj.jus.br/improbidade_adm/%s">%s<a>'
l2 <- "visualizar_processo.php?seq_processo=%s"
x <- cnc_processos %>% 
  tidy_processos() %>% 
  group_by(n_processo) %>% 
  mutate(n = n(), n_dist = n_distinct(instancia)) %>% 
  filter(n > 1, n_dist == 1) %>% 
  ungroup() %>% 
  arrange(n_processo) %>% 
  mutate(id = str_match(arq_processo, '([0-9]+)\\.html$')[,2]) %>% 
  mutate(arq_processo = sprintf(l, sprintf(l2, id), id)) %>% 
  select(-n, -n_dist, -id)

Pessoas

Finalmente, a base de pessoas é obtida a partir de links identificados nas páginas de condenações. Cada uma das 30.541 linhas corresponde a uma pessoa (física ou jurídica), com as seguintes colunas:

A base apresenta algumas inconsistências. Primeiramente, temos 826 pessoas classificadas como pessoa física, mas sem informação de sexo. Além disso, temos 11 casos de pessoas classificadas como pessoa jurídica e que constam como funcionárias públicas. Dentre as 6930 pessoas classificadas como funcionárias públicas, temos 109 vazios na esfera, 343 vazios no órgão, 474 vazios no cargo e 16 vazios na UF.

Base unificada

Para facilitar as análises, construímos também uma base unificada, contendo todas as informações de condenações, pessoas e processos. Nessa base, informações sobre pessoas e processos aparecem duplicadas quando fazem parte de mais de uma condenação. A base possui 35.977 linhas (a mesma quantidade da base de condenações) e 57 colunas.

cnc_tidy <- cnc::tidy_cnc(cnc_condenacoes, cnc_pags, cnc_processos, cnc_pessoa_infos)

Próximos passos

Com a base de dados baixada e arrumada, passaremos a realizar diversas análises no cadastro de condenados. As análises abordarão sobre valores envolvidos, pessoas condenadas e características dos processos.



abjur/cnc documentation built on July 15, 2022, 4:09 p.m.