Voltar ao blogue
Guias
Suciu Dan31 de outubro de 202211 minutos de leitura

As 7 melhores alternativas ao PhantomJS que todo programador deve conhecer

As 7 melhores alternativas ao PhantomJS que todo programador deve conhecer

O que é o PhantomJS?

O que é o PhantomJS?

O PhantomJS era um navegador sem interface gráfica geralmente utilizado para automação web, ou seja, para automatizar tarefas manuais na web.

Os programadores também usavam o PhantomJS para executar JavaScript em qualquer página web e extrair dados de sites. Era possível extrair a maioria dos dados que se consegue com ferramentas modernas de web scraping, como a WebScraping API.

Simple PhantomJS ghost icon graphic on a white background

Agora, o que é um navegador sem interface gráfica?

Um navegador sem interface gráfica é um navegador que não possui uma Interface Gráfica de Utilizador (GUI). Em termos simples, é diferente do Google Chrome, do Safari e do Mozilla Firefox. É controlado programaticamente, sem que seja necessário abrir a página web em que se pretende trabalhar.

As razões pelas quais os programadores preferiram os navegadores headless foram:

  • Velocidade.
  • Menor carga no sistema.
  • Extracção de dados de sites.
  • Testes unitários.

Muitas pessoas sempre se perguntaram por que razão o PhantomJS teve de ser descartado se era assim tão bom. A resposta está no e-mail de Vitaly Slobodin.

Screenshot of a Google Groups announcement post about stepping down as PhantomJS maintainer

Veja como, neste e-mail, ele menciona que o Chrome é mais rápido e mais estável do que o PhantomJS. Além disso, ele também destaca como é difícil trabalhar sozinho no PhantomJS.

Estas são algumas das principais razões pelas quais ele teve de se afastar.

7 fantásticas alternativas ao PhantomJS

7 fantásticas alternativas ao PhantomJS

Agora que já sabe por que razão o PhantomJS deixou de existir, é altura de conhecer algumas das suas alternativas, para que possa continuar a utilizar navegadores headless. Além disso, estas alternativas evoluíram bastante nos últimos cinco anos e oferecem ainda mais funcionalidades.

Aqui está a nossa lista das 7 fantásticas alternativas ao PhantomJS que pode começar a usar a partir de hoje:

  • Chrome sem interface gráfica
  • Selenium
  • CasperJS
  • Zombie.js
  • BrowserSync
  • HtmlUnit
  • API de web scraping 1. Headless Chrome

O Headless Chrome é a alternativa número um da nossa lista porque o próprio Vitaly Slobodin o destacou.

Este navegador headless é utilizado regularmente por centenas de milhares de programadores. As funcionalidades e capacidades do PhantomJS encontram-se no Headless Chrome.

Chrome Developers blog page screenshot about getting started with headless Chrome

Todos sabemos que o Google Chrome está na vanguarda dos navegadores web. Muitos navegadores, como o Opera, o Vivaldi e o Google Chrome, foram desenvolvidos com base no Chromium. Para quem não sabe, o Chromium é um navegador de código aberto criado pela Google.

O Headless Chrome foi lançado por volta da mesma altura em que o PhantomJS foi descontinuado. Foi introduzido pela primeira vez como parte do Chrome na versão 59. Desde então, todas as versões do Chrome têm o Headless Chrome integrado. Atualmente, o Chrome está na sua versão 105, pelo que sabemos que já há algum tempo que vêm a experimentar e a melhorar o Headless Chrome.

Prós:

  • Suporta muitas funcionalidades.
  • Consome menos memória.
  • A depuração é fácil, uma vez que se trata de um navegador sem interface gráfica.
  • A instalação é relativamente rápida e fácil.
  • Melhor velocidade e estabilidade.
  • Suporte 24 horas por dia, 7 dias por semana.
  • Atualizações regulares.

Contras:

  • O Headless Chrome é quase perfeito, e muitos programadores preferem-no a outros. 2. Selenium
Selenium website screenshot with a green hero section stating that Selenium automates browsers

O Selenium foi apresentado ao mundo há cerca de 20 anos, em 2002. É semelhante ao PhantomJS porque também automatiza aplicações web e ajuda a testar as várias partes de uma página web.

Ao abrir o site do Selenium, depara-se com um site com um tema verde e branco, com a frase «O Selenium automatiza navegadores» escrita na parte superior. O site deixa claro desde o início que o principal objetivo deste navegador é a automatização.

Ao descer um pouco a página, vê-se três formas como o Selenium pode ajudar. São elas:

  • Automatização de regressão baseada no navegador.
  • Criação de scripts de reprodução de bugs e de automação.
  • Execução de testes em várias máquinas simultaneamente.

O Selenium cuida destes três objetivos através dos seus três serviços diferentes: Selenium WebDriver, Selenium IDE e Selenium Grid. Sinceramente, cada programador terá razões diferentes para usar navegadores headless. O site faz um excelente trabalho ao destacá-las na parte superior da página.

Mas atenção: o Selenium tem os seus prós e contras.

Prós:

  • Automatiza navegadores.
  • Oferece vários serviços, cada um com a sua finalidade.
  • É de código aberto, o que significa que são feitas alterações constantes 
  • A configuração é fácil.

Contras:

  • Não há suporte dedicado caso precise de ajuda.
  • Não suporta aplicações móveis.

3. CasperJS

CasperJS website screenshot showing install instructions for a navigation scripting tool

O CasperJS é outro navegador headless. O principal objetivo deste navegador é navegar, executar scripts e testar páginas web. O CasperJS é geralmente utilizado para testes de interface do utilizador, enquanto outros navegadores headless são utilizados para testes unitários. O CasperJS automatiza tarefas como preencher formulários, clicar em links, tirar capturas de ecrã, descarregar recursos e muitas outras.  

Prós:

  • Integração de alto nível com ferramentas de terceiros
  • Escrito em JavaScript.
  • É fácil aprender a usar o CasperJS.

Contras:

  • Não é adequado para testes unitários.
  • Por vezes, as capturas de ecrã não são precisas.

4. Zombie.js

Zombie.js website screenshot describing a headless browser testing framework with a sample code block

O Zombie.js é outro navegador headless conhecido pela sua velocidade incrível (pelo menos, é o que dizem no site deles). É uma ferramenta completa; pode usá-la tanto para testes front-end como back-end. Utiliza o Node.js e funciona na perfeição em JavaScript. Muitos programadores preferem-no porque é uma estrutura leve. Testa código do lado do cliente e fá-lo rapidamente.

Prós:

  • A integração é fácil, uma vez que funciona em Node.js.
  • Adicioná-lo à sua estrutura também é bastante fácil.
  • É extremamente rápido.
  • Leve. Coloca uma carga insignificante na sua máquina.

Contras:

  • Não permite tirar capturas de ecrã
  • A documentação não está completa.
  • Não há suporte disponível.
  • Não carrega muitos sites.

5. Browsersync

BrowserSync homepage screenshot promoting synchronized browser testing with a Get Started button

O Browsersync é um navegador sem interface gráfica, mas, ao mesmo tempo, não é um navegador sem interface gráfica. Deixe-me explicar. Pode utilizá-lo de ambas as formas: testar páginas web e extrair dados numa linha de comandos ou, se preferir uma interface gráfica para o ajudar, isso também é possível.  O Browsersync tem mais de 2 milhões de downloads por mês. É um número significativo, e temos a certeza de que consegue perceber que, se tantos programadores confiam nele, deve estar a fazer algo de bom. Grandes nomes como o Google e a Adobe também utilizam o Browsersync.

Prós:

  • É rápido e gratuito.
  • As URLs são guardadas.
  • Opção de escolher entre Interface Gráfica do Utilizador (GUI) ou Linha de Comandos (CL).
  • Funciona sem problemas no Windows, Mac OS e Linux.
  • É de código aberto, pelo que é constantemente atualizado.
  • Não necessita de um plugin de navegador.
  • Funciona na perfeição em computadores e dispositivos móveis.

Contras:

  • Configurar o Browsersync no Windows pode ser um pouco complicado.

6. HtmlUnit

Escrito por Mike Bowler e lançado sob a licença Apache 2, o HtmlUnit funciona como um navegador sem interface gráfica (headless). Está escrito em Java e funciona incrivelmente bem com JavaScript.

HtmlUnit documentation page screenshot describing a GUI-less browser for Java programs

Pode preencher formulários, clicar em links e fazer tudo o que é possível com um navegador utilizando este navegador sem interface gráfica. O site afirma que o JavaScript do HtmlUnit está em constante aperfeiçoamento, o que é uma boa notícia para os programadores.

Diz-se também que funciona bem com bibliotecas Ajax complexas e suporta os protocolos HTTP e HTTPS.

Prós:

  • Gratuito e fácil de configurar.
  • Lida com bibliotecas complexas de forma eficaz.
  • Os testes podem ser realizados utilizando o HtmlUnit.
  • As informações também podem ser recuperadas a partir de sites.
  • Também funciona no Android.

Contras:

  • Oferece funcionalidades limitadas, pelo que não é uma boa opção para quem procura muitas funcionalidades.

7. WebScraping API

7. WebScraping API

A maioria das alternativas ao PhantomJS apresentadas no blogue de hoje também é utilizada para extrair dados de sites. Embora o façam a um nível médio, ferramentas como a WebScraping API elevam tudo a um nível superior.

A WebScraping API não é apenas mais uma ferramenta de web scraping. É facilmente uma das melhores ferramentas de scraping, pois oferece muito por um preço reduzido de 49 dólares por mês. Pode escolher um plano de preços que lhe proporcione o melhor retorno sobre o investimento.

WebScrapingAPI pricing section showing Starter, Grow, Business, and Pro plan cards with monthly prices

Geralmente, quanto mais se paga por ferramentas de web scraping, mais funcionalidades e chamadas de API se obtém, uma vez que muitas delas apresentam pequenas diferenças nas funcionalidades. Ainda assim, o preço que cobram é quase o dobro, ao contrário do que acontece quando se escolhe a WebScraping API.

WebScrapingAPI homepage section showing product use cases and a world map with country markers

Mais de 10 000 empresas estabelecidas confiam nesta ferramenta, conseguindo realizar tudo sem distrair os empresários ocupados do seu objetivo principal. A Deloitte, a Perrigo e a InfraWare são apenas alguns dos muitos nomes que escolhem a WebScraping API como a sua ferramenta de eleição para extrair dados que acrescentam valor.

A forma como a API WebScraping funciona é simples. Recolhe HTML de qualquer página web utilizando uma API simples e apresenta-o de uma forma fácil de compreender, porque sabemos que nem toda a gente é especialista em decifrar dados complexos.

Muitas ferramentas de web scraping muitas vezes cumprem a tarefa inicialmente, mas depois são bloqueadas pelo site. Este problema fica resolvido quando escolhe a WebScraping API. Bloqueios de IP e CAPTCHAs tornam-se coisa do passado quando esta fantástica ferramenta está à sua disposição.

Vantagens:

  • 99,99% de tempo de atividade significa que nunca terá de esperar para extrair dados essenciais do site da sua escolha.
  • Os clientes empresariais beneficiam significativamente da segmentação geográfica, uma vez que têm acesso a mais de 195 localizações.
  • Recebe apoio constante da equipa da WebScrapingAPI, o que significa que nunca terá de se preocupar com quaisquer problemas.  
  • Empresas de qualquer dimensão podem beneficiar dos quatro planos diferentes.

Contras:

  • Não conseguimos identificar uma única desvantagem na utilização da API de web scraping.

A API de web scraping é a minha melhor alternativa

A API de web scraping é a minha melhor alternativa WebScrapingAPI homepage banner promoting REST APIs for web scraping

Agora que leu o blogue, sabemos que ainda pode estar confuso, porque escolher entre tantas boas opções não é fácil. Mas não se preocupe, porque já decidimos qual é a melhor opção, para que não tenha de gastar o seu tempo e dinheiro.

Produtos

  •  ScaperAPI
WebScrapingAPI Scraper API section showing a diagram of devices feeding into features like proxy rotation and CAPTCHA solving

A nossa ferramenta ScraperAPI pode ajudá-lo a recuperar dados de uma página web sem complicações. Pode obter HTML bruto de qualquer página online de forma rápida e fácil utilizando a nossa API intuitiva.

Além disso, gerimos automaticamente a renderização de JavaScript, CAPTCHAs e proxies para que se possa concentrar na aquisição dos dados de que necessita. O ScraperAPI é a sua ferramenta se precisar de recolher dados para análise ou investigação.

  • Scraper de resultados do motor de busca Google
WebScrapingAPI landing section for a Google Search Results scraper, showing export formats (JSON, CSV, HTML)

Pode extrair SERPs utilizando a WebScrapringAPI para encontrar informações sobre anúncios, resultados orgânicos, mapas, fotos, dados de compras, avaliações, gráficos de conhecimento e muito mais. Além disso, os resultados de pesquisa podem ser convertidos em dados estruturados JSON, CSV ou HTML. Isto simplifica a obtenção dos dados de que necessita, permitindo-lhe concentrar-se em utilizá-los para melhorar a sua empresa.

Para empresas e pessoas que pretendem tirar o máximo partido dos seus dados, a WebScrapringAPI é uma excelente ferramenta. É a ferramenta ideal para extrair dados das SERPs graças à sua interface intuitiva e funcionalidade robusta.

  • Amazon Product Scraper
WebScrapingAPI Amazon Product Scraper section showing a diagram extracting product fields into JSON

A WebScrapingAPI é a ferramenta ideal para quem procura recolher informações sobre dados de produtos da Amazon. Com esta ferramenta, pode obter detalhes completos dos produtos em formato JSON, CSV ou HTML de todas as categorias e países. Estas informações incluem avaliações, preços, descrições, dados ASIN, best-sellers, novos lançamentos e promoções.

Funcionalidades:

  • Web scraping de 360 graus: Todas as tarefas e casos de utilização de web scraping, tais como análise de mercado, monitorização de preços, informações sobre despesas de transporte, imobiliário, dados financeiros e muito mais, são totalmente suportadas pela API Web Scraper.
  • Obter dados formatados: Com a ajuda das nossas capacidades de regras de extração personalizadas, pode obter dados JSON estruturados com base nas suas necessidades individuais com apenas uma chamada à API. Ter um fluxo rápido de dados proporcionará à sua empresa uma vantagem competitiva.
  • Interações JavaScript: Para recolher dados com precisão, utilize sites JavaScript como um profissional, clicando, percorrendo e executando código JS exclusivo na página de destino enquanto aguarda o carregamento dos componentes.
  • Segurança: Para identificar informações potencialmente perigosas ou dados comprometidos, é possível criar fluxos automatizados de extração de dados a partir de qualquer site.
  • Imagens de dados: Incorpore capturas de ecrã de alta resolução das páginas ou secções do site de destino nas suas ferramentas ou aplicações. A API Web Scraper pode fornecer capturas de ecrã, JSON estruturado e HTML bruto.
  • Escalabilidade para empresas: Reduzimos custos desnecessários através da utilização de infraestruturas de hardware ou software. A recolha de dados precisos em grande escala é simplificada pela nossa infraestrutura na nuvem.

Preços:

WebScrapingAPI pricing table showing Starter, Grow, Business, and Pro plans with included credits

Dependendo das suas necessidades, a WebScrapingAP oferece uma variedade de opções de preços. O plano empresarial, que inclui créditos de API de volume personalizados, API de pesquisa da Amazon, API de extração de produtos, suporte prioritário por e-mail e um gestor de conta dedicado, começa nos 299 $ por mês. O plano inicial começa nos 49 $ por mês.

Conclusão

Quando comparado com outras opções, o WebScrapingAPI sai vencedor. Porquê? A ferramenta está repleta de funcionalidades. Não apenas repleta, mas cheia de funcionalidades que as pessoas realmente utilizam. É uma plataforma que automatiza o processo de extração de dados estruturados e não estruturados de uma página web, e pode ser crucial para a gestão de dados.

WebScrapingAPI marketing section showing customer logos and a headline about ready-to-use scraping APIs

A WebScrapingAPI oferece rastreamento em massa da web, código limpo, 99,99% de tempo de atividade, a arquitetura mais recente para melhorar o desempenho, uma variedade de planos com excelente relação custo-benefício e a confiança de mais de 10.000 empresas em todo o mundo.

Sobre o autor
Suciu Dan, Co-fundador @ WebScrapingAPI
Suciu DanCo-fundador

Suciu Dan é cofundador da WebScrapingAPI e escreve guias práticos, voltados para programadores, sobre web scraping em Python, web scraping em Ruby e infraestruturas de proxy.

Comece a construir

Pronto para expandir a sua recolha de dados?

Junte-se a mais de 2.000 empresas que utilizam a WebScrapingAPI para extrair dados da Web à escala empresarial, sem quaisquer custos de infraestrutura.