Embora todas as interfaces de programação de extração de dados sejam diferentes, existem certos temas e características que as unem.
Para comparar APIs mais facilmente, vamos concentrar-nos em quatro principais diferenciamentos. Estes critérios determinam os resultados finais dos utilizadores, pelo que os produtos que analisamos serão avaliados a partir destes quatro pontos de vista.
Funcionalidade
Assim, já abordámos duas das principais funcionalidades que fazem com que valha a pena utilizar uma API:
- Renderização em Javascript — a capacidade de ler e extrair código de um site que utilize Javascript. Sem ela, ficará limitado nos dados que pode obter da maioria dos sites.
- Contornar captchas — a abordagem ideal ao lidar com captchas é não as ativar. Para tal, são necessários bons proxies que imitem o comportamento normal de um utilizador. Ainda assim, a API também pode utilizar plugins que ajudam a resolver captchas quando estas surgem.
O número e a qualidade dos proxies também se enquadram nesta categoria, uma vez que afetam a quantidade de dados que pode extrair. Além de proxies residenciais rotativos, uma boa API terá também muitas opções de segmentação geográfica. Para aceder a alguns sites, precisa de um IP de uma determinada área geográfica, pelo que a segmentação geográfica global garante que pode fazer scraping a partir de qualquer lugar.
Outra funcionalidade valiosa é a opção de rastrear e extrair todas as páginas de um site de uma só vez. Claro que poderia introduzir manualmente cada página, mas a vantagem de usar uma API é automatizar essas tarefas repetitivas.
Compatibilidade
Como a maioria das empresas precisa que a API de web scraping funcione em conjunto com o seu software existente, a compatibilidade é crucial.
Em primeiro lugar — a linguagem de programação. Alguns web scrapers são desenvolvidos tendo em mente uma única linguagem de programação, pelo que o utilizador precisa de conhecer essa linguagem para trabalhar com a API. Outros são concebidos para se integrarem com uma vasta gama de sistemas, oferecendo suporte e documentação para seis a oito linguagens diferentes.
Tenha em mente que pode esperar que a exportação seja feita no formato CSV ou JSON. Existem outras opções e, de um modo geral, converter de um formato para outro não é difícil. Idealmente, o scraper oferece-lhe os dados exatamente no formato de que necessita.
Se a integração não for necessária, então pode utilizar praticamente qualquer scraper web sem grande esforço, mesmo que não esteja familiarizado com a linguagem utilizada. Nesse caso, a documentação torna-se ainda mais crítica, e abordaremos esse tópico em breve.
Fiabilidade
Se um produto não funciona quando precisa dele, nenhuma das funcionalidades importa, pois não?
Ao avaliar a fiabilidade de uma API de web scraping, os aspetos essenciais são o tempo de atividade, a largura de banda, a frequência de erros e o apoio ao cliente.
Uma vez que as APIs apresentadas oferecem funcionalidades prontas a usar, o seu tempo de atividade e largura de banda dependem principalmente da capacidade e otimização dos seus servidores. Os serviços baseados na nuvem podem ser preferíveis, uma vez que o fornecedor do serviço aloca o espaço de que necessita para a sua atividade.
Com a tecnologia atual, pode contar com largura de banda ilimitada e velocidades bastante razoáveis. É mais provável que seja limitado pelo site que está a extrair. Demasiados pedidos num espaço de tempo demasiado curto e poderá causar uma falha no site.
Os bugs são um assunto mais incerto. Os proprietários da API irão, naturalmente, trabalhar para corrigir quaisquer bugs conhecidos. Assim, o cerne do problema reside nos bugs ainda por descobrir, na rapidez com que são encontrados e, posteriormente, corrigidos. A melhor forma de verificar é utilizar a API. Mais uma vez, as versões gratuitas e as versões de avaliação são suas aliadas.
No que diz respeito ao apoio ao cliente, certifique-se de que dispõem de um endereço de e-mail dedicado a esta questão. Um número de telefone é ainda melhor, mas tenha em mente que nem todas as empresas oferecem apoio 24 horas por dia, e os diferentes fusos horários podem constituir um impedimento para uma reação rápida.
Muitos fornecedores de serviços de web scraping também oferecem a opção de criar scripts personalizados para si. Embora isso possa ser um grande argumento de venda para quem não é programador, não deve ser tão importante para quem tem conhecimentos técnicos.
Ainda assim, é uma opção «bom ter», já que pode precisar de vários scripts rapidamente, e ajuda extra é sempre útil.
Documentação
O objetivo de uma API é tornar o seu trabalho mais rápido e simples. Uma interface de programação robusta e rica em funcionalidades faz exatamente isso, desde que saiba como utilizá-la.
A documentação é crucial para ajudar os utilizadores (especialmente aqueles com conhecimentos limitados de programação) a aprender a usar a API. Deve ser igualmente clara e exaustiva para todas as linguagens de programação que a interface suporta.
A documentação destina-se a guiar os utilizadores passo a passo, desde a configuração até casos complexos e excecionais, e a explicar como a API pode ser utilizada.