Saltar para o conteúdo

Web scraping

Origem: Wikipédia, a enciclopédia livre.

A coleta de dados web, ou raspagem web, é uma forma de mineração que permite a extração de dados de sites da web convertendo-os em informação estruturada para posterior análise. É um campo com ativa evolução que compartilha um objetivo comum com a visão da web semântica, uma iniciativa ambiciosa que ainda requer avanços no processamento de texto, compreensão semantical, inteligência artificial e interação homem-computador. O uso dessa técnica está relacionado à área de comparação de preços online, monitoramentos meteorológicos, pesquisas, entre outros.

Motivação

Cada vez mais a tecnologia nos traz benefícios, nos dias atuais os negócios estão extremamente tecnológicos, sempre buscando por melhorias e reduzindo gastos de tempo e dinheiro. Para se extrair alguns dados de web sites de maneira manual, ou seja copiando e colando, muito esforço será necessário e muito tempo será perdido. Com o uso automatizado da coleta de dados web essa prática poupará tempo, esforço e por consequência dinheiro.

Funcionamento

Processo do funcionamento da coleta de dados web

Os scripts e aplicativos de coleta de dados vão simular uma pessoa navegando normalmente em um site através de um navegador. Com estes scripts/aplicativos o usuário pode se conectar a uma site e solicitar uma página, exatamente como um navegador faria. O servidor web irá enviar de volta a página que o usuário requisitou e então será possível realizar a manipulação e extrair informações específicas.

Alternativas

Existem algumas alternativas para se fazer a coleta de dados web, como

Alternativa Definição Prós Contras
Usar um serviço online de coleta Existe serviços que realizam a extração dos dados da web que não necessitam ser baixados e funcionam online Tem a vantagem de extrair os dados do site de maneira automatizada, com algumas exceções onde o usuário precisa definir regras para começar a extração. Possui a vantagem de não exigir conhecimentos técnicos avançados Serviço com funcionalidades limitadas
Usar um software para a coleta É possível utilizar softwares de desktop ou até mesmo extensões de browsers, como o Mozilla Firefox e o Google Chrome, para realizar a extração dos dados Possui a mesma facilidade de uso que os serviços online mas oferece maior flexibilidade para se obter os dados É uma alternativa para processos mais manuais, não automatizados. Possuem chances de serem bloqueados pelo website onde está sendo coletado os dados
Programar seu próprio algoritmo de coleta É possível escrever um algoritmo de coleta em diversas linguagens de programação Oferta maior flexibilidade que as outras duas alternativas pois é possível criar uma extração completamente adaptável as necessidades do usuário Requer um alto nível de conhecimento e manutenção constante para o software, o que requer tempo e dinheiro

Coletas maliciosas e aspectos legais

A prática da coleta de dados web tem atraído muita controvérsia porque os termos de uso para alguns sites não permitem certos tipos de mineração de dados. A coleta maliciosa é um roubo sistemático da propriedade intelectual na forma de dados acessíveis em um website. Infelizmente, algumas pessoas não se preocupam com termos e condições e extraem sistematicamente grandes quantidades de dados para ganho pessoal sem que tenha permissão para isso. Alguns exemplos de coletas maliciosas são:

  • Coleta de endereços de e-mail
  • Obtenção de perfis de usuários em redes sociais ou fóruns
  • Detecção de atualizações em sites da concorrência
  • Plágio de conteúdos, tais como notícias, artigos, blogs, informações médicas, informações financeiras, etc

Como um exemplo real, no Brasil, podemos citar o caso de uma empresa de recrutamento online acusada e condenada por concorrência desleal ao coletar dados de clientes de outra empresa. Portanto, além de estar ciente de todos os aspectos legais do site que se quer realizar a extração é importante estar atento para não violar nenhuma das seguintes questões:

Apesar dos desafios legais, essa técnica promete tornar-se uma maneira popular de coleta de informações.

Medidas restritivas à coleta

Evitar os ataques e coletas indevidas está cada vez mais difícil pois é complicado distinguir os coletores de usuários legítimos, mas é possível tomar algumas medidas para impedir ou diminuir esses ataques, como:

  • Bloquear IP's que possuam excesso de tráfego, estabelecendo limites de requisições de página e conexões
  • Bloquear fontes maliciosas já conhecidas
  • Utilizar CAPTCHAS para ter certeza que o usuário é uma pessoa
  • Utilizar cookies ou JavaScript, pois geralmente os softwares de coleta não processam esse tipo de código
  • Utilizar imagens ou conteúdo flash no website, já que as coletas extraem dados em formato de texto
  • Atualizar constantemente as tags HTML das páginas web

Exemplos de ferramentas de coleta

  • iMacros
  • Wireshark
  • Scrapy
  • PhantomJS
  • Node.js
  • Selenium
  • Greasemonkey

Ver também

Referências

  1. HTML Scraping Consultado em 06/07/16
  2. Web Crawling: Data Scraping vs. Data Crawling Consultado em 06/07/16
  3. Data Scraping: Introdução à técnica de extração de dados web Consultado em 05/07/1016
  4. Scrapers e Crawlings: Robôs da internet e suas utilidades Consultado em 05/07/16
  5. Web data extraction Consultado em 06/07/16
  6. Alternativas para realizar web scraping Consultado em 06/07/16
  7. Web Scraping Definition Consultado em 06/07/16
  8. Web Scraping Consultado em 07/07/16
  9. Scraping defined (also data scraping, web scraping or screen scraping) Consultado em 05/07/16
  10. Coleta de dados na internet ainda precisa ser mais debatida no Brasil Consultado em 07/07/16
  11. Cómo evitar que alguien se apropie de los contenidos de nuestra página web Consultado em 07/07/16
  12. IMPERVA, ‘Detecting and Blocking Site Scraping Attacks’ - http://www.imperva.com/docs/wp_detecting_and_blocking_site_scraping_attacks.pdf (2014)
  13. M. P. Katia, I. T. Maria - 'COLETA DE DADOS EM PLATAFORMAS DE REDES SOCIAIS: ESTUDO DE APLICATIVOS' http://rabci.org/rabci/sites/default/files/222-838-1-PB_0.pdf - III WPCI (2014)