Como eu criei o projetoplenario.com [parte 2]

No fim de julho, eu resolvi terminar o Plenário e colocá-lo no ar. Meu primeiro passo foi criar uma planilha no Google Drive chamada “plenarioVotacoes”.

Eu listei todos os projetos, as propostas e as medidas provisórias que tinham sido votadas pelo plenário do Senado e tinham ganhado destaque na imprensa.

As indicações de Alexandre de Moraes para o Supremo e de Raquel Dodge para a PGR não foram inclusas porque, ao menos no plenário, a votação foi secreta.

Já tenho alguma familiaridade com o portal do Senado, o que me deu alguma vantagem. Aqui no post eu vou usar o exemplo da PEC do teto dos gastos públicos.

Na opção “Pesquisa de matérias”, na home do portal, fiz uma busca pela PEC 55 de 2016, numeração dada à PEC do teto dos gastos públicos.

Na página sobre a PEC 55 de 2016, entrei na aba “tramitação”. Dei um CTRL + F e localizei o trecho sobre “Votações nominais”. Ficou fácil achar o resultado das votações no 1º turno e no 2º turno.

Aqui no post, vamos trabalhar com a votação do 1º turno, realizada em 29 de novembro de 2016. Há quatro opções: uma sobre a votação da PEC, outra sobre a votação de um inciso destacado e outras duas sobre a votação de duas emendas.

Cliquei na primeira opção. A nova página mostra tanto o resultado da votação da PEC quanto dos outros itens relacionados à proposta. Nós queremos o resultado apenas da PEC.

Se inspecionarmos a página (clique com o botão direito em qualquer lugar da página e vá em "inspecionar"), vamos descobrir que o resultado está dentro de uma lista. Repare que, na verdade, são duas listas. Uma vai do zero ao 40. A outra, do 41 ao 80.

Quando o resultado está dentro de uma lista (como faz o portal do Senado) ou de uma tabela (como faz o portal da Câmara dos Deputados), nós conseguimos raspar os dados facilmente com a fórmula IMPORTHTML.

Como funciona o IMPORTHTML? Na planilha do Google Drive, eu digitei =IMPORTHTML(“http://www25.senado.leg.br/web/atividade/materias/-/materia/votacao/2363507”;“list”;8).

Esse link é a página em que está o resultado. Usamos “list” porque é uma lista. Se fosse uma tabela, usaríamos “table”. E por que o dígito 8? Essa é a oitava tabela da página. Os dados são carregados automaticamente na planilha do Google Drive.

Se digitássemos 1 (em vez de 8) na fórmula, por exemplo, nós teríamos os dados do cabeçalho do site.

Em seguida, para pegar os dados da outra tabela, aquela que vai do 41 ao 80, só precisamos repetir a fórmula e trocar o 8 por 9.

Depois de fazer isso com todas as proposições que foram selecionadas para o Plenário, eu usei o CTRL + C, seguido por “colar especial — apenas os valores”. Assim, se o portal do Senado ficar fora do ar, eu ainda terei os todos os dados.

Nessa nova planilha, eu resolvi arrumar os dados. Selecionei as células, cliquei em “Dados” e em “Dividir texto em colunas”. No separador, eu marquei “Personalizado” e indiquei que o meu separador seria “. “ (ou seja, ponto final seguido por espaço).

Fiz novamente esse processo. Selecionei a coluna com os nomes de senadores e votos, cliquei em “Dados” e em “Dividir texto em colunas”. Desta vez, escolhi “ -“ (ou seja, espaço seguido por traço) como separador.

Eu não apaguei a coluna com os números por inércia, mas não vejo motivo real para ela continuar ali. E criei algumas colunas: uma para a identificação da proposição, outra para a data da votação, outra para o partido e outra para a UF.

Depois de fazer isso com todas as proposições, eu tinha quase 1.000 linhas de votos. Essa tabela completa me permite filtrar por senador, por UF, por partido, por voto, por data e por proposição.

Acesse aqui todos os vídeos gravados para a construção deste post.

Aliás, eu não achei o resultado da votação do impeachment em formato html, apenas em PDF. Por ser de extrema importância, eu levantei manualmente o resultado tanto da cassação (aprovada) do mandato de Dilma Rousseff quanto o da inelegibilidade (rejeitada) da ex-presidente.

Ah, e talvez você já tenha reparado que, no resultado, há algumas siglas além dos tradicionais “Sim” e “Não”. São elas:

LS — Licença saúde;

MIS — Senador em missão (art. 40 do RISF — considerá-lo presente);

NCom — Não compareceu;

P-NRV — Presente — Não registrou voto;

Presidente (art. 51 RISF);

AP — Atividade política/cultural (art. 13 do RISF, caput);

e LP — Licença particular.

No Plenário, eu tinha certeza de que trabalhar com muitas variáveis iria atrapalhar o entendimento do internauta e inviabilizaria os gráficos interativos. Por isso, como eu também explico no texto do GitHub, eu fiz uma releitura dos rótulos.

Os rótulos abaixo passaram a ser identificados por “Ausente”.

LS — Licença saúde;

MIS — Senador em missão (art. 40 do RISF — considerá-lo presente);

NCom — Não compareceu;

AP — Atividade política/cultural (art. 13 do RISF, caput);

e LP — Licença particular.

Os rótulos abaixo passaram a ser identificados por “Não votou”.

P-NRV — Presente — Não registrou voto;

e Presidente (art. 51 RISF).

O Plenário não faz controle de presença e ausência, mas se propõe a facilitar o acesso aos votos dos senadores. Se o senador está doente, embora não ganhe falta no Senado, ele ainda assim estava ausente na votação.

Se o senador estava representando o Brasil em outro país, ainda assim ele não estava presente na votação. E o exemplo se estende aos rótulos NCom, AP e LP.

Já o rótulo “Não votou” precisou ser criado porque o presidente do Senado, até por coordenar as votações da Casa, não vota. E também porque alguns senadores registram presença, mas não necessariamente votam nas proposições.

Ou seja, em quase todos os casos, é natural que haja algum senador que não tenha votado. Uma exceção foi o impeachment, quando a sessão foi presidida por Ricardo Lewandowski, então presidente do STF. Naquela vez, todos os 81 senadores votaram.

Ah, e o Plenário é uma ferramenta open source. Os dados coletados, já tratados, estão no nosso GitHub. Clique aqui para acessar a pasta com os arquivos CSV e XLSX.

A nossa planilha contém as seguintes informações:

Aba 1) dois parágrafos com texto da Wikipédia, editado por mim, sobre cada senador;

Aba 2) links para Twitter, Facebook e Instagram de cada senador, todos reunidos por mim, em trabalho feito à mão;

Aba 3) votos dos senadores quanto a 12 proposições de relevância nacional e a respectiva data da votação;

Aba 4) descrição sobre cada proposição, números gerais de cada votação e link direto a ficha de cada proposição no portal do Senado.