Web scraping
![]() | As referências deste artigo necessitam de formatação. (Julho de 2016) |
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. A coleta de dados web é muito semelhante à indexação web (utilizado pela maioria dos motores de busca), mas a motivação final é muito diferente. A indexação web é usada para ajudar a tornar os motores de busca mais eficientes, já a coleta de dados é tipicamente usada para diferentes razões, como comparação de preços online, monitoramentos meteorológicos, pesquisas de mercado, monitoramento de dados e, em alguns casos, roubo.
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. Existem diversas motivações para se praticar a coleta de dados web. Algumas pessoas realizam a coleta para arquivar informações de um website para poder se ter acesso offline ao mesmo posteriormente, outras utilizam a técnica para testar seu próprio website em busca de links quebrados e infelizmente existem casos de uso desonesto, como por exemplo cópias ilegais de conteúdo. Alguns exemplos do uso da coleta de dados são:
- O comércio eletrônico usa a coleta de dados para monitorar os preços de empresas concorrentes
- Advogados utilizam para ver relatórios de julgamentos passados para referências futuras
- Recrutadores utilizam para coletar perfis de pessoas
- Empresas de mídia utilizam para avaliar conteúdos de trend topics e hashtags para coletar informações
Funcionamento

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/softwares o usuário pode se conectar a um site e solicitar uma página, exatamente como um navegador faia. O servidor web irá enviar de volta a página requisitada e então, os coletores processam as páginas de dados não estruturados ou semiestruturados dos sites de escolha do usuário e convertem os dados em um formato estruturado. Uma vez que os dados estão em um formato estruturado, o usuário pode manipula-los e analisa-los com facilidade.
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:
- Direitos Autorais
- Propriedade Intelectual
- Marca Registrada
- Plágio
- Denegreço de Imagem
- Entre outras
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 - Scripts de coleta de dados fazem requisições com muito mais rapidez que pessoas. Limitando o acesso a IP's que possuem vários pedidos em um curto espaço de tempo pode evitar o problema.
- Bloquear fontes maliciosas já conhecidas - É sempre bom manter uma lista de controle no Firewall para se ter uma base de proteção.
- Utilizar CAPTCHAS - Este tem sido o método mais comumente integrado porque é simples de integrar e pode ser eficaz, pelo menos no início. O problema é que o Captcha da pode ser burlado com um pouco de trabalho e, mais importante, eles são um incômodo para os usuários.
- cookies ou JavaScript - Geralmente os softwares de coleta não processam esse tipo de código
- Utilizar imagens ou conteúdo flash no website - As coletas extraem dados em formato de texto, logo, ter conteúdo em um formato diferente dificultaria a extração das informações
- Atualizar constantemente as tags HTML das páginas web - Desse modo seria necessário a atualização constante dos scripts de coleta para se obter os dados de maneira correta
Exemplos de ferramentas de coleta
- Apache Camel
- Archive.is
- Automation Anywhere
- Convertigo
- cURL
- Data Toolbar
- Diffbot
- Firebug 2.23
- Greasemonkey
- Heritrix
- HtmlUnit
- HTTrack
- iMacros
- Import.io
- Jaxer
- Node.js
- nokogiri
- OutWit Hub
- PhantomJS
- ScraperWiki
- Scrapy
- Selenium
- SimpleTest
- UiPath
- watir
- Wget
- Wireshark
- WSO2 Mashup Server
- Yahoo! Query Language (YQL)
Ver também
Referências
- HTML Scraping Consultado em 06/07/16
- Web Crawling: Data Scraping vs. Data Crawling Consultado em 06/07/16
- Data Scraping: Introdução à técnica de extração de dados web Consultado em 05/07/1016
- Scrapers e Crawlings: Robôs da internet e suas utilidades Consultado em 05/07/16
- Web data extraction Consultado em 06/07/16
- Alternativas para realizar web scraping Consultado em 06/07/16
- Web Scraping Definition Consultado em 06/07/16
- Web Scraping Consultado em 07/07/16
- Scraping defined (also data scraping, web scraping or screen scraping) Consultado em 05/07/16
- Coleta de dados na internet ainda precisa ser mais debatida no Brasil Consultado em 07/07/16
- Cómo evitar que alguien se apropie de los contenidos de nuestra página web Consultado em 07/07/16
- Scraping definition Consultado em 05/07/16
- Web Scraping - Data Collection or Illegal Activity? Consultado em 07/07/16
- What you need to know about web scraping: How to understand, identify, and sometimes stop Consultado em 06/07/16
- IMPERVA, ‘Detecting and Blocking Site Scraping Attacks’ - http://www.imperva.com/docs/wp_detecting_and_blocking_site_scraping_attacks.pdf (2014)
- 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)