escuro proxyscrape logótipo

Raspagem da Web: O que fazer e o que não fazer

Raspagem, Nov-02-20225 minutos de leitura

Web scraping or web data extraction is an automated process of collecting data from a website. Businesses use web scraping to benefit themselves by making smarter decisions from the vast amount of publicly available data. They can extract data in an organized form so that it can be easier to analyze. Web scraping has many

Índice

A raspagem da Web ou extração de dados da Web é um processo automatizado de recolha de dados de um sítio Web. As empresas utilizam a extração de dados da Web para se beneficiarem, tomando decisões mais inteligentes a partir da vasta quantidade de dados disponíveis publicamente. Podem extrair dados de forma organizada para que seja mais fácil analisá-los. O Web scraping tem muitas aplicações. Por exemplo, pode ser utilizada para monitorizar os preços da concorrência no mundo do comércio eletrónico. As empresas podem afinar as suas estratégias de preços verificando os preços dos produtos e serviços dos seus concorrentes para se manterem à frente do jogo. Além disso, as organizações de estudos de mercado podem avaliar o sentimento dos clientes, acompanhando o feedback e as avaliações de produtos em linha.

Em geral, o processo de raspagem da Web envolve as seguintes etapas.

  • Identificar o sítio web alvo 
  • Recolha dos URLs das páginas cujos dados devem ser extraídos
  • Fazer um pedido a estes URLs para obter o HTML da página
  • Utilizar localizadores para recolher os dados na página HTML
  • Armazenar os dados num formato estruturado como um ficheiro CSV ou JSON

Para que é utilizado o Web Scraping?

Seguem-se alguns dos casos de utilização da raspagem da Web.

Estudos de mercado - Os estudos de mercado são essenciais e têm de ser orientados pelos dados mais exactos disponíveis. As organizações podem fazer um estudo de mercado adequado e avaliar o sentimento do cliente se tiverem um volume elevado, alta qualidade e dados de raspagem da Web com grande perspicácia. Os analistas de mercado podem executar as seguintes tarefas com a recolha de dados da Web.

  • Investigação e desenvolvimento
  • Monitorização da concorrência
  • Preços de mercado 
  • Análise das tendências do mercado

Imobiliário - Os agentes imobiliários podem tomar decisões informadas no mercado incorporando dados extraídos da Web na sua atividade diária. Os agentes imobiliários executam as seguintes tarefas utilizando os dados extraídos de diferentes sítios Web.

  • Estimativa dos rendimentos das rendas
  • Compreender a direção do mercado
  • Avaliação do valor do imóvel
  • Monitorização da taxa de vagas

Monitorização de conteúdos e notícias - A recolha de dados da Web é a melhor solução para monitorizar, agregar e analisar as histórias críticas da indústria se uma empresa aparecer frequentemente nas notícias ou depender de uma análise de notícias atempada. As organizações podem utilizar a recolha de dados da Web para o seguinte.

  • Monitorização da concorrência
  • Análise do sentimento do público
  • Campanhas políticas
  • Tomada de decisões de investimento

Monitorização do preço mínimo anunciado (MAP) - A monitorização do MAP garante que os preços online das marcas estão alinhados com a sua política de preços. É impossível monitorizar os preços manualmente, uma vez que existem muitos vendedores e distribuidores. Por conseguinte, pode utilizar o processo automatizado de recolha de dados da Web para controlar os preços dos produtos.

O que fazer com o Web Scraping

É necessário extrair cuidadosamente os dados da Web, uma vez que pode prejudicar o funcionamento do sítio Web ao extrair dados. Por conseguinte, deve estar ciente de todas as condições a cumprir na extração de dados da Web.

Auto-identificação - É uma boa prática identificar-se quando se recolhem dados da Web. O sítio Web alvo pode bloquear o seu Web crawler se não seguir a regra de identificação. É necessário colocar as suas informações de contacto no cabeçalho do rastreador. Os administradores do sistema ou webmasters podem aceder facilmente às informações do rastreador e notificá-lo de qualquer problema com que o rastreador se depare.

Rotação de IP - Muitos sítios Web utilizaram mecanismos anti-raspagem para proteger os seus sítios Web de ataques maliciosos. Se não conhecer o mecanismo básico de raspagem da Web, pode ser bloqueado instantaneamente pelos sítios Web. O sítio Web também o pode bloquear se utilizar o mesmo IP para todos os pedidos. Por conseguinte, é necessário utilizar um novo IP para enviar vários pedidos para o sítio Web de destino. Para este efeito, pode utilizar proxies, uma vez que estes escondem a sua identidade dos proprietários dos sítios Web e atribuem-lhe um conjunto de endereços IP. Assim, pode enviar vários pedidos para o sítio Web utilizando diferentes endereços IP sem ser bloqueado ou banido.

Inspeção do ficheiro robots.txt - Se quiser fazer scraping na Web, tem de inspecionar atentamente o ficheiro robots.txt. O robots.txt é um ficheiro que permite aos motores de busca saberem quais os ficheiros que podem e não podem ser rastreados por bots. Quase todos os sítios Web têm este ficheiro, pelo que pode obter as regras de raspagem da Web a partir deste ficheiro. O ficheiro robots.txt contém informações importantes relacionadas com o número de pedidos que podem ser enviados por segundo e as páginas que podem ser visitadas.

CSS Hooks - Pode utilizar selectores CSS para encontrar os elementos HTML nas páginas Web e recolher dados a partir deles. Quando selecciona um elemento, o Web scraper tentará adivinhar o seletor CSS para os elementos seleccionados. Pode utilizar os selectores CSS disponíveis no jQuery e os disponíveis nas versões CSS 1-4 (suportadas pelo browser). 

O que não fazer com o Web Scraping

A seguir, indicam-se as regras de não utilização da raspagem da Web.

Não sobrecarregue o sítio Web - Não deve prejudicar o sítio Web a partir do qual está a extrair os dados. Por vezes, a frequência e o volume dos pedidos podem sobrecarregar o servidor Web. Pode tentar aceder aos dados do sítio Web de destino utilizando um único IP; caso contrário, pode utilizar proxies que lhe podem fornecer diferentes endereços IP se pretender aceder aos dados de várias páginas.

Não violar o Regulamento Geral sobre a Proteção de Dados - Não pode extrair dados de cidadãos da UE em violação do RGPD, uma vez que é ilegal. Com a introdução do RGPD, os dados extraídos dos cidadãos da UE são completamente alterados e modificados. As variantes valiosas que podem descrever os dados são o nome, o número, a idade, o e-mail, o contacto, o endereço IP, etc. 

Não utilize técnicas duvidosas - Pode utilizar milhões de ferramentas e truques da Internet para contornar todos os protocolos de segurança de um sítio Web com apenas alguns cliques do rato. Mas os administradores da Web podem detetar facilmente os seus truques e, na maioria das vezes, enganam-no, evitando os seus truques. Podem bloqueá-lo se detectarem qualquer atividade que possa prejudicar o seu sítio Web. Por conseguinte, é necessário manter as ferramentas e os serviços que defendem a reputação do sítio Web visado.

Não martele o site - Há uma enorme diferença entre detetar alterações em tempo real num site e efetuar um ataque de negação de serviço (DOS). Como web scraper, precisa de saber que vai ter um ligeiro atraso entre os pedidos. O sítio Web detectará os seus pedidos regulares e bloqueará o seu IP se tiver uma infraestrutura IDS. 

Proxies para Web Scraping

Sabe que os proxies actuam como intermediários ou servidores de terceiros entre o cliente que envia o pedido e o servidor que o recebe. São essenciais para a recolha de dados da Web, uma vez que extraem dados de forma eficiente e reduzem as hipóteses de serem bloqueados. Os proxies fornecem-lhe uma série de endereços IP para que possa enviar vários pedidos para o sítio Web alvo utilizando diferentes endereços IP sem ser banido. Também é possível aceder a conteúdos de sítios Web com restrições geográficas utilizando proxies. 

Em suma, os proxies são úteis para a recolha de dados da Web pelas duas razões que se seguem.

  • Escondem o endereço IP da máquina de origem do sítio Web de destino.
  • Ajudam a ultrapassar os limites de taxa no sítio Web de destino.

Pode escolher os seguintes tipos diferentes de proxies para a recolha de dados da Web.

IPs do centro de dados - Estes são os endereços IP do servidor alojados em centros de dados. 

IPs residenciais - São mais caros do que os IPs de centros de dados e são os endereços IP de casas particulares. Pode utilizá-los para reencaminhar o seu pedido através de uma rede residencial.

IPs móveis - Estes são os IPs de dispositivos móveis privados. O custo dos endereços IP móveis é demasiado elevado em comparação com outros IPs.

Integração de proxy

Pode integrar os seus proxies no software de raspagem da Web existente com a ajuda dos seguintes passos.

  • Passar os pedidos do web scraper através do proxy
  • Rodar corretamente os endereços IP do servidor proxy entre pedidos

O primeiro passo é simples, pois só precisa de importar o módulo requests do Python e passar o URL de ligação do proxy. Em seguida, é necessário enviar o pedido de obtenção para o sítio Web de destino, como se mostra nos passos abaixo.

import requests

proxies = {'http': 'http://user:[email protected]:3128/'}

requests.get('http://example.org', proxies=proxies)

O segundo passo é um pouco complicado e depende da quantidade de processamento paralelo que se faz num determinado momento e da margem que se quer manter em relação ao limite de taxa do sítio Web alvo.

Conclusão

Com o web scraping, pode recolher dados de um sítio Web de terceiros para os utilizar de acordo com as suas necessidades. É muito eficaz para a otimização dos resultados dos motores de busca, a monitorização dos preços do comércio eletrónico, a geração de oportunidades e a agregação de notícias. A recolha de dados da Web não é assim tão simples, uma vez que é necessário ter em conta algumas regras específicas a cumprir e a não cumprir durante a recolha de dados de um sítio Web. É necessário extrair os dados de um sítio Web de uma forma que não prejudique o sítio nem altere os seus dados. Os proxies são bastante úteis para extrair dados de sítios Web, uma vez que ocultam a sua identidade e evitam que seja banido ou bloqueado. Pode utilizar um proxy residencial ou um proxy de centro de dados, consoante as suas necessidades.