O que é raspagem de dados?

Os invasores podem usar ferramentas de raspagem da internet para acessar dados muito mais rapidamente do que o pretendido. Isso pode resultar no uso de dados para fins não autorizados.

Share facebook icon linkedin icon twitter icon email icon

Raspagem de dados

Objetivos de aprendizado

Depois de ler este artigo você será capaz de:

  • Defina raspagem de dados
  • Explique os objetivos por trás da raspagem de dados
  • Entenda os métodos de mitigação de raspagem de dados
  • Diferencie a raspagem de dados do rastreamento por crawlers

O que é raspagem de dados?

A raspagem de dados, em sua forma mais geral, é uma técnica na qual um programa de computador extrai dados dos resultados gerados por outro programa. A raspagem de dados geralmente se manifesta na forma de raspagem da internet, que é o processo de usar um aplicativo para extrair informações valiosas de um site.

Raspagem de dados

Por que raspar dados de um site?

De modo geral, as empresas não desejam que seu conteúdo exclusivo seja baixado e reutilizado para fins não autorizados. Como resultado, optam por não expor todos os dados por meio de uma API consumível ou outro recurso facilmente acessível. Os bots raspadores, por outro lado, têm interesse em obter dados do site, independentemente de qualquer tentativa de limitar o acesso. O resultado é um jogo de gato e rato entre os bots de raspagem da internet e diferentes estratégias de proteção de conteúdo, com cada um tentando ser mais esperto que o outro.

O processo de raspagem da internet é bastante simples, embora a implementação possa ser complexa. A raspagem da internet ocorre em três etapas:

  1. Em primeiro lugar, o trecho de código usado para extrair as informações, que chamamos de bot raspador, envia uma solicitação HTTP GET para um site específico.
  2. Quando o site responde, o raspador analisa o documento HTML em busca de um padrão específico de dados.
  3. Após terem sido extraídos, os dados são convertidos para seja qual for o formato específico que o autor do bot raspador tenha projetado.

Os bots raspadores podem ser projetados para diversas finalidades, entre elas:

  1. Raspagem de conteúdo — o conteúdo pode ser extraído do site para que outro site possa replicar a vantagem exclusiva de um produto ou serviço específico que depende de conteúdo. Por exemplo, um produto como o Yelp depende de avaliações; um concorrente pode raspar todo o conteúdo de avaliações do Yelp e reproduzir o conteúdo em seu próprio site, fingindo que o conteúdo é original.
  2. Raspagem de preços — ao raspar dados de preços, um site pode agregar informações sobre seus concorrentes, o que poderá lhe permitir criar uma vantagem única.
  3. Raspagem de contatos — muitos sites contêm endereços de e-mail e números de telefone em texto sem formatação. Ao raspar locais como um diretório de funcionários on-line, um raspador pode agregar detalhes de contato para listas de e-mails em massa, ligações de robôs ou tentativas mal-intencionadas de engenharia social. Esse é um dos principais métodos usados por spammers e golpistas para localizar novos alvos.

Como é possível mitigar a raspagem da internet?

De modo geral, todo o conteúdo que um visitante do site consegue ver precisa ser transferido para o dispositivo desse visitante, e todas as informações que ele consegue acessar podem ser raspadas por um bot.

É possível tomar providências para limitar a quantidade de raspagem de internet que pode ocorrer. Abaixo mencionamos três métodos para limitar a exposição a tentativas de raspagem de dados:

  1. Limitar a velocidade das solicitações — a velocidade com que um visitante humano consegue clicar em uma série de páginas ao interagir com um site é bastante previsível; você nunca verá um humano acessar 100 páginas da internet por segundo, por exemplo. Os computadores, por outro lado, podem fazer solicitações em grande volume mais rapidamente do que os humanos, e os raspadores de dados sem muita prática podem usar técnicas de raspagem sem controle para tentar raspar um site inteiro com grande rapidez. Ao limitar a velocidade com um número máximo de solicitações que um determinado endereço IP é capaz de enviar em um determinado intervalo de tempo, os sites conseguem se proteger de solicitações abusivas e limitar a quantidade de raspagem de dados que pode ocorrer dentro de um determinado intervalo.
  2. Modificar a marcação HTML a intervalos regulares — os bots de raspagem de dados dependem de uma formatação consistente para que possam percorrer eficazmente o conteúdo do site, analisá-lo e salvar os dados úteis. Um método para interromper esse fluxo de trabalho é alterar regularmente os elementos da marcação HTML, para que a raspagem consistente se torne mais complicada. Ao aninhar os elementos de HTML ou alterar outros aspectos da marcação, tentativas simples de raspagem de dados serão dificultadas ou frustradas. Para alguns sites, sempre que uma página é renderizada alguma forma de modificação da proteção de conteúdo é randomizada e implementada. Outros sites alteram seu código de marcação ocasionalmente para impedir tentativas de raspagem de dados no longo prazo.
  3. Usar CAPTCHAs para agentes que enviam um alto volume de solicitações — além de usar uma solução de limitação de velocidade (rate limiting), outra medida útil para diminuir a rapidez dos raspadores de conteúdo é a exigência de que um visitante do site responda a um desafio difícil de ser superado por um computador. Embora um ser humano seja capaz de responder ao desafio com razoável facilidade, um navegador sem cabeça* empenhado na raspagem de dados provavelmente não conseguirá fazê-lo e, certamente, não será consistente ao longo de diversas instâncias do desafio. No entanto, desafios de CAPTCHA constantes podem afetar negativamente a experiência do usuário.

Outro método menos comum de mitigação requer a incorporação do conteúdo dentro de objetos de mídia, como imagens. Como o conteúdo não existe em uma sequência de caracteres, a cópia do conteúdo se torna muito mais complexa, exigindo um reconhecimento óptico de caracteres (OCR) para extrair os dados de um arquivo de imagem. Mas isso também pode impedir usuários da internet de copiar conteúdo quando for preciso, como no caso de um endereço ou número de telefone de um site, ao invés de memorizá-los ou digitá-los novamente.

*Navegador sem cabeça é um tipo de navegador de internet muito parecido com o Chrome ou Firefox, mas que, por padrão, não tem uma interface de usuário visual, permitindo que se movimente muito mais rápido do que um navegador de internet típico. Ao rodar essencialmente no nível de uma linha de comando, um navegador sem cabeça pode evitar a renderização de aplicações inteiras de internet. Os raspadores de dados escrevem bots que usam navegadores sem cabeça para solicitar dados mais rapidamente, pois não há nenhum humano enxergando cada página que está sendo raspada.

Como a raspagem da internet pode ser completamente impedida?

A única maneira de impedir completamente a raspagem de internet é evitar colocar qualquer conteúdo em um site. No entanto, o uso de uma solução avançada de gerenciamento de bots pode ajudar os sites a eliminarem quase completamente o acesso de bots raspadores

Qual é a diferença entre a raspagem de dados e o rastreamento de dados por crawlers?

Rastreamento automático é o processo realizado por grandes mecanismos de busca, como o Google, quando enviam para a rede seus crawlers, como o Googlebot, para indexar conteúdo de internet. A raspagem, por outro lado, é de modo geral estruturada especificamente para extrair dados de um determinado site.

Abaixo listamos três práticas que um bot raspador poderá adotar e em que diferem do comportamento de um crawler de internet:

  1. Os bots raspadores fingem ser navegadores de rede, enquanto um crawler indica seu objetivo e não tenta induzir um site a pensar que ele é algo que na verdade não é.
  2. Às vezes, um raspador poderá agir de forma avançada, preenchendo formulários ou adotando determinados comportamentos para alcançar uma determinada parte do site. Os crawlers não fazem isso.
  3. Os raspadores de modo geral não levam em conta o arquivo robots.txt, um arquivo de texto que contém informações projetadas especificamente para informar aos crawlers da internet quais dados devem analisar e quais áreas do site devem evitar. Como são projetados para extrair um conteúdo específico, os raspadores podem ser projetados para extrair conteúdo explicitamente marcado para ser ignorado.

O Gerenciamento de Bots da Cloudflare usa aprendizado de máquina e análise comportamental para identificar bots mal-intencionados como os raspadores, proteger o conteúdo exclusivo e impedir que os bots abusem de uma propriedade da web.