SlideShare uma empresa Scribd logo
1 de 10
Baixar para ler offline
Coleta e sistematização de dados na
web - Raspagem de dados
Marcelo Alves
Coleta e sistematização de dados na web
Marcelo Alves
Raspagem (scraping)
• A raspagem, ou web scraping, é um procedimento que retira
dados de um website a partir da linguagem de marcação (HTML)
de seu código fonte
• Chama-se raspagem exatamente porque o mecanismo exibe a
página e procura na linguagem de marcação pelas partes
específicas referentes aos dados que precisamos.
Coleta e sistematização de dados na web
Marcelo Alves
Raspagem (scraping)
• Raspagem de dados é uma técnica muito ampla
• Ela é muito poderosa para sistematizar a extração de dados de páginas da
web
• Há muitas possibilidades, com diferentes níveis de dificuldade:
• 1) Baixar um documento csv de um site
• 2) Extrair tabelas
• 3) Tabular elementos de uma página
• 4) Elaborar um robô que navega por um site baixando os dados
• 5) Controlar um navegador fantasma que imita o comportamento
humano
• 6) Quebra de captchas
Coleta e sistematização de dados na web
Marcelo Alves
Como é
• Raspar dados da web significa identificar onde as informações que
precisamos estão no código-fonte de uma página e elaborar uma rotina
para acessar, coletar, preparar e armazenar;
• Para isso, precisamos de conhecimentos básicos de como as páginas estão
estruturadas
• Há ferramentas que facilitam muito o processo de compreensão de uma
página
• Para raspar dados não é preciso, necessariamente, conhecimentos
avançados de HTML
Coleta e sistematização de dados na web
Marcelo Alves
Passo a passo
• 1) Qual o objetivo da raspagem de dados – quais informações precisamos?
• 2) Identificação das urls que contém esses dados
• 3) Será necessário navegar em mais de uma página?
• 4) Montar lista de urls a serem raspadas
• 5) Encontrar os nós que contém os dados (Xpath ou CSS)
• 6) Testar a rotina de construção e paginação das urls
• 7) Implementar o loop com armazenamento de dados
Coleta e sistematização de dados na web
Marcelo Alves
Como funciona
• Nosso objetivo é raspar uma lista de presidentes do
Brasil
• Encontramos essa tabela no Wikipédia
• https://pt.wikipedia.org/wiki/Lista_de_presidentes_do_Br
asil
• Qual nó da página precisamos raspar?
• Inspecionar a tabela
Coleta e sistematização de dados na web
Marcelo Alves
Xpath e CSS
• São duas técnicas diferentes para encontrar as tags dentro de um
documento HTML
• O CSS é mais legível e fácil de rodar e debugar
• Enquanto que o Xpath é mais complexo e detalhado
• Nesse curso, vamos focar no CSS, principalmente por causa da extensão do
Chrome CSS Selector
Coleta e sistematização de dados na web
Marcelo Alves
Instalar CSS SelectorGadget
• Instalar Google Chrome
• Instalar CSS SelectorGadget https://goo.gl/AY4C87
Vamos para o R!
Pacote rvest
obrigado!
Marcelo Alves
malvesjor@gmail.com

Mais conteúdo relacionado

Semelhante a Raspar Dados de Sites com Rvest

Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel PetryTchelinux
 
Visualização de dados
Visualização de dadosVisualização de dados
Visualização de dadoslrmodesto
 
awari-ds-aula4.pptx.pdf
awari-ds-aula4.pptx.pdfawari-ds-aula4.pptx.pdf
awari-ds-aula4.pptx.pdfMarcos993896
 
Internet em pauta: Desmistificando o desenvolvimento de websites
Internet em pauta: Desmistificando o desenvolvimento de websitesInternet em pauta: Desmistificando o desenvolvimento de websites
Internet em pauta: Desmistificando o desenvolvimento de websitesGabriel Fernandes
 
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslidesharePalestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslidesharepccdias
 
Performance Codificando Night Week 2016
Performance Codificando Night Week 2016Performance Codificando Night Week 2016
Performance Codificando Night Week 2016Rodolfo Fadino Junior
 
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensDrupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensPaulino Michelazzo
 
Sobre o workshop "Raspagem de dados para mulheres"
Sobre o workshop "Raspagem de dados para mulheres"Sobre o workshop "Raspagem de dados para mulheres"
Sobre o workshop "Raspagem de dados para mulheres"Patricia Minamizawa
 
Mineração de dados textuais com Postgres
Mineração de dados textuais com Postgres Mineração de dados textuais com Postgres
Mineração de dados textuais com Postgres Raissa Menezes Korehisa
 
Apresentação Projeto Final Graduação UFF
Apresentação Projeto Final Graduação UFFApresentação Projeto Final Graduação UFF
Apresentação Projeto Final Graduação UFFBianca Caruso da Paixão
 
Tudo que Você Precisa Saber para Hackear o Google
Tudo que Você Precisa Saber para Hackear o GoogleTudo que Você Precisa Saber para Hackear o Google
Tudo que Você Precisa Saber para Hackear o GoogleFelipe Bazon
 
iOpera artigo o que é big data como surgiu o big data para que serve o big data
iOpera artigo o que é big data como surgiu o big data para que serve o big dataiOpera artigo o que é big data como surgiu o big data para que serve o big data
iOpera artigo o que é big data como surgiu o big data para que serve o big dataValêncio Garcia
 
Desenvolvemos para web?
Desenvolvemos para web?Desenvolvemos para web?
Desenvolvemos para web?Luis Vendrame
 

Semelhante a Raspar Dados de Sites com Rvest (20)

Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
 
Visualização de dados
Visualização de dadosVisualização de dados
Visualização de dados
 
awari-ds-aula4.pptx.pdf
awari-ds-aula4.pptx.pdfawari-ds-aula4.pptx.pdf
awari-ds-aula4.pptx.pdf
 
Web scraping com python
Web scraping com pythonWeb scraping com python
Web scraping com python
 
Internet em pauta: Desmistificando o desenvolvimento de websites
Internet em pauta: Desmistificando o desenvolvimento de websitesInternet em pauta: Desmistificando o desenvolvimento de websites
Internet em pauta: Desmistificando o desenvolvimento de websites
 
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslidesharePalestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
 
Performance Codificando Night Week 2016
Performance Codificando Night Week 2016Performance Codificando Night Week 2016
Performance Codificando Night Week 2016
 
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensDrupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
 
Sobre o workshop "Raspagem de dados para mulheres"
Sobre o workshop "Raspagem de dados para mulheres"Sobre o workshop "Raspagem de dados para mulheres"
Sobre o workshop "Raspagem de dados para mulheres"
 
Big Data
Big DataBig Data
Big Data
 
Slides .pptx.pdf
Slides .pptx.pdfSlides .pptx.pdf
Slides .pptx.pdf
 
Browsers como vivem o que fazem
Browsers como vivem o que fazemBrowsers como vivem o que fazem
Browsers como vivem o que fazem
 
Mineração de dados textuais com Postgres
Mineração de dados textuais com Postgres Mineração de dados textuais com Postgres
Mineração de dados textuais com Postgres
 
Performance Web com ASP.NET MVC
Performance Web com ASP.NET MVCPerformance Web com ASP.NET MVC
Performance Web com ASP.NET MVC
 
Apresentação Projeto Final Graduação UFF
Apresentação Projeto Final Graduação UFFApresentação Projeto Final Graduação UFF
Apresentação Projeto Final Graduação UFF
 
Tudo que Você Precisa Saber para Hackear o Google
Tudo que Você Precisa Saber para Hackear o GoogleTudo que Você Precisa Saber para Hackear o Google
Tudo que Você Precisa Saber para Hackear o Google
 
iOpera artigo o que é big data como surgiu o big data para que serve o big data
iOpera artigo o que é big data como surgiu o big data para que serve o big dataiOpera artigo o que é big data como surgiu o big data para que serve o big data
iOpera artigo o que é big data como surgiu o big data para que serve o big data
 
Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0
 
Desenvolvemos para web?
Desenvolvemos para web?Desenvolvemos para web?
Desenvolvemos para web?
 
Web - Crawlers
Web - CrawlersWeb - Crawlers
Web - Crawlers
 

Raspar Dados de Sites com Rvest

  • 1. Coleta e sistematização de dados na web - Raspagem de dados Marcelo Alves
  • 2. Coleta e sistematização de dados na web Marcelo Alves Raspagem (scraping) • A raspagem, ou web scraping, é um procedimento que retira dados de um website a partir da linguagem de marcação (HTML) de seu código fonte • Chama-se raspagem exatamente porque o mecanismo exibe a página e procura na linguagem de marcação pelas partes específicas referentes aos dados que precisamos.
  • 3. Coleta e sistematização de dados na web Marcelo Alves Raspagem (scraping) • Raspagem de dados é uma técnica muito ampla • Ela é muito poderosa para sistematizar a extração de dados de páginas da web • Há muitas possibilidades, com diferentes níveis de dificuldade: • 1) Baixar um documento csv de um site • 2) Extrair tabelas • 3) Tabular elementos de uma página • 4) Elaborar um robô que navega por um site baixando os dados • 5) Controlar um navegador fantasma que imita o comportamento humano • 6) Quebra de captchas
  • 4. Coleta e sistematização de dados na web Marcelo Alves Como é • Raspar dados da web significa identificar onde as informações que precisamos estão no código-fonte de uma página e elaborar uma rotina para acessar, coletar, preparar e armazenar; • Para isso, precisamos de conhecimentos básicos de como as páginas estão estruturadas • Há ferramentas que facilitam muito o processo de compreensão de uma página • Para raspar dados não é preciso, necessariamente, conhecimentos avançados de HTML
  • 5. Coleta e sistematização de dados na web Marcelo Alves Passo a passo • 1) Qual o objetivo da raspagem de dados – quais informações precisamos? • 2) Identificação das urls que contém esses dados • 3) Será necessário navegar em mais de uma página? • 4) Montar lista de urls a serem raspadas • 5) Encontrar os nós que contém os dados (Xpath ou CSS) • 6) Testar a rotina de construção e paginação das urls • 7) Implementar o loop com armazenamento de dados
  • 6. Coleta e sistematização de dados na web Marcelo Alves Como funciona • Nosso objetivo é raspar uma lista de presidentes do Brasil • Encontramos essa tabela no Wikipédia • https://pt.wikipedia.org/wiki/Lista_de_presidentes_do_Br asil • Qual nó da página precisamos raspar? • Inspecionar a tabela
  • 7. Coleta e sistematização de dados na web Marcelo Alves Xpath e CSS • São duas técnicas diferentes para encontrar as tags dentro de um documento HTML • O CSS é mais legível e fácil de rodar e debugar • Enquanto que o Xpath é mais complexo e detalhado • Nesse curso, vamos focar no CSS, principalmente por causa da extensão do Chrome CSS Selector
  • 8. Coleta e sistematização de dados na web Marcelo Alves Instalar CSS SelectorGadget • Instalar Google Chrome • Instalar CSS SelectorGadget https://goo.gl/AY4C87
  • 9. Vamos para o R! Pacote rvest