ScraperFlyAPI de dados web pronta para IA

developer api

API de Web Scraping cURL para captura de páginas públicas

Use cURL para provar uma solicitação ScraperFly antes de escrever o código de integração. Teste uma URL pública, escolha o formato de resposta, adicione renderização ou controles de solicitação apenas quando o alvo precisar deles e mova a mesma estrutura de solicitação para seu aplicativo, Postman, Python ou fluxo de trabalho Node.js.

Prova em terminal primeiro

Prove a solicitação em cURL antes que o fluxo de trabalho desapareça em código

cURL é a maneira mais rápida de ver se uma solicitação de scraping está formatada corretamente. A URL de destino, chave da API, formato de saída, escolha de renderização, cabeçalhos, sessões e controles de roteamento permanecem visíveis em um único comando de terminal antes que um trabalhador de backend ou wrapper SDK esconda os detalhes.

ScraperFly dá a esse teste de terminal um caminho de produção. Comece com uma solicitação de URL pública limpa, inspecione a resposta, depois adicione renderização de navegador, roteamento mais forte, segmentação por país, cabeçalhos, sessões, esperas, capturas de tela ou PDFs apenas quando o alvo provar que eles melhoram o resultado.

solicitação curlcontroles visíveiscopiar para código
Desenvolvedor testando uma solicitação de API de web scraping cURL e revisando a resposta da API

Como usar cURL com uma API de web scraping?

Use cURL para enviar uma URL pública de destino e opções de resposta para uma API de web scraping hospedada a partir do terminal. Um bom fluxo de trabalho cURL prova a resposta da página primeiro, depois adiciona renderização, roteamento, cabeçalhos, sessões ou saída visual apenas quando as evidências capturadas mostram que esses controles são necessários.

Isso torna o cURL útil antes que qualquer código de integração exista. Um desenvolvedor pode testar uma página, comparar formatos de resposta, ver evidências de status e conteúdo, e passar a forma exata da solicitação para um colega, API Builder, Postman, Python, Node.js, um trabalhador de fila ou um trabalho de produção. O comando do terminal se torna um pequeno contrato: esta é a URL, este é o output, estes são os controles, e esta é a razão pela qual eles estão habilitados.

Resumo prático: comece com cURL quando precisar de uma solicitação de prova transparente antes de transformar um fluxo de captura de página pública em código de aplicativo.

Por que os testes de scraping devem começar no terminal?

O trabalho de scraping inicial falha com mais frequência porque as equipes escrevem código em torno de um alvo que não inspecionaram completamente. Um script pode esconder a codificação da URL, autenticação, formato de saída, comportamento de redirecionamento, tamanho da resposta ou decisão de renderização por trás de funções auxiliares. Quando a resposta está vazia, bloqueada, muito grande ou faltando o conteúdo esperado, a equipe precisa depurar tanto o alvo quanto sua própria integração ao mesmo tempo.

Um teste em terminal primeiro mantém essa primeira decisão limpa. cURL mostra a forma da solicitação bruta. Você pode copiá-la, ajustar um parâmetro, comparar a próxima resposta e documentar a versão final sem tocar no código do aplicativo. Se a página for simples, o comando permanece simples. Se a página precisar de renderização de navegador, sessões, cabeçalhos, roteamento por país ou entrega mais forte, esses controles são adicionados com uma razão que pode ser vista na resposta.

Isso é especialmente útil quando várias pessoas tocam o fluxo de trabalho. Um engenheiro de dados pode provar a solicitação, um desenvolvedor de backend pode movê-la para o código, e um proprietário de produto pode entender por que um perfil mais pesado é necessário para um alvo, mas não para outro.

Teste de terminal O que prova Por que isso importa antes do código
Enviar uma URL pública O alvo pode ser alcançado através da API A equipe evita escrever lógica de integração em torno de uma URL ruim ou não representativa.
Escolher um formato de saída A forma da resposta se encaixa no consumidor a jusante Parsers, pipelines de IA, fluxos de QA e arquivos precisam de diferentes saídas.
Comparar captura bruta e renderizada JavaScript ou muda o conteúdo útil ou não A renderização se torna uma escolha precisa, não uma despesa padrão.
Adicionar cabeçalhos ou sessões deliberadamente O contexto da solicitação muda a página pública retornada O fluxo de trabalho mantém controles com estado ligados a evidências.
Inspecionar erros no terminal A falha está relacionada a entrada, autenticação, formato, alvo, limite, rede ou renderização Tentativas e escalonamentos não se tornam adivinhações.

O que o primeiro teste de solicitação de scraping cURL deve verificar?

A primeira solicitação deve responder a uma pergunta: a captura de página pública mais simples fornece evidências utilizáveis para seu fluxo de trabalho? Envie uma URL de destino real, escolha um formato de saída e inspecione o status, URL final, tipo de conteúdo, tamanho da resposta e corpo. Se o corpo contiver os campos que você precisa, o alvo pode não precisar de um navegador, roteamento premium, longas esperas ou arquivos visuais. Se o corpo for uma casca fina, faltando conteúdo chave, redirecionado inesperadamente ou claramente diferente da página visível, então você tem uma razão para testar uma opção mais pesada.

Não comece habilitando todos os controles disponíveis. Isso torna o primeiro resultado mais difícil de interpretar. Se a solicitação for bem-sucedida, você não sabe qual opção importou. Se falhar, você não sabe qual opção criou o problema. Comece com um perfil pequeno, mude uma coisa de cada vez e mantenha o comando final fácil de explicar.

Para um ponto de partida mais limpo, use o API Builder para gerar a solicitação canônica, depois copie o resultado para cURL, Postman ou código de backend uma vez que a resposta seja comprovada.

Qual formato de resposta uma workflow cURL deve tentar primeiro?

O formato de resposta certo depende do próximo sistema, não do hábito. HTML é melhor quando um parser precisa de estrutura DOM, seletores, atributos, links, tabelas ou metadados incorporados. Texto e Markdown são melhores quando um fluxo de conteúdo, índice de busca, pipeline RAG ou ferramenta de revisão precisa de conteúdo de página legível sem ruído de layout. Metadados JSON ajudam com registro e diagnósticos porque expõem evidências operacionais, como status, URL final, tipo de conteúdo e detalhes da resposta. Capturas de tela e PDFs são úteis quando humanos precisam de prova visual, revisão de QA, evidência de conformidade ou arquivos.

cURL é bom para essa escolha porque torna o teste de formato rápido. Você pode enviar a mesma URL pública, solicitar HTML, depois texto, depois Markdown, depois uma saída visual se o fluxo de trabalho precisar. O resultado é uma decisão sobre o que o aplicativo pode usar imediatamente, não um monte de conversores construídos antes que a equipe saiba o que o alvo retorna.

Saída a testar Use-a quando Decisão no terminal
HTML Seu parser precisa de estrutura, links, seletores ou marcação incorporada Use-a como o primeiro teste para captura de origem.
HTML renderizado O DOM útil aparece apenas após a execução do navegador Compare com HTML bruto antes de tornar a renderização o padrão.
Texto ou Markdown O fluxo de trabalho precisa de conteúdo legível para busca, resumos ou ingestão de IA Escolha o formato legível mais limpo que sua ferramenta a jusante pode usar.
Metadados JSON Você precisa de contexto operacional para registro, depuração ou classificação de solicitações Use-o para tornar as evidências de resposta visíveis em automações posteriores.
Captura de tela ou PDF O resultado deve ser revisado, arquivado ou provado visualmente Reserve a saída visual para fluxos de trabalho que precisam de evidências legíveis por humanos.

Quando uma solicitação cURL deve adicionar renderização, cabeçalhos, sessões ou roteamento?

Adicione controles quando a resposta lhe der uma razão específica. Habilite a renderização JavaScript quando o HTML de origem estiver faltando conteúdo que aparece após a execução do navegador. Adicione cabeçalhos quando um alvo público esperar um contexto de solicitação legítimo, como idioma, tipo de conteúdo ou comportamento de referer. Use sessões quando solicitações relacionadas dependem de cookies ou estado compartilhados. Adicione roteamento por país quando o conteúdo público mudar por localização, idioma, moeda, disponibilidade ou comportamento de redirecionamento regional. Considere roteamento mais forte quando evidências repetidas mostrarem que o caminho simples não recupera uma resposta utilizável.

O ponto não é manter cada solicitação mínima para sempre. O ponto é manter cada atualização conectada ao alvo. cURL ajuda porque cada opção permanece visível. Se alguém perguntar por que uma solicitação usa renderização ou roteamento premium, a resposta deve estar no histórico de amostras: HTML bruto perdeu o conteúdo, a página regional mudou, a sessão carregou o estado necessário ou o alvo falhou repetidamente pelo caminho mais leve.

Para páginas que dependem fortemente da execução do navegador, compare o caminho da API de renderização JavaScript. Para fluxos de solicitações com estado, use a página API de sessões. Para contexto de solicitação, revise cabeçalhos personalizados.

Como os desenvolvedores devem passar de cURL para código de produção?

Movimente apenas a forma de solicitação comprovada para o código. O aplicativo não deve herdar todas as opções experimentais que foram testadas no terminal. Mantenha o perfil final da solicitação pequeno, nomeie por que cada controle existe e registre as evidências de resposta que importam para o fluxo de trabalho. Isso torna falhas futuras mais fáceis de diagnosticar porque a equipe pode comparar o comportamento de produção com a prova original do terminal.

Integrações Python e Node.js devem gerenciar agendamento, filas, parsing, armazenamento, alertas, política de tentativas e lógica de negócios. ScraperFly deve gerenciar a camada de captura de páginas públicas: entrega de solicitações, renderização quando necessário, formatos de saída, controles de roteamento e evidências de resposta. cURL fica entre esses mundos. Ele prova a solicitação da API antes que a integração a transforme em código reutilizável.

Quando a solicitação estiver estável, entregue-a ao caminho de implementação correto: Python para scripts, notebooks, trabalhos de dados e fluxos de análise; Node.js para serviços de backend, filas, agentes e aplicações web.

Quais erros tornam os testes de scraping cURL enganosos?

O maior erro é testar uma URL fácil e assumir que todo o conjunto de alvos se comporta da mesma maneira. Um fluxo de trabalho de produção deve amostrar os tipos reais de páginas: páginas estáticas, páginas pesadas em JavaScript, páginas regionais, páginas com redirecionamentos, páginas que podem exigir estado e páginas onde a prova visual importa. Outro erro é usar cURL como um plano de crawler completo. cURL prova uma solicitação. Não substitui agendamento, lógica de descoberta, design de parser, armazenamento, monitoramento ou disciplina de tentativas.

É também fácil deixar controles apenas para teste no perfil final. Longas esperas, renderização, roteamento mais forte, capturas de tela e PDFs podem ser úteis, mas não devem permanecer habilitados apenas porque foram testados uma vez. Mantenha o comando legível. Mantenha a saída ligada ao consumidor a jusante. Mantenha o custo da solicitação alinhado com o que o alvo realmente precisa.

Resumo prático: um bom teste cURL não é a solicitação mais poderosa que você pode construir; é a solicitação mais clara que prova o que a produção deve enviar.

Onde uma equipe deve começar?

Comece com uma URL pública real no API Builder, gere o comando cURL e execute-o a partir do terminal. Inspecione a resposta antes de escrever wrappers ou workers. Se o conteúdo estiver presente, mantenha a solicitação leve. Se estiver faltando, adicione um controle de cada vez e compare o resultado. Uma vez que o comando seja comprovado, mova a mesma forma de solicitação para a implementação que possui o restante do fluxo de trabalho.

Para decisões de saída, use o guia de formatos de resposta. Para planejamento de custos, revise preços depois que você souber quais perfis de solicitação seus alvos reais requerem.

Fluxo de trabalho cURL

Teste uma solicitação ScraperFly a partir do terminal antes de adicionar o código SDK

Use o terminal para manter cada escolha de solicitação visível: URL de destino, formato de saída, renderização, roteamento, cabeçalhos, sessões, esperas e saída de arquivo. Uma vez que a resposta seja comprovada, a mesma forma de solicitação pode ser movida de forma limpa para Postman, Python, Node.js ou um trabalho de backend.

cURL
Terminal primeiro

Comece com uma solicitação copiável

Um comando cURL torna a URL, autenticação, formato e controles de solicitação explícitos antes que o código do aplicativo esconda as partes móveis.

curlapikeyurl
FMT
Escolha de saída

Escolha a resposta que sua ferramenta espera

Retorne HTML para parsers, texto ou Markdown para pipelines de conteúdo, metadados JSON para diagnósticos, ou arquivos visuais quando humanos precisarem de prova.

htmlmarkdownjson
CTRL
Controles de entrega

Adicione controles após a primeira resposta

Renderização, roteamento premium, segmentação por país, sessões, cabeçalhos e esperas são mais fáceis de justificar quando o primeiro exemplo mostra o que está faltando.

renderizarcabeçalhossessões

Parâmetros cURL que valem a pena testar primeiro

url

A página pública a ser buscada, renderizada, convertida ou capturada.

format

A forma de saída retornada ao terminal ou script.

render

Renderização de navegador para páginas construídas em JavaScript.

premium

Roteamento mais forte para alvos que rejeitam o caminho simples.

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"

Antes que o cURL cresça

Mantenha o teste do terminal pequeno até que a resposta do alvo prove complexidade

Um fluxo de trabalho cURL é útil porque cada opção permanece visível. Inspecione status, tipo de conteúdo, tamanho da resposta, redirecionamentos, dependência de JavaScript e qualidade da saída antes de adicionar mais controles de solicitação.

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 adicionar mais flags

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.

Como cada resposta muda a solicitação cURL

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.

Tratamento de erros

Transforme falhas de scraping em soluções

Todo fluxo de trabalho de dados da web eventualmente encontra uma resposta ruim: uma URL ausente, uma chave inválida, uma estrutura HTML vazia, um alvo 403, um limite de taxa, um tempo limite de renderização, uma captura de PDF quebrada ou um payload JSON que não contém os campos que seu produto esperava. ScraperFly é construído para tornar esses momentos diagnosticáveis. Você inspeciona o status HTTP, o código de erro estável, o perfil de solicitação e o artefato retornado, então escolhe o próximo movimento útil mais barato: corrigir a solicitação, adicionar créditos, desacelerar, tentar novamente com backoff, habilitar renderização, mudar de país, usar roteamento premium, preservar cabeçalhos ou validar a saída antes de escalar.

Formato de erro estávelDecisões de tentativa novamenteEscalação consciente de custosValidação de saída
Desenvolvedor revisando código e parâmetros de solicitação da API em um laptop

01 / Configuração de solicitação e acesso

Corrija os erros de solicitação primeiro

Algumas falhas não são problemas de destino. Elas ocorrem antes que o ScraperFly possa fazer uma tentativa de entrega significativa: uma URL ausente ou malformada, um formato de saída não suportado, um tipo de arquivo visual incompatível, uma chave de API ausente, uma chave inválida ou uma chave que foi pausada ou desativada. Esses erros são sinais de configuração, não sinais de nova tentativa: pare o fluxo de trabalho, aponte para o desenvolvedor o campo exato que precisa de correção e mantenha os créditos focados em testes reais de destino em vez de entradas ruins repetidas.

missing_urlinvalid_urlunsupported_formatinvalid_api_key
  • Valide a URL e a codificação antes de enviar um lote.
  • Use saídas suportadas: HTML, texto, Markdown, JSON, captura de tela ou PDF.
  • Combine tipos de arquivo de captura de tela com saída de imagem e tipo de arquivo PDF com saída PDF.
  • Trate chaves de API ausentes ou inválidas como trabalho de configuração, não como trabalho de nova tentativa.
Painel de negócios com gráficos, documentos e planejamento de uso em uma mesa

02 / Créditos, limites e concorrência

Separe limites de falhas

Uma carga de trabalho pode falhar porque a conta não tem créditos utilizáveis, o limite do plano mensal foi atingido ou a concorrência é muito agressiva para o plano atual e a mistura de destinos. O ScraperFly torna esses limites visíveis como sinais operacionais, não como falhas de raspagem misteriosas. Isso mantém a decisão de compra prática: comece grátis, teste o destino, compre créditos pay-as-you-go para trabalhos irregulares, mude para créditos mensais quando o volume se tornar previsível e use backoff quando a pressão de solicitação for o verdadeiro problema.

usage_limit_reachedrate_limitedcreditsbackoff
  • Use o status da conta para verificar os créditos restantes antes de grandes execuções.
  • Tente limites de taxa com backoff em vez de aumentar a pressão imediatamente.
  • Mantenha projetos pontuais no modelo pay-as-you-go quando o volume for irregular.
  • Mova trabalhos recorrentes previsíveis para créditos mensais quando o padrão estiver comprovado.
Sala de servidores representando caminhos de entrega, roteamento e infraestrutura de rede

03 / Entrega alvo e rede

Encontre falhas de entrega primeiro

Muitas plataformas de scraping colapsam problemas de entrega em uma falha de solicitação vaga. Em produção, isso não é suficiente. A equipe precisa saber se a solicitação expirou, se o alvo upstream retornou um erro temporário do servidor, se a conexão falhou, se a resposta foi muito grande, se os redirecionamentos foram para algum lugar inesperado, ou se a página retornou como um HTML pequeno sem conteúdo útil. O ScraperFly transforma essas falhas em evidências de entrega: tente primeiro o perfil leve, compare status e tamanho da resposta, e então decida se a próxima solicitação precisa de backoff, outro caminho, proxy premium, direcionamento por país, ou uma captura mais restrita.

timeout5xxredirecionamentosresposta_muito_grande
  • Tente novamente falhas temporárias de rede e upstream com uma política de backoff controlada.
  • Compare URL final, status, tipo de conteúdo e tamanho da resposta entre amostras.
  • Escalone o roteamento apenas quando a resposta provar que o caminho simples é instável.
  • Trate respostas excessivas como um problema de escopo antes de escalar o mesmo perfil.
Tela de segurança digital representando sinais de anti-bot e acesso protegido

04 / Anti-bot, geo e bloqueios de acesso

Leia os blocos antes da escalada

Uma tela de erro 403, 401, 429, CAPTCHA, desafio WAF, parede de login, loop de consentimento ou incompatibilidade específica de região não é apenas um erro; é uma pista sobre o que o site espera do visitante. Concorrentes frequentemente empurram as equipes para um perfil padrão mais pesado, mas isso pode queimar orçamento sem provar a solução. O caminho melhor da ScraperFly é a escalada baseada em evidências: preserve cabeçalhos realistas quando o contexto importa, use sessões quando a continuidade muda a resposta, habilite renderização quando o conteúdo útil é construído pelo navegador e escolha roteamento premium ou por país quando a reputação ou geografia muda o resultado.

403429CAPTCHAincompatibilidade de país
  • Use roteamento premium quando a reputação do IP for o gargalo comprovado.
  • Use segmentação por país quando idioma, moeda, inventário ou resultados de busca mudam por mercado.
  • Use cabeçalhos, cookies e sessões quando o estado do visitante muda a resposta.
  • Reduza a concorrência e adicione backoff quando solicitações repetidas acionam a limitação do alvo.
Desenvolvedor preparando código e artefatos de saída em um laptop

05 / Qualidade de renderização e saída

Envie artefatos utilizáveis

Um status 200 não é a mesma coisa que um scrape utilizável. O HTML bruto pode ser uma shell de aplicativo vazia, Markdown pode perder o artigo principal, JSON pode faltar metadados esperados, texto pode incluir ruído, capturas de tela podem estar em branco, e a saída em PDF ou imagem pode falhar se a etapa do navegador expirar. A ScraperFly é valiosa porque a mesma solicitação de API pode passar de HTML bruto para DOM renderizado, texto limpo, Markdown, JSON, captura de tela ou PDF, e então ser verificada contra o artefato que seu produto realmente precisa. Isso reduz código de cola, importações falhadas e execuções em lote caras que apenas descobrem saída ruim depois do fato.

render_timeoutbrowser_render_failedcampos JSONsaída em PDF/imagem
  • Habilite a renderização quando o HTML bruto for apenas uma shell e o conteúdo útil aparecer após o JavaScript.
  • Valide texto, Markdown e JSON em relação aos campos esperados antes de agrupar.
  • Use captura de tela ou saída em PDF quando prova visual ou evidência de auditoria são importantes.
  • Trate artefatos em branco ou parciais como falhas de qualidade, mesmo quando o status HTTP é bem-sucedido.
Ajuste do ScraperFly

Recuperação de erro mais limpa

ScraperFly ajuda equipes a decidir o que corrigir, o que tentar novamente e o que escalar sem transformar cada raspagem no perfil de solicitação mais caro.

Formato de erro estável

Use o status HTTP e o código de erro juntos para que a lógica da aplicação possa escolher entre corrigir a entrada, atualizar credenciais, desacelerar, tentar novamente ou escalar a entrega.

Tente novamente apenas quando ajudar

Falhas de rede, limites de taxa e erros temporários do servidor podem usar backoff. URLs inválidas, formatos não suportados e chaves ruins devem ser corrigidos uma vez.

Escalação consciente de custos

Comece com o perfil de solicitação leve, depois adicione renderização, roteamento premium, país, sessões, cabeçalhos, esperas ou captura visual apenas quando a falha provar isso.

Valide a saída antes de escalar

Confirme o artefato real que seu produto precisa: HTML, texto, Markdown, JSON, captura de tela ou PDF, antes de copiar o mesmo perfil em um grande conjunto de URLs.

Testes conscientes de custo

Use amostras de cURL para encontrar a solicitação mais leve que ainda funcione

Pequenos testes no terminal ajudam a evitar padrões caros. Tente o perfil simples primeiro, depois adicione renderização, roteamento premium, sessões ou saída de arquivo somente quando a resposta provar que a atualização é útil.

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.

Controles que podem mudar o peso da solicitação cURL

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 os testes no terminal econômicos

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 sobre cURL

Perguntas comuns sobre solicitações de web scraping com cURL

Respostas práticas para desenvolvedores usando cURL para validar a forma da solicitação ScraperFly antes de mover a captura de página pública para o código.

cURL FAQ
REQUESTS

Fazendo a primeira solicitação

Use cURL para provar o alvo e a forma da resposta antes que o trabalho de integração comece.

Posso testar ScraperFly a partir do cURL?

Sim. cURL é um bom primeiro passo para testar uma URL pública, formato de resposta, escolha de renderização e controles de solicitação antes que o fluxo de trabalho se mova para o código de backend.

Devo escrever o comando cURL à mão?

Você pode, mas o API Builder é mais seguro para a primeira versão porque mantém a solicitação canônica e mais fácil de copiar para Postman, Python, Node.js ou um executor de tarefas.

OUTPUT

Escolhendo uma resposta

A melhor saída é aquela que sua ferramenta downstream pode usar sem limpeza extra.

Qual saída devo tentar primeiro?

Tente HTML quando você precisar de marcação para análise. Tente texto ou Markdown para fluxos de trabalho de conteúdo legível. Use metadados JSON para diagnósticos e capturas de tela ou PDFs para revisão visual.

O cURL pode testar capturas de tela ou PDFs?

Sim. Saídas visuais podem fazer parte da forma do pedido quando o fluxo de trabalho precisa de prova, revisão de QA ou arquivos, em vez de apenas conteúdo legível por máquina.

CONTROLS

Adicionando complexidade

Controles devem resolver um problema de resposta visível, não aparecer em cada amostra por padrão.

Quando devo ativar a renderização em um teste cURL?

Ative a renderização quando o HTML de origem não contiver conteúdo útil que aparece após a execução do navegador. Se o HTML bruto já contém os dados, mantenha o pedido mais leve.

Posso testar cabeçalhos, sessões ou roteamento por país?

Sim. Adicione-os quando a página pública mudar pelo contexto do pedido, continuidade, idioma, moeda, localização ou comportamento de roteamento.

HANDOFF

Movendo para o código

O comando final deve se tornar um perfil de pedido claro, não um monte de experimentos.

O que o código de produção deve herdar do cURL?

Mova a forma de pedido comprovada para o código: manipulação de URL, formato de saída e apenas os controles que melhoraram a resposta durante os testes.

O cURL substitui a lógica de rastreamento ou análise?

Não. O cURL prova o pedido da API. Sua aplicação ainda é responsável pelo agendamento, descoberta, análise, armazenamento, tentativas e lógica de negócios específica do produto.