Re: [eppsp-turma1-2009] Re: [carreira1034] Fwd: Salários dos servidores da Câmara Municipal de SP

32 views
Skip to first unread message

Leandro Salvador

unread,
Jun 6, 2012, 6:16:24 PM6/6/12
to thac...@googlegroups.com
Desafio Dados Abertos:

Com cronômetros ligados... qual é a tecnologia mais ágil para converter esse HTML (que pelo menos não é um PDF!) em um CSV estruturado em formato aberto?

Pretendo fazer manualmente, com suave apoio de macros do TextPad, nos próximos dias... mas vai que tem alguém aqui com os dons pra fazer automagicamente num estalar de dedos? :)

Abaixo o link original e, em anexos, a versão HTML e um bem bolado de CSV pré-natal...

Abraços!

---------- Forwarded message ----------

Reajuste automático faz servidores da Câmara ganharem mais que presidente. Casa é a primeira no País a adotar medida de transparência e pôr na internet lista com salários de seus funcionários.

É a primeira Casa Legislativa brasileira a adotar essa medida, antes mesmo da Câmara dos Deputados e do Senado.
Salarios_CMSP.html
Salarios_CMSP.csv

Luís Leão

unread,
Jun 6, 2012, 7:56:23 PM6/6/12
to thac...@googlegroups.com
Tem um PM que ganha 83 reais? =/

Scraperwiki deve resolver isso fácil. Só tem que descobrir o pq e decidir como tratar quem tem os dois valores (líquido após desconto IR e descontos judiciais).

[]'s
Luís
Enviado via iPhone
--
Você recebeu esta mensagem porque está cadastrado no grupo "Transparência Hacker"
Para enviar uma mensagem a todo o grupo, escreva para thac...@googlegroups.com
Para não receber mais mensagens, envie um email para thackday+u...@googlegroups.com
Para mais informações, ou para ler mensagens arquivadas deste grupo, visite http://groups.google.com/group/thackday?hl=pt-BR
<Salarios_CMSP.html>
<Salarios_CMSP.csv>

Diego Rabatone

unread,
Jun 6, 2012, 8:01:57 PM6/6/12
to thac...@googlegroups.com
Não é tão simples Luís, o "belo" html deles tem "tabelas aninhadas" (tabela dentro de célula).... isso vai dar um trabalhinho, mas eu acho que é o melhor caminho mesmo... =)

Pedro Markun

unread,
Jun 6, 2012, 8:48:01 PM6/6/12
to thac...@googlegroups.com, Júlio Boaro
Eu sei que tem alguns apps de data mining pagos que fazem esse parse...

talvez o Tableau?

abs,
Pedro Markun

2012/6/6 Diego Rabatone <dir...@diraol.eng.br>

Leandro Salvador

unread,
Jun 7, 2012, 1:29:30 AM6/7/12
to thac...@googlegroups.com
Caras, cada dia mais sonho com o dia em que teremos os dumps das bases de dados. Não é possível que os caras não consigam fazer a arte gráfica que quiserem com os dados, seja no formato que for (inclusive no from the hell PDF!)... e liberar, junto, os dados em formato aberto. É difícil fazer um SELECT e compartilhar o resultado rapidão? Se fosse pra apostar, diria que não é dificuldade técnica... ;)

Uma coisa que me preocupa é que o dados.gov.br é o melhor catálogo de dados governamentais disponível no Brasil... mas não há qualquer lugar livre (pelo menos que eu saiba) pra compartilhar-se as bases de dados governamentais propriamente ditas. Em outras palavras: se o órgão é incapaz (por incompetência ou vontade política deliberada mesmo!) de desenvolver uma solução para disponibilizar suas bases, quem tem a guarda de uma base e quer compartilhá-la ativamente faz como?

Imagino uma solução simples, com tags, identificador único no estilo ISBN ou ISSN pra cada base, e abraço... Será que já existe algo nesse sentido, bem simples?

Essa base dos salários da CMSP, por exemplo, poderia receber tags como:

#legislativo #municipal #saopaulo #salarios #uniqueidXPTO1234 #2stars #csv

(2 stars considerando aquele critério de 5 estrelas pra bases 101% dentro dos conformes de dados abertos, e 2 estrelas pra bases em CSV meaboca.)

Estaríamos no paraíso do compartilhamento do OpenDataGov, não? =D

Pedro Markun

unread,
Jun 7, 2012, 11:32:55 AM6/7/12
to thac...@googlegroups.com
http://thedatahub.org/ ?
http://br.ckan.net/ ?

A gente tem trabalhado com o Ibase nesse sentido, de usar o datahub como plataforma para liberar os dados que eles coletam e/ou produzem.

http://thedatahub.org/dataset?q=ibase



[]'s
Pedro Markun

2012/6/7 Leandro Salvador <leandro...@gmail.com>

Júlio Boaro

unread,
Jun 8, 2012, 12:40:48 AM6/8/12
to thac...@googlegroups.com
Leandro, creio que gastei 30min na conversão usando técnicas de planilha no LibreOffice.

Pode ter algum errinho. Qualquer coisa me avisa.

Segue em .ods (bom pelos links que detalham os valores) e .csv separado por tabulações.

[]s


2012/6/6 Leandro Salvador <leandro...@gmail.com>

--
Salarios_CMSP.csv
Salarios_CMSP.ods

Júlio Boaro

unread,
Jun 8, 2012, 12:53:57 AM6/8/12
to thac...@googlegroups.com
Uma versão 2 em que apenas converti os campos texto R$ em campos numéricos R$ - pra ficar mais interessante :)



2012/6/8 Júlio Boaro <julio...@gmail.com>
Salarios_CMSP_v2.ods

Eduardo Leoni

unread,
Jun 22, 2012, 4:48:17 PM6/22/12
to thac...@googlegroups.com
(muito) atrasado, mas aqui vai um script em R usando wget e tidy no linux

library(XML)

fromNumBr <- function(x) {
as.numeric(gsub(",", ".", gsub("\\.|[^,0-9-]", "", x)))
}

system('wget http://www2.camara.sp.gov.br/Salarios/HTML/todos.html')
system('tidy todos.html > todos_tidy.html')

doc <- htmlTreeParse(readLines('todos_tidy.html'), asText=TRUE,
useInternalNodes=TRUE)
nset <- getNodeSet(doc, "//td")
nset <- sapply(nset, xmlValue)
##salario em multiplas linhas. vamos pegar so o ultimo
sl <- grep('após desc. P', nset)
nset <- nset[-c(sl, sl-1, sl+1)]
## constroi matriz
dnow <- data.frame(matrix(nset[-c(sl, sl-1, sl+1)], ncol=4, byrow=TRUE))
names(dnow) <- c('nome', 'cargo', 'funcao', 'remuneracao')
## funcao nao parseou direito. tiro por agora.
dnow$funcao <- NULL
dnow[,'remuneracao'] <- fromNumBr(dnow[,'remuneracao'])



2012/6/8 Júlio Boaro <julio...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages