Guia para principiantes na extração de dados com APIs
Gabriel Cioci em 01 de maio de 2021

Há muito tempo que a extração de dados é uma solução para as empresas inteligentes. Mas a forma de o fazer tem mudado continuamente com o passar do tempo.
Neste artigo, veremos como as APIs ajudaram os desenvolvedores a extrair dados no passado e como a raspagem da Web começou a se tornar a nova norma. Em breve verá que o foco não está a afastar-se das APIs. Pelo contrário, a forma como utilizamos as APIs para obter os nossos dados está a mudar.
Antes de mais, vejamos como os programadores podem recolher dados sem ferramentas de recolha de dados da Web.
Obter dados através da API dos anfitriões
Alguns sítios Web ou aplicações têm a sua própria API dedicada. Isto é especialmente verdadeiro para software ou sítios que distribuem dados, uma vez que uma API é a melhor solução para os enviar para outros produtos de software.
Por exemplo, a Wikipédia tem uma API porque o seu objetivo é oferecer informações a qualquer pessoa interessada. Depois de compreenderem o funcionamento da API, os programadores podem utilizá-la para extrair os dados que pretendem, quer como um ficheiro para armazenar, quer para alimentar o software com a informação.
Assim, desde que um sítio Web tenha uma API a que possa aceder, tem uma forma rápida e fácil de obter dados.
Em teoria, isto parece ótimo. Significa que os proprietários de sítios Web estão a facilitar a obtenção de dados dos seus sítios por terceiros. Na prática, porém, não é assim tão simples. Existem algumas questões problemáticas associadas ao facto de se confiar na API dos anfitriões:
- O sítio Web do qual pretende recolher dados pode não ter uma API. Os sítios Web não precisam necessariamente de uma.
- A utilização da API pode ter custos. Nem todas as APIs da Web são gratuitas. Algumas estão acessíveis apenas mediante uma subscrição ou após um acesso pago.
- As APIs raramente oferecem todos os dados do sítio Web. Alguns sítios apenas fornecem fragmentos de dados através da API. Por exemplo, uma API de um sítio de notícias pode enviar apenas imagens e descrições de artigos, e não o conteúdo completo.
- Cada API necessita que os programadores a compreendam e a integrem no software existente. Nem todas as APIs funcionam da mesma forma, pelo que a sua utilização requer algum tempo e conhecimentos de programação.
- A API pode impor limites de taxa à extração de dados. Alguns sítios Web podem limitar o número de pedidos que podem ser enviados num determinado período para que o servidor anfitrião não fique sobrecarregado. Como resultado, a obtenção de todos os dados pode levar um tempo considerável.
Como se pode ver, as desvantagens não são negligenciáveis. Então, quando é que este método é a melhor opção? Se só precisar de um pequeno conjunto de dados de um ou de um pequeno número de sítios, as API podem ser a melhor opção. Desde que os sítios Web não mudem frequentemente, esta pode ser a forma mais barata e mais fácil de o fazer.
É isto que se passa com a recolha de dados através da API. E quanto à recolha de dados na Web?
Utilizar ferramentas de recolha de dados da Web
Web scraping significa simplesmente extrair os dados de uma página web. De certa forma, conta mesmo se o fizer manualmente, mas não é nisso que nos vamos concentrar aqui. Em vez disso, vamos ver os diferentes tipos de produtos que pode utilizar.
Algumas ferramentas foram concebidas para serem fáceis de utilizar, independentemente dos conhecimentos de programação. O produto mais básico são as extensões do browser. Uma vez adicionadas, o utilizador só tem de selecionar os fragmentos de dados na página Web de que necessita e a extensão extrai-los-á num ficheiro CVS ou JSON. Embora esta opção não seja rápida, é útil se precisar apenas de partes específicas de conteúdo em muitos sítios Web diferentes.
Depois, há o software dedicado de recolha de dados da Web. Estas opções oferecem aos utilizadores uma interface através da qual podem efetuar a recolha de dados. Há uma grande variedade de produtos à escolha. Por exemplo, o software pode utilizar a máquina do utilizador, um servidor na nuvem controlado pelos criadores do produto ou uma combinação dos dois. Alternativamente, algumas opções exigem que os utilizadores compreendam e criem os seus próprios scripts, enquanto outras não.
Alguns fornecedores de serviços de recolha de dados da Web optaram por limitar ainda mais os dados introduzidos pelo utilizador. A sua solução consiste em oferecer aos clientes acesso a um painel de controlo para escreverem URLs e receberem os dados necessários, mas todo o processo de recolha de dados é feito de forma oculta.
Em comparação com a utilização de uma API pública, as ferramentas de Web scraping têm a vantagem de funcionar em qualquer sítio Web e de recolher todos os dados de uma página. É verdade que a raspagem da Web apresenta os seus próprios desafios:
- Os sítios Web dinâmicos apenas carregam HTML nas interfaces do browser;
- Os Captchas podem bloquear o acesso do scraper a algumas páginas;
- O software de deteção de bots pode identificar os raspadores da Web e bloquear o acesso do seu IP ao sítio Web.
Para ultrapassar estes obstáculos, os web scapers modernos utilizam um browser sem cabeça para processar Javascript e um pool de proxy para mascarar o scraper como um visitante normal.
Destas ferramentas de extração de dados, um tipo é particularmente interessante para nós porque é uma API. Para ser mais exato, é uma API de raspagem da Web.
Utilizar uma API de recolha de dados da Web
Uma API de raspagem da Web, normalmente oferecida em formato SaaS, combina as funcionalidades de outras ferramentas de raspagem da Web com a flexibilidade e a compatibilidade de uma API.
Cada produto é diferente, mas a norma de ouro para APIs de raspadores tem as seguintes caraterísticas:
- Utiliza um browser sem cabeça para processar Javascript e aceder ao código HTML subjacente a sítios Web dinâmicos;
- Tem um conjunto de proxies composto por proxies de centros de dados e residenciais, idealmente na ordem das centenas de milhares;
- Roda automaticamente os proxies, dando ao utilizador a opção de utilizar proxies estáticos;
- Utiliza funcionalidades anti-impressão digital e anti-captcha para se misturar com os visitantes regulares;
- Fornece dados no formato JSON;
A melhor parte de utilizar uma API é a facilidade de a integrar noutros produtos de software ou scripts que esteja a executar. Depois de obter a sua chave de API exclusiva e ler a documentação, pode alimentar os dados extraídos diretamente para outras aplicações com apenas algumas linhas de código.
Desde que os utilizadores tenham alguns conhecimentos de codificação, as APIs de raspagem da Web são excelentes opções tanto para empresas com infra-estruturas de software complexas como para empresas mais pequenas. A extração de dados, em geral, é mais útil para empresas que dependem de informações sobre preços e dados de produtos.
Qual é o melhor?
Encontrar a solução ideal raramente é fácil, uma vez que são necessários muitos factores para tomar uma decisão. Pense no número de sítios Web que pretende extrair, quantas páginas, com que frequência e qual a probabilidade de essas páginas mudarem de apresentação.
Para pequenos projectos de raspagem, os programadores devem verificar se as fontes têm uma API que possam utilizar. Se quiser evitar a codificação, as extensões do browser funcionam bem.
Para projectos maiores, sugerimos que os programadores experimentem uma API de recolha de dados da Web. As empresas que não queiram dedicar programadores ao projeto podem procurar uma empresa que faça a recolha de dados por elas.
Como nota final, experimente alguns produtos gratuitamente antes de tomar uma decisão. A maioria dos produtos tem planos gratuitos ou períodos de teste. Trabalhar com uma API não é apenas eficiente. Também pode ser muito divertido!
Se ficou interessado em ferramentas de web scraping, veja esta lista que preparámos para si: as 10 melhores APIs de web scraping.
Notícias e actualizações
Mantenha-se atualizado com os mais recentes guias e notícias sobre raspagem da Web, subscrevendo a nossa newsletter.
We care about the protection of your data. Read our <l>Privacy Policy</l>.Privacy Policy.

Artigos relacionados

Explore o poder transformador da recolha de dados da Web no sector financeiro. Desde dados de produtos a análises de sentimentos, este guia oferece informações sobre os vários tipos de dados da Web disponíveis para decisões de investimento.


Se a curiosidade o leva a aprender sobre APIs, então este guia APIs para Leigos é o melhor lugar para aprender definições, tipos de API, documentação e muito mais.
