ScraperFlyAPI de dados web pronta para IA

request control

Tratamento de erros da API de scraping que leva a ações claras a seguir

Um scrape falhado deve informar à equipe o que fazer a seguir. ScraperFly ajuda os desenvolvedores a separar entradas ruins, limites de conta, falhas de acesso do lado do alvo, limites de taxa, problemas de renderização, respostas vazias, capturas excessivas e erros de saída, para que cada nova tentativa tenha um motivo.

Recuperação baseada em evidências

Corrija a causa antes de repetir a solicitação

Erros de scraping se tornam caros quando cada falha recebe a mesma resposta: tente novamente com mais força. Um URL ruim, uma chave inválida, um alvo 403, um limite 429, um tempo limite de renderização, uma estrutura HTML vazia e uma resposta excessiva são problemas diferentes com soluções diferentes.

ScraperFly fornece às equipes as evidências da solicitação que elas precisam para escolher o próximo passo de forma deliberada. Inspecione o status, a URL final, o tamanho da resposta, o tipo de conteúdo, o formato de saída, o comportamento de renderização e os sinais do alvo antes de adicionar execução de navegador, sessões, cabeçalhos, roteamento por país ou entrega premium.

diagnosticartentar novamente com backoffescalar com evidências
Equipe revisando categorias de erro da API de scraping e próximas ações em um painel

O que a manipulação de erros da API de scraping precisa responder?

Uma boa manipulação de erros faz mais do que dizer que uma solicitação falhou. Ela deve responder se o problema veio da solicitação, da conta, do alvo, do caminho da rede, da renderização do navegador, do formato de saída selecionado ou do parser downstream. Essa classificação decide se a próxima ação é correção, nova tentativa, espera, escalonamento ou uma captura menor.

É por isso que um fluxo de trabalho de scraping confiável deve registrar tanto o erro visível quanto as evidências ao redor. Uma resposta 200 com um corpo HTML pequeno pode ser menos útil do que um claro 403. Uma captura de tela bem-sucedida de uma página de erro ainda é uma falha de alvo. Um tempo limite de PDF pode ser um problema de escopo de saída em vez de um problema de proxy.

Conclusão prática: trate cada falha como uma decisão de roteamento para a próxima solicitação, não como um comando para repetir o mesmo perfil.

Quais erros de scraping devem ser corrigidos em vez de tentados novamente?

Algumas falhas devem parar o fluxo de trabalho imediatamente porque outra solicitação idêntica não pode ter sucesso. URLs ausentes, URLs malformadas, formatos não suportados, chaves de API inválidas, chaves pausadas, opções de arquivo incompatíveis e combinações de saída impossíveis são problemas de configuração. Eles precisam de validação e melhor feedback, não de backoff.

Erros de correção primeiro são onde a disciplina da API economiza dinheiro. Se a solicitação for inválida, gastar créditos em renderização, roteamento premium ou tentativas repetidas apenas oculta o verdadeiro problema. Valide a forma da solicitação cedo, depois envie lotes de produção apenas após a solicitação base estar correta.

Grupo de erroSinal comumMelhor próxima ação
Validação de entradaURL ausente, URL inválida, parâmetro não suportadoCorrija a solicitação antes de tentar novamente
AutenticaçãoChave de API ausente, inválida, desativada ou pausadaCorrija a configuração da conta ou da chave
Escolha de saídaFormato não suportado, opção de captura de tela ou PDF incompatívelEscolha um formato de resposta suportado
Problema de escopoResposta ou captura de arquivo excessivaReduza a captura ou use uma saída mais leve

Quais falhas merecem tentativas controladas?

Falhas temporárias podem ser tentadas novamente, mas a política de nova tentativa deve ser limitada. Timeouts de rede, respostas 5xx transitórias upstream e limites de 429 podem se recuperar após backoff. Repeti-las imediatamente com maior concorrência geralmente torna o fluxo de trabalho menos estável.

Uma política de nova tentativa forte registra o motivo, espera antes da próxima tentativa, limita o total de tentativas e muda a solicitação apenas quando as evidências apoiam uma mudança. Por exemplo, um erro 403 do lado do alvo pode precisar de análise de contexto de acesso, não de um loop de nova tentativa genérico. Uma resposta HTML vazia pode precisar de uma comparação entre bruto e renderizado antes de qualquer mudança de roteamento.

FalhaPostura de nova tentativaEvidência a inspecionar
TimeoutTentar novamente com um limite e backoffDuração, estabilidade do alvo, tempo de renderização, início da resposta
Resposta 5xx upstreamTentar novamente se o padrão temporário for plausívelHistórico de status, URL final, tamanho do corpo da resposta
Limite 429Diminuir a velocidade antes de aumentar a pressãoConcorrência, cadência de solicitações, limites da conta, tolerância do alvo
Resposta 403 do alvoDiagnosticar antes de tentar novamenteCabeçalhos, região, cookies, renderização, comportamento de roteamento

Quando a renderização, esperas ou roteamento devem ser escalonados?

A escalonamento deve seguir a prova. Ative a renderização JavaScript quando o conteúdo público útil estiver ausente do HTML de origem e aparecer após a execução do navegador. Adicione esperas de renderização quando o navegador abrir a página, mas o conteúdo carregar depois. Considere cabeçalhos, cookies, sessões, direcionamento por país ou roteamento premium quando as evidências da resposta apontarem para contexto, continuidade, geografia ou comportamento de acesso do lado do alvo.

A chave é não transformar cada alvo na solicitação mais pesada. Use renderização para páginas que precisam de execução do navegador, revise as evidências de timeout de renderização quando o trabalho do navegador falhar e inspecione os casos de resposta muito grande antes de escalar o mesmo perfil.

Conclusão prática: escale um controle de cada vez para que a equipe aprenda o que realmente corrigiu a resposta.

Como o ScraperFly torna as decisões de recuperação práticas?

ScraperFly ajuda os desenvolvedores a construir a recuperação em torno de evidências observáveis da solicitação: status, URL final, tipo de conteúdo, tamanho da resposta, formato de saída, comportamento de renderização e perfil de roteamento. Isso facilita manter alvos simples leves enquanto dá a alvos mais difíceis um caminho limpo para renderização, sessões, cabeçalhos, direcionamento por país, roteamento premium, capturas de tela ou PDFs quando são justificados.

Use o API Builder para reproduzir a solicitação do alvo, comparar formatos de saída e testar o próximo controle antes de conectar uma política de nova tentativa ao código. Em seguida, use preços e o calculadora de custo de crédito da API de scraping para manter os experimentos de recuperação alinhados com a carga de trabalho real.

Diagnóstico de falhas

Combine o caminho de recuperação ao comportamento do alvo

A manipulação de erros se torna mais fácil quando as equipes sabem se o alvo é estático, pesado em JavaScript, regional, com estado, limitado por taxa, excessivo, bloqueado ou retornando uma falha temporária upstream. ScraperFly ajuda a transformar essa evidência na próxima solicitação útil em vez de uma nova tentativa mais barulhenta.

Resposta HTML bruta mapeada para dados visíveis da página
01

Disponibilidade de HTML bruto

Verifique se os campos que você precisa já estão presentes na primeira resposta HTML.

Melhor primeiro teste para páginas simples, artigos, documentos, listagens e detalhes de produtos.

Comparação antes e depois da renderização do JavaScript
02

Dependência de JavaScript

Compare HTML bruto com o DOM renderizado ou captura de tela antes de ativar a renderização do navegador.

Use renderização quando o HTML bruto é apenas uma casca e scripts criam o conteúdo útil.

Cookies, consentimento, sessão e contexto de acesso para scraping
03

Estado e contexto de acesso

Identifique se cookies, consentimento, limites de login, paginação ou o mesmo estado do visitante afetam a resposta.

Use sessões e cabeçalhos quando a continuidade muda os dados que você recebe.

Variações de conteúdo regional entre países e rotas
04

Variação geo/conteúdo

Teste se país, idioma, moeda, inventário, SERP, anúncios ou reputação da rota mudam o resultado.

Use roteamento geo ou premium apenas quando o alvo provar que a resposta varia por rota.

Verificações antes de escolher a estratégia de recuperação

Onde está o campo alvo?

Verifique se o campo existe no HTML bruto, DOM renderizado, uma chamada de API, dados estruturados, um arquivo ou um estado de interação posterior.

O que muda na resposta?

Amostre algumas URLs e compare status, URL final, comprimento do conteúdo, redirecionamentos, estados vazios e diferenças nos resultados visíveis.

Qual contexto é necessário?

Marque qualquer dependência de consentimento, localidade, cookies, cabeçalhos, limite de autenticação, paginação, filtros ou solicitações anteriores.

Como é a falha?

Defina os sinais para respostas bloqueadas, parciais, obsoletas, redirecionadas, vazias, com tempo esgotado ou com região incompatível antes de escalar.

Mapeie o comportamento do alvo antes de mudar os controles

Modo de busca

A disponibilidade de HTML bruto decide se a primeira solicitação pode permanecer simples ou precisa de renderização, esperas, capturas de tela ou extração.

Contexto da solicitação

Os requisitos de estado decidem se é necessário adicionar cabeçalhos, cookies, sessões, manuseio de consentimento ou um perfil de visitante estável.

Escolha de roteamento

Descobertas geográficas e de reputação decidem se o roteamento padrão é suficiente ou se uma rota de país/premium é justificada.

Regras de validação

Estados de falha conhecidos se tornam verificações para novas tentativas, escalonamento, revisão de QA e decisão de quando um perfil mais leve ainda está completo.

Construtor de solicitação de recuperação

Construa a próxima solicitação a partir das evidências da resposta

Use status, URL final, tamanho da resposta, tipo de conteúdo, categoria de erro e evidências de saída para decidir se a próxima execução precisa de validação, renderização, esperas, cabeçalhos, sessões, direcionamento por país, roteamento premium ou um escopo de captura menor.

CFG
Configuração

Corrija entradas ruins antes de gastar em novas tentativas

URLs ausentes, chaves inválidas, formatos não suportados e opções de arquivo incompatíveis são trabalho de configuração, não trabalho de entrega.

missing_urlinvalid_key
NET
Entrega

Trate falhas de destino e de rede de forma diferente

Timeouts, respostas 5xx, redirecionamentos, limites de taxa e páginas bloqueadas apontam para diferentes caminhos de recuperação.

timeout403429
OUT
Saída

Verifique a forma da resposta antes de mudar o código do parser

HTML vazio, respostas excessivas, PDFs, capturas de tela e saída renderizada precisam de evidências antes que as regras do parser mudem.

html vaziopdfcaptura de tela

Sinais que orientam a recuperação de erros de scraping

status

Resultado HTTP ou categoria de erro do ScraperFly.

final_url

A URL após redirecionamentos e manipulação de destino.

size

Tamanho da resposta que indica saída vazia, bloqueada ou excessiva.

format

A forma da saída onde a falha apareceu.

exemplo de cURL

Gere Markdown com a mesma forma de solicitação que você pode mover para produção

curl "https://scraperfly.com/api/v1?url=https%3A%2F%2Fexample.com&format=markdown" \
  -H "apikey: YOUR_API_KEY"

Controle de custo de recuperação

Mantenha as tentativas acessíveis corrigindo a causa, não repetindo a mesma solicitação

Tentativas cegas transformam pequenas falhas em lotes caros. A recuperação direcionada mantém os créditos focados no próximo experimento útil: corrigir entradas ruins, desacelerar trabalhos com limite de taxa, renderizar apenas quando a fonte estiver incompleta e escalar o roteamento apenas quando as evidências do destino o suportarem.

Um pedido HTML leve retornando uma resposta simples
01

Fetch básico

Use um fetch básico quando o HTML público já contém os campos que você precisa.

Perfil de pedido mais leve; mantenha-o quando a resposta estiver completa.

Renderização JavaScript produzindo um DOM completo
02

Renderização

Use renderização quando o HTML bruto é uma casca e o JavaScript completa a página.

Perfil mais pesado; use-o apenas quando a saída do navegador alterar o resultado.

Várias solicitações preservando cookies e estado do visitante
03

Sessão com estado

Use sessões quando cookies, consentimento, local ou paginação alterarem a resposta.

Perfil de estado mais pesado; preserve-o apenas quando a continuidade for importante.

Roteamento de solicitações através de rotas geográficas e de maior qualidade
04

Roteamento e geo premium

Use roteamento premium ou geográfico apenas quando a origem, país, reputação ou conteúdo regional alterarem o resultado.

Perfil de roteamento mais pesado; aplique-o apenas a alvos que provem que precisam.

O que torna a recuperação de erros mais pesada

Mais trabalho de infraestrutura

Renderização de navegador, escolhas de roteamento e esperas mais longas significam que a plataforma precisa fazer mais do que retornar uma simples resposta.

Mais incerteza no alvo

Redirecionamentos, estados vazios, limites de taxa e páginas de desafio frequentemente requerem opções de entrega mais robustas ou tentativas novamente.

Mais estado a preservar

Cookies, sessões, consentimento e fluxos de múltiplas páginas adicionam partes móveis que um fetch sem estado simples não possui.

Mais evidências a retornar

Capturas de tela, PDFs, saída renderizada e artefatos de resposta mais ricos são úteis, mas são mais pesados do que HTML simples.

Como manter as execuções de recuperação previsíveis

Amostre antes de escalar

Teste um pequeno conjunto de URLs primeiro e agrupe alvos pelo perfil mais leve que retorna dados completos.

Não renderize por padrão

Inspecione o HTML bruto antes de ativar a renderização. Muitas páginas públicas já contêm os dados que você precisa.

Escalone com base em evidências

Suba apenas quando a resposta mostrar conteúdo ausente, dependência de estado, variação geográfica ou problemas de roteamento.

Meça resultados úteis

Otimize em torno de registros válidos entregues, não no volume bruto de solicitações. Um perfil mais leve é melhor apenas quando permanece completo.

Perguntas frequentes sobre erros

Perguntas comuns sobre solicitações de scraping falhadas

Respostas rápidas para equipes avaliando o comportamento da API de web scraping: formatos de solicitação, renderização JavaScript, roteamento de proxy, créditos, arquivos, segurança e faturamento.

Respostas rápidas
SETUP

Corrija primeiro

Alguns erros são problemas de configuração de solicitação ou conta.

Quais erros devem parar imediatamente?

URLs malformadas, URLs ausentes, formatos não suportados, chaves inválidas e opções de saída incompatíveis devem ser corrigidos antes que outra solicitação seja enviada.

Por que a validação é importante antes de escalar?

A validação impede que as equipes gastem créditos em solicitações que não podem ter sucesso porque a forma da solicitação está errada.

RETRY

Tente novamente com cuidado

Falhas temporárias precisam de limites e recuo.

Quais falhas podem ser tentadas novamente?

Timeouts, respostas 5xx selecionadas upstream e alguns limites de taxa podem ser tentados novamente com recuo limitado e registro claro.

Por que não tentar tudo novamente?

Tentativas não corrigem entradas ruins, formatos não suportados, comportamento de alvo bloqueado, shells de aplicativo vazios ou capturas excessivas.

ESCALATE

Mude os controles

Adicione controles mais pesados quando as evidências provarem que ajudam.

Quando a renderização deve ser ativada?

Ative a renderização quando o HTML fonte não contiver o conteúdo público útil e a página renderizada contiver.

Quando o roteamento deve mudar?

Altere o roteamento quando o status, região, comportamento de acesso ou evidências de entrega repetida mostrarem que o caminho padrão não é suficiente.

OUTPUT

Verifique a forma

O formato da resposta pode mudar o modo de falha.

O formato de saída pode causar erros?

Sim. Capturas de tela, PDFs, JSON, texto, Markdown e HTML têm diferentes preocupações de tamanho, renderização e validação subsequente.

E se a resposta for muito grande?

Trate respostas excessivamente grandes como um problema de escopo primeiro. Reduza a captura ou escolha uma saída mais leve antes de escalar o mesmo perfil de solicitação.