extraindo dados públicos “na marra”

95
Extraindo dados públicos “na marra” Pedro Valente @pedrovalente

Upload: pedro-valente

Post on 20-Jan-2015

9.734 views

Category:

Technology


3 download

DESCRIPTION

Apresentação feita no HackDay 2010, em 20 de março

TRANSCRIPT

Page 1: Extraindo dados públicos “na marra”

Extraindo dados públicos “na marra”

Pedro Valente

@pedrovalente

Page 2: Extraindo dados públicos “na marra”

Por quê?

É um dever do cidadão fiscalizar o poder

Page 3: Extraindo dados públicos “na marra”

Por quê?

Tem um monte de picaretas se aproveitando do seu dinheiro

Page 4: Extraindo dados públicos “na marra”

Por quê?

São dados que por lei ou por bom senso deveriam estar disponíveis

Page 5: Extraindo dados públicos “na marra”

Por quê?

Não adianta tentar esconder,a gente dá um jeito

Page 6: Extraindo dados públicos “na marra”

Dados públicos?

Page 7: Extraindo dados públicos “na marra”

Dados do governo

Page 8: Extraindo dados públicos “na marra”

Dados de interesse público

Page 9: Extraindo dados públicos “na marra”

Interesse público

Jornalismo

Page 10: Extraindo dados públicos “na marra”

Jornalismo+

Desenvolvimento de software

Page 11: Extraindo dados públicos “na marra”

Transparência

http://www.flickr.com/photos/tracy_collins/2237061185/

Page 12: Extraindo dados públicos “na marra”

Está na moda

Page 13: Extraindo dados públicos “na marra”

Está na modae ganha Pulitzer

Page 16: Extraindo dados públicos “na marra”

"Build something or STFU"Matt Waite - Politifact

Page 18: Extraindo dados públicos “na marra”

Como transformar esse mundo de dados em

algo relevante?

Page 20: Extraindo dados públicos “na marra”

Crie aplicações interativas em cima

deles

Page 21: Extraindo dados públicos “na marra”

Crie aplicações interativas em cima

deles

Aplicação

Page 22: Extraindo dados públicos “na marra”

Crie aplicações interativas em cima

deles

Aplicação

Dados

Page 23: Extraindo dados públicos “na marra”

Aplicação

Dados

Processador

Fornecedor

Page 24: Extraindo dados públicos “na marra”

Aplicação

Dados

Processador

Fornecedor

API

Page 25: Extraindo dados públicos “na marra”

APIApplication Programming Interface

Page 26: Extraindo dados públicos “na marra”

Cada fornecedor armazena de um jeito

A API serve para padronizar a saída

Page 27: Extraindo dados públicos “na marra”

API é o balcão da padaria

Você pede 300 gramas de mortadelae a atendente te entrega. Leva também 4 pãezinhos.

Te vira. Quem faz o sanduíche é você.

Page 28: Extraindo dados públicos “na marra”

Dois papéis

Page 29: Extraindo dados públicos “na marra”

1. Fornecedor

Dados brutos

Grandes volumes

Exclusividade

Page 31: Extraindo dados públicos “na marra”

CET-SP

http://www.flickr.com/photos/streetlife/2309136566/

Page 32: Extraindo dados públicos “na marra”

Dados da CET

Km de congestionamento

Pontos de alagamento

Ocorrências de trânsito

Estrutura de monitoramento exclusiva

Além de monitorar, também precisa RESOLVER o trânsito!

Page 33: Extraindo dados públicos “na marra”

E aí investem em...

Page 35: Extraindo dados públicos “na marra”
Page 36: Extraindo dados públicos “na marra”

Prioridade?

Page 37: Extraindo dados públicos “na marra”

Pouca grana

Pepinos gigantes

Precisa foco no que ninguém mais tem

Page 38: Extraindo dados públicos “na marra”

2. Processador

Recombina, reordena, filtra e segmenta

Identifica padrões e revela tendências

Expõe os resultados

Page 39: Extraindo dados públicos “na marra”

EveryBlock.com

Page 40: Extraindo dados públicos “na marra”

NYTimes

Text

Page 41: Extraindo dados públicos “na marra”

NYTimes

Text

http://prototype.nytimes.com/represent/

Page 42: Extraindo dados públicos “na marra”

EveryBlock.com

Dados de fornecedores diversos

Micro-relevância

É jornalismo? É software? "Who cares?"

Page 43: Extraindo dados públicos “na marra”

Batia de porta em porta implorando por XML

Page 44: Extraindo dados públicos “na marra”

Fornecedor Processador

Page 45: Extraindo dados públicos “na marra”

Fornecedor Processador

Aplicação

Page 46: Extraindo dados públicos “na marra”

Fornecedor Processador

Dados

Aplicação

Page 47: Extraindo dados públicos “na marra”

API

Fornecedor Processador

Dados

Aplicação

Page 48: Extraindo dados públicos “na marra”

API

Fornecedor Processador

Dados

Aplicação

Ei, 300 gramas de mortadela, por

favor

Page 49: Extraindo dados públicos “na marra”

API

Fornecedor Processador

Dados

Aplicação

Ei, 300 gramas de mortadela, por

favor

Aqui está, senhor, tenha um bom dia

Page 50: Extraindo dados públicos “na marra”

Fornecedor Processador

Page 51: Extraindo dados públicos “na marra”

Fornecedor Processador

Aplicação

Page 52: Extraindo dados públicos “na marra”

Aplicação

Fornecedor Processador

Aplicação

Page 53: Extraindo dados públicos “na marra”

AplicaçãoAPI

Fornecedor Processador

Aplicação

Page 54: Extraindo dados públicos “na marra”

AplicaçãoAPI

Fornecedor Processador

Aplicação

Ei, um sanduíche de

mortadela, por favor

Page 55: Extraindo dados públicos “na marra”

AplicaçãoAPI

Aqui está, senhor, tenha um bom dia

Fornecedor Processador

Aplicação

Ei, um sanduíche de

mortadela, por favor

Page 56: Extraindo dados públicos “na marra”

Maturidade institucional

www.showusabetterway.co.uk

Page 57: Extraindo dados públicos “na marra”

NYT APIs

Page 58: Extraindo dados públicos “na marra”

NYT APIsCongressional Data

The Congress API returns the following types of data:

• Roll-call vote data: Only roll-call votes (not voice votes or division votes) are tracked by official Congressional data sources. Along with basic vote data, the Times API returns additional information that is less readily available, such as party totals. For details, see Responses. For general information about roll-call votes, see the THOMAS site.

• Member data: Along with general biographical information for current and past members of Congress, the API returns data about members' Congressional roles. Role data includes the Congress number and chamber, as well as the member's title, state and party. A single member may have more than one role in a particular Congress (for example, the member may switch parties or move from the House to the Senate). For details, see Responses.

Data Sources

The data returned by the Congress API is compiled from the following sources:

• The official Web site of the Office of the Clerk of the U.S. House of Representatives, for vote data• The official Web site of the United States Senate, for vote data• The Biographical Directory of the United States Congress, for member biographical information• GovTrack.us, for member biographical information• MIT Professor Charles Stewart's collection of Congressional data, for role information• THOMAS (The Library of Congress), for bill data• The C-SPAN Congressional Chronicle, for floor appearances

Certain fields in the API responses (such as party totals) are calculated by The Times, based on these data sources. For details, see Responses.

http://developer.nytimes.com/docs/congress_api

Page 59: Extraindo dados públicos “na marra”

The Guardian

www.guardian.co.uk/open-platform/

Page 61: Extraindo dados públicos “na marra”

The Guardianhttp://mps-expenses.guardian.co.uk/

Page 62: Extraindo dados públicos “na marra”
Page 63: Extraindo dados públicos “na marra”

Voltando ao Brasil...

Page 64: Extraindo dados públicos “na marra”

Se o fornecedor não colabora, fazemos justiça com

as próprias mãos

Page 65: Extraindo dados públicos “na marra”

Se o fornecedor não colabora, fazemos justiça com

as próprias mãos

Page 66: Extraindo dados públicos “na marra”

Scraping = raspagem

Pegar na marra o que não é liberado por API

Robozinhos, crawlers e dumps

Mudança de mentalidade

Page 67: Extraindo dados públicos “na marra”

Uma ajudinha: YQL

• Idioma comum para conversar com diversas APIs ou fazer scraping

• Aberto para qualquer um se tornar fornecedor ou processador de dados

• Tem um console muito divertido

• http://developer.yahoo.com/yql/console

Page 68: Extraindo dados públicos “na marra”

Uma ajudinha: YQL

http://developer.yahoo.com/yql/console

Page 69: Extraindo dados públicos “na marra”

2 desafios

Datasets&

Consultas online

Page 70: Extraindo dados públicos “na marra”

Datasets

Page 71: Extraindo dados públicos “na marra”

Massas de dadosguardadas em algum

banco

Page 72: Extraindo dados públicos “na marra”

IBGETSE

Anatel

Page 74: Extraindo dados públicos “na marra”

YQL + CSV

YQL + XML

Page 75: Extraindo dados públicos “na marra”

CSV to webservice

http://isithackday.com/csv-to-webservice/

Page 76: Extraindo dados públicos “na marra”

<?php include('csvtoservice.php'); $content = csvtoservice('http://winterolympicsmedals.com/medals.csv'); if($content){

if($content['form']){ echo '<h4>Filters</h4>'; echo $content['form']; }

if($content['table']){ echo '<h4>Results</h4>'; echo $content['table']; }

}?>

Page 77: Extraindo dados públicos “na marra”

Consultas online

Page 78: Extraindo dados públicos “na marra”

Infraero

Page 79: Extraindo dados públicos “na marra”

Infraero

Page 80: Extraindo dados públicos “na marra”

Infraero

Page 81: Extraindo dados públicos “na marra”

Infraero

Page 82: Extraindo dados públicos “na marra”

Infraero

Page 83: Extraindo dados públicos “na marra”

Infraeropoderia ser assim:

Page 84: Extraindo dados públicos “na marra”

Infraeropoderia ser assim:

www.infraero.gov.br/voos/status/03101

Page 86: Extraindo dados públicos “na marra”

Mas veja o que esses filhas da mãefazem pra nos impedir de usar os

dados deles

Page 87: Extraindo dados públicos “na marra”

http://www.infraero.gov.br/voos/detalhe_voo.aspx?5/Xrn1SlFmeTrR/PL3/MpnK8sgrVY9Ms+9o4x3M9qjM7ysJ8yazx5wXPsRzdou

+5fzqPSZPiXOSpCOxycPzRH6PIN4I4buChasAEzkA4yV8kHAGUAnVR/KczuGvooOuczvdlALYzVh3lcyKh+M3QrsBJBmxehWlokYlZbByajEtfYOOFlC8vGsv0I9JVs

+4MD3i1hIP1FXRc0+EyJhJBL2qiFEy6/fDinPR/mqw675W/cnhwPjcHtQEvr4NpsYdsP0f8JE0VbKeVci8KGgQ4TZJq1DE3SEjUk7lySiMtlWrZwj+pcazY

+95lEvSJOwqXbb5FLXNbv0CnrSZ/9CxURzI84m3tI1929Te6IEuJPcE=

Page 88: Extraindo dados públicos “na marra”

Empresa estatal. Serviço público.

Dados de interesse público.

Sem problemas de privacidade.

HACKING LIBERADO!!!

Page 89: Extraindo dados públicos “na marra”
Page 90: Extraindo dados públicos “na marra”

http://anp.gov.br/preco

Page 92: Extraindo dados públicos “na marra”

YQL + HTML

YQL Open Tableshttp://datatables.org

Page 94: Extraindo dados públicos “na marra”

Libertemos dados!!!

Page 95: Extraindo dados públicos “na marra”

ObrigadoContato: @pedrovalente