Scraping by examples

Preview:

DESCRIPTION

Learn how to scrap web pages in Ruby, Javascript (and others, soon).

Citation preview

Alexandre Gomes

Scrapingby examples

Friday, May 20, 2011

http://creativecommons.org/licenses/by-nc/3.0/br/Friday, May 20, 2011

Resumo do Censo 2010

Friday, May 20, 2011

Resumo do Censo 2010

Friday, May 20, 2011

Friday, May 20, 2011

Friday, May 20, 2011

Qual a relação entre os índices de alfabetização e a proporção feminina?

Friday, May 20, 2011

0.49mulheres da região

total de pessoas da região

7.859.539

7.859.539 + 8.004.915= =

0.89alfabetizados* da região

total de pessoas* da região

11.326.492

12.670.041= =

Exemplo

* acima de 10 anos de idade

Friday, May 20, 2011

E nas demais

regiões?Friday, May 20, 2011

Scraping by Examples

Friday, May 20, 2011

Nokogiri 鋸

Friday, May 20, 2011

#1 Acessar a página que contém o dado

desejado

Friday, May 20, 2011

teste

Friday, May 20, 2011

teste

codigo

Friday, May 20, 2011

$ rspec spec/ibge_censo2010_spec.rb:8Run filtered using {:line_number=>8}

IBGECenso2010 should open page with "Razão de sexo, população de homens e mulheres"

Finished in 44.4 seconds1 example, 0 failures$

Friday, May 20, 2011

#2 Recuperar o dado desejado

Friday, May 20, 2011

Antes, entenda a estrutura da página

Friday, May 20, 2011

<table> <thead>...</thead> <tfoot> <tr> <td>...</td> <td>...</td> <td>...</td> <td>...</td> <td>...</td> </tr>

</tfoot> <tbody>...</tbody></table>

Estude o caminho do dado na árvore

DOM

Friday, May 20, 2011

Observe IDs e classes CSS que podem ser úteis.

Friday, May 20, 2011

Friday, May 20, 2011

class="td_numeros"

Friday, May 20, 2011

Friday, May 20, 2011

Friday, May 20, 2011

".td_numeros"

[

Friday, May 20, 2011

".td_numeros"

[ 0 1 23 4 56 7 89 10 1112 13 1415 16 17

Friday, May 20, 2011

[ 0 13 4 56 7 89 10 1112 13 1415 16 17

2

1º dado de que precisamos.

(numerador da fórmula)

Friday, May 20, 2011

[ 0 13 4 56 7 89 10 1112 13 1415 16 17

2

2º dado de que precisamos.

(para o cálculo do denominador da fórmula)

Friday, May 20, 2011

[ 0 13 4 56 7 89 10 1112 13 1415 16 17

2

mulheres da região N

total de pessoas da região N=

dados[5]

dados[4] + dados[5]

Friday, May 20, 2011

teste

Friday, May 20, 2011

code

Friday, May 20, 2011

$ rspec spec

IBGECenso2010 razao de sexo should open page with "Razão de sexo, população de homens e mulheres" should get number of women

Finished in 1.78 seconds2 examples, 0 failures

Friday, May 20, 2011

teste

Friday, May 20, 2011

code

Friday, May 20, 2011

#3 Recuperar o restante de dados

desejados

Friday, May 20, 2011

Friday, May 20, 2011

...Friday, May 20, 2011

#4 Apresentação Web do scrapping

Friday, May 20, 2011

application.rb

(...)Friday, May 20, 2011

application.rb(...)

Friday, May 20, 2011

index.erb

(...)

Friday, May 20, 2011

http://datavisualization.ch/tools/13-javascript-libraries-for-visualizationsFriday, May 20, 2011

diferenciadade dados

o charme dos

mashups está na

visualização

http://datavisualization.ch/tools/13-javascript-libraries-for-visualizationsFriday, May 20, 2011

#5 Visualização (ainda tosca) do

scrapping

Friday, May 20, 2011

Friday, May 20, 2011

#6 Visualização diferenciada da

informação

Friday, May 20, 2011

?Friday, May 20, 2011

Agora, a mesma coisa,

apenas com

JavascriptFriday, May 20, 2011

#1 Acessar a página que contém o dado

desejado

Friday, May 20, 2011

test

Friday, May 20, 2011

code

Friday, May 20, 2011

Friday, May 20, 2011

#2 Recuperar o dado desejado

Friday, May 20, 2011

test

Friday, May 20, 2011

code

Friday, May 20, 2011

#3 Recuperar o restante de dados

desejados

Friday, May 20, 2011

...Friday, May 20, 2011

#4 Apresentação Web do scrapping

Friday, May 20, 2011

index.html

Friday, May 20, 2011

index.html

Friday, May 20, 2011

index.html

Friday, May 20, 2011

index.html

Friday, May 20, 2011

index.html

(...)Friday, May 20, 2011

index.html

(...)Friday, May 20, 2011

index.html

(...)

Friday, May 20, 2011

index.html

(...)

Friday, May 20, 2011

http://chart.apis.google.com/chart?chxt=y&chbh=a&chs=500x300&cht=bvg&chco=A2C180,3D7930

&chd=t:49,51,51,50,50|89,82,94,95,93&chdl=Women|Literates&chp=0.033

Friday, May 20, 2011

código disponível em...

Friday, May 20, 2011

P&RFriday, May 20, 2011

http://tinyurl.com/AvaliacaoSOO14

Friday, May 20, 2011

Friday, May 20, 2011