O Que Há de Novo
Você conhece a rotina. Abra o DevTools, recarregue, role por dezenas de requests até que uma delas contenha os preços procurados, clique com o botão direito, Copiar como cURL. Depois o trabalho real começa: remova os headers que só fazem sentido dentro do Chrome, reescreva tudo para o seu próprio cliente e descubra se ainda responde quando não vem do seu navegador.
A extensão do Chrome da FourA, agora em beta, reduz isso a alguns cliques. Ela adiciona uma aba FourA ao lado de Network que lista as requests da página, localiza aquela com o trecho de texto visível e a copia como uma chamada pronta para Single, Proxy Finder ou Browser, em curl, Python, Node ou MCP. A mesma extensão tem um popup que direciona o próprio Chrome por meio de um dos seus usuários de porta proxy.
Ela ainda não está na Chrome Web Store. Você faz o download em Ferramentas no Dashboard e a carrega em modo de desenvolvedor (Chrome, versão 116 ou superior). A extensão é gratuita; o tráfego pelo túnel consome a franquia de proxy do seu plano, e as chamadas executadas a partir do DevTools custam o valor padrão da API.
Como Funciona
Abra o DevTools na página que você quer coletar e selecione a aba FourA. Recarregue a página, e a aba listará as requests assim como a Network faz, com anúncios e analytics ocultos por padrão e uma opção Apenas este site para as requests próprias da página. Digite um preço, um nome de produto ou qualquer outro texto visível em Find in responses, e ela indicará as requests cuja resposta contém esse termo. Geralmente é nesse momento que você descobre que a página renderiza a partir de um endpoint JSON que você pode chamar diretamente.
Selecione a request, escolha um engine em FourA call e copie. Veja o formato curl para uma request JSON em uma página de e-commerce (reduzido: a cópia real inclui todos os headers enviados pela página):
curl https://api.foura.ai/api/single \
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"method": "GET",
"url": "https://shop.example.com/api/products?category=coffee&page=2",
"headers": [
["accept", "application/json"],
["referer", "https://shop.example.com/coffee"],
["accept-language", "en-GB,en;q=0.9"]
],
"browser": "Chrome",
"os": "macOS",
"unblocker": true
}'
Três detalhes nessa chamada são intencionais. Os headers trafegam como uma lista de pares, na ordem em que a página os enviou, que é o formato esperado pelo Single. Os headers que o Chrome gera para a própria conexão (host, content-length, accept-encoding, connection e mais alguns) são descartados, pois copiá-los quebra qualquer cliente que faça a chamada em seguida. E browser junto com os solicitam o browser profile compatível com o Chrome que você está usando. A versão é omitida de propósito: a chamada obtém a versão mais recente disponível em vez de ser rejeitada por exigir uma versão que não temos.
O formato MCP consiste no nome da ferramenta (foura_single) seguido pelo mesmo JSON, pronto para um agente que se comunica com o nosso MCP server.
Em seguida, há dois botões. Open in the playground carrega a chamada no Dashboard Playground, mantendo a mesma chave selecionada caso seja uma das suas. Run through FourA envia a requisição e exibe "The browser got" e "FourA got" lado a lado, para você verificar se a nossa resposta bate com a da página antes de escrever uma única linha de código.
Impact
O fluxo manual é amplamente documentado. O ScrapingBee's tutorial leva cinco etapas apenas para extrair o cURL do Chrome, ressaltando que a cópia inclui todos os headers e cookies enviados pelo navegador. É onde a maioria dos scrapers começa. Mas isso é apenas metade do trabalho, já que a cópia só prova que a request funciona no seu próprio navegador e em nenhum outro lugar.
A aba do FourA resolve as duas partes em um só lugar. Você localiza a request pelo conteúdo retornado em vez de adivinhar por URLs, obtém uma chamada no formato esperado pela API e, com um clique, valida se ela funciona do nosso lado. Isso se paga principalmente em páginas onde os dados chegam por meio de uma request cuja URL não revela nada.
Ainda não temos métricas consolidadas sobre o tempo economizado. O recurso está em beta, e a validação real será a sua próxima tarefa.
For Power Users
Mude o engine para Proxy Finder e o painel encapsula a mesma request, oferecendo a opção de Exit country:
{
"request": {
"method": "GET",
"url": "https://shop.example.com/api/products?category=coffee&page=2",
"headers": [["accept", "application/json"]],
"unblocker": true
},
"exitCountries": ["DE"]
}
exitCountries é uma allowlist estrita. A request nunca faz fallback para outro país, e o país que respondeu retorna como exitCountry. É um recurso de plano, portanto um plano sem direcionamento por país responde com uma recusa informando isso.
Browser recebe um formato diferente, pois abre páginas em vez de enviar requests. Ele recebe headers como um objeto, converte o header Cookie da página em uma lista de cookies vinculada ao host e omite user-agent e os headers de client-hint, já que o engine envia os seus próprios (com a opção de perfil ativa, ele envia o user agent desta janela). Ele apenas reproduz um GET sem body. Um POST de um formulário de busca pertence ao Single, onde um body JSON trafega como um objeto e qualquer outra coisa como a string exata que a página enviou.
Clique com o botão direito em qualquer request para as mesmas cópias, além de Copiar URL e Copiar response. A chave de API para execuções fica nas Configurações da aba e permanece até o Chrome fechar, a menos que você marque Manter a chave neste computador.
Um aviso importante. Uma chamada copiada com cookies reproduz a sessão na qual você está autenticado. Trate isso como uma senha e mantenha fora de tickets, chats e repositórios públicos.
A parte do popup também merece destaque. Ele mede o endereço que um site vê através do túnel em vez de lê-lo das suas configurações, e quando esse endereço é igual ao seu, ele exibe Não roteado. Quando o ícone fica vermelho com um número, o proxy recusou essa quantidade de conexões no último minuto, e o popup explica o motivo. As opções de username atrás da página Location são as mesmas documentadas pela porta do proxy.
O que vem a seguir
A extensão continua em beta, instalada a partir do Dashboard, até que a consideremos finalizada, e não estamos definindo uma data para publicação na Chrome Web Store. O Chrome é o único navegador para o qual ela é desenvolvida e testada. O guia de configuração descreve o que está disponível hoje; as próximas mudanças dependem do que você encontrar ao apontar a aba do FourA para um trabalho real.
Portanto, da próxima vez que uma página dificultar o trabalho do seu parser, abra o DevTools antes de abrir o HTML. O scraper mais eficiente geralmente é aquele que executa a request que a página já fez.