🎯 Um navegador em nuvem personalizável e anti-detecção alimentado por Chromium desenvolvido internamente, projetado para rastreadores web e agentes de IA. 👉Experimente agora
De volta ao blog

Como Executar o Crawl4AI em um Navegador com Impressão Digital Não Detectada

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

09-Jul-2026

TL;DR:

  • Crawl4AI já fala o Protocolo DevTools do Chrome, então apontá-lo para o Scrapeless é uma mudança de duas linhas. Defina browser_mode="cdp" e cdp_url para o endpoint WebSocket do Scrapeless, e cada rastreamento arun() será executado em um navegador na nuvem em vez de no Chromium local.
  • Um navegador Crawl4AI local vaza automação em três eixos: a flag navigator.webdriver, uma impressão digital padrão sem cabeça e seu próprio IP de saída. Sistemas anti-bot avaliam todos os três juntos.
  • O Navegador de Scraping Scrapeless responde a todos os três no lado do servidor — um Chromium real auto-desenvolvido, uma impressão digital consistente por sessão sem indício de webdriver, e saída residencial em mais de 195 países.
  • Sua lógica de rastreamento permanece inalterada. Estratégias de extração, CrawlerRunConfig, divisão e saída em markdown funcionam exatamente como funcionam localmente; apenas a fonte do navegador muda.
  • Verificado ao vivo: um rastreamento Crawl4AI sobre o navegador na nuvem Scrapeless retornou HTTP 200 e mais de 11.000 caracteres de markdown limpo, e uma verificação separada leu navigator.webdriver como false em um IP residencial dos EUA.
  • Gratuito para começar. Novas contas Scrapeless incluem tempo de execução gratuito do Navegador de Scraping — inscreva-se em app.scrapeless.com.

Crawl4AI controla um verdadeiro Chromium por meio do Playwright para transformar páginas em markdown pronto para LLM. Execute-o contra um navegador em sua própria máquina e cada rastreamento herda os sinais que tornam a automação óbvia: ele se anuncia através da propriedade navigator.webdriver, envia fontes e comportamento de canvas padrão sem cabeça, e sai de um IP que serviços de reputação já reconhecem.

Você pode corrigir cada uma dessas questões localmente e continuar corrigindo à medida que o Chromium e os detectores avançam. Existe um caminho mais curto. Crawl4AI pode se conectar a qualquer navegador que fale o Protocolo DevTools do Chrome através da sua configuração cdp_url, e o Navegador de Scraping Scrapeless é um endpoint CDP acessado por meio de uma URL WebSocket. Aponte o Crawl4AI para isso e a impressão digital, a superfície comportamental e o IP de saída se movimentam do lado do servidor — o código do rastreador permanece onde está.


O que você pode fazer com isso

  • Rastrear páginas protegidas por anti-bot — o navegador na nuvem elimina desafios durante a renderização, então arun() retorna conteúdo em vez de um intersticial.
  • Localizar o rastreamento — fixe proxyCountry para que uma página se resolva da maneira como um visitante naquele mercado a vê.
  • Enviar uma impressão digital consistente — passe um objeto fingerprint para que o agente do usuário, plataforma, tela e fuso horário permaneçam coerentes entre as execuções.
  • Reutilizar o estado de login — mantenha um profileId para que cookies e armazenamento local persistam entre os rastreamentos.
  • Escalar além do seu laptop — sessões são executadas na nuvem, então um lote de URLs não está vinculado a um único Chromium local.
  • Manter a extração inalterada — estratégias de CSS/XPath, extração LLM e geração de markdown se comportam de forma idêntica.

O Navegador de Scraping Scrapeless é um navegador na nuvem personalizável e anti-detecção, projetado para rastreadores da web e agentes de IA. Para o Crawl4AI especificamente, ele traz:

  • Um verdadeiro Chromium auto-desenvolvido que executa JavaScript de página exatamente como o Chrome, então o conteúdo renderizado pelo cliente é anexado antes que arun() o leia.
  • Uma impressão digital consistente por sessão — sem indício de navigator.webdriver, sem padrões sem cabeça vazando.
  • Saída residencial em mais de 195 países, selecionada por sessão com um único valor proxyCountry.
  • Persistência de sessão através de profileId, de modo que um rastreamento autenticado mantenha seu estado.
  • Uma superfície de conexão — cada opção é um parâmetro de consulta no mesmo endpoint WebSocket.

Obtenha sua chave API no plano gratuito em app.scrapeless.com.


Pré-requisitos

  • Python 3.10 ou mais recente com asyncio
  • Crawl4AI instalado (pip install crawl4ai)
  • Uma conta Scrapeless e token API — inscreva-se em app.scrapeless.com

Os exemplos abaixo são verificados contra uma sessão Scrapeless ao vivo. Detalhes completos da conexão estão nas documentações de integração do Crawl4AI.


Instalar

Crawl4AI traz seu próprio suporte Playwright/CDP, então a integração não precisa de pacotes de navegador extras.

bash Copy
pip install crawl4ai python-dotenv
export SCRAPELESS_TOKEN=seu_token_api_aqui   # chave gratuita em https://app.scrapeless.com

Configurar a conexão

O endpoint Scrapeless é wss://browser.scrapeless.com/api/v2/browser, e cada opção é um parâmetro de consulta. Construa a URL uma vez e entregue-a a BrowserConfig.

python Copy
import os
from urllib.parse import urlencode

def scrapeless_cdp_url() -> str:
    params = {
        "token": os.environ["SCRAPELESS_TOKEN"],
        "sessionName": "Crawl4AI",
        "sessionTTL": 180000,      # milissegundos
        "proxyCountry": "US",
    }
    return f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(params)}"

Defina browser_mode="cdp" e passe cdp_url. Todo o resto — o ciclo de vida do crawler, CrawlerRunConfig, o resultado em markdown — é padrão do Crawl4AI.

python Copy
import asyncio
import os
from urllib.parse import urlencode
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig

def scrapeless_cdp_url() -> str:
    params = {
        "token": os.environ["SCRAPELESS_TOKEN"],
        "sessionName": "Crawl4AI",
        "sessionTTL": 180000,      # milissegundos
        "proxyCountry": "US",
    }
    return f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(params)}"

async def main() -> None:
    async with AsyncWebCrawler(
        config=BrowserConfig(
            headless=True,
            browser_mode="cdp",
            cdp_url=scrapeless_cdp_url(),
        )
    ) as crawler:
        result = await crawler.arun(
            url="https://www.scrapeless.com/en",
            config=CrawlerRunConfig(wait_for="css:body", scan_full_page=True),
        )
        print("status:", result.status_code)
        print("title:", result.metadata.get("title"))
        print("markdown chars:", len(result.markdown.raw_markdown))

asyncio.run(main())

Uma execução ao vivo deste crawl retornou status: 200, o título da página Toolkit de Web Scraping Sem Esforço - Scrapeless, e mais de 11.000 caracteres de markdown limpo — o mesmo objeto de resultado que o Crawl4AI produz localmente, extraído através do navegador na nuvem.

Obtenha sua chave API no plano gratuito: app.scrapeless.com

Enviar uma impressão digital consistente

Um objeto fingerprint mantém a identidade anunciada do navegador coerente — agente do usuário, plataforma, tela, idioma e fuso horário todos concordam, que é o que checagens de pontuação anti-bot verificam. Codifique em JSON, e então passe como mais um parâmetro de consulta. A especificação W3C WebDriver exige que a automação conformada defina a flag webdriver; o navegador na nuvem não a transporta, então uma impressão digital consistente não tem indicativos contraditórios ao seu lado.

python Copy
import json
from urllib.parse import quote, urlencode

def fingerprint_cdp_url() -> str:
    fingerprint = {
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/126.0.0.0 Safari/537.36",
        "platform": "Windows",
        "screen": {"width": 1920, "height": 1080},
        "localization": {"languages": ["pt-BR", "pt"], "timezone": "America/Sao_Paulo"},
    }
    params = {
        "token": os.environ["SCRAPELESS_TOKEN"],
        "sessionTTL": 180000,
        "fingerprint": quote(json.dumps(fingerprint)),
    }
    return f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(params)}"

Roteie o crawl através de uma região escolhida

Altere proxyCountry para um código de país ISO para selecionar egressos residenciais; um verificação contra um endpoint de eco de IP durante a verificação confirmou que o IP de saída era um endereço residencial dos EUA e navigator.webdriver era lido como false.

python Copy
params = {
    "token": os.environ["SCRAPELESS_TOKEN"],
    "sessionTTL": 180000,
    "proxyCountry": "DE",   # ou "US", "JP", "ANY"
}

Onde o Chromium local para

Executar o Crawl4AI em seu próprio Chromium é aceitável para páginas abertas e desprotegidas. A fricção começa onde o alvo pontua o navegador: um aplicativo renderizado pelo cliente que nunca anexa seu conteúdo a um padrão headless, uma intersticial de desafio que trava em um IP de datacenter, ou uma parede de login que deseja uma identidade estável em visitas. Cada uma dessas é um problema de impressão digital, comportamento ou IP — exatamente os três que o navegador na nuvem lida do lado do servidor. Mover o navegador para a Scrapeless entrega esses casos a uma sessão gerenciada enquanto seus chamados arun() e estratégias de extração permanecem idênticos.


O que você recebe em troca

O resultado é o objeto padrão do Crawl4AI — status_code, metadata, markdown, links, media, e qualquer extração estruturada que você configurou. Algumas observações honestas de sua execução pelo navegador na nuvem:

  • navigator.webdriver está ausente, então a primeira checagem que um site faz lê como um Chrome real.
  • sessionTTL está em milissegundos aqui — o modo CDP do Crawl4AI passa o valor diretamente, então 180000 são três minutos, não 180.
  • O IP de saída corresponde a proxyCountry — páginas geo-restritas aparecem como um visitante local as vê.
  • wait_for ainda governa a prontidão — use uma condição CSS (css:body, um seletor de conteúdo) para que arun() leia a página após a renderização do cliente, e não antes.

Crawl4AI decide o que extrair; Scrapeless decide como o navegador aparece para o site. A integração é feita por duas configurações — browser_mode="cdp" e um cdp_url — e o restante do seu pipeline permanece inalterado. Fique com proxyCountry em uma região residencial, passe um fingerprint coerente e reutilize um profileId para rastreamentos autenticados. Para conectar outra biblioteca de scraping Python ao mesmo navegador em nuvem, veja o guia de produção do Scrapling, e compare planos na página de preços do Scrapeless.


Pronto para Construir Seu Pipeline de Rastreamento com IA?

Junte-se à nossa comunidade para reivindicar um plano gratuito e se conectar com desenvolvedores que estão construindo pipelines do Crawl4AI: Discord · Telegram.

Inscreva-se em app.scrapeless.com para obter runtime gratuito do Navegador de Scraping e aponte o cdp_url do Crawl4AI para o navegador em nuvem que seus alvos não conseguem identificar.


FAQ

P: Preciso mudar meu código de extração do Crawl4AI?
Não. Você muda como o navegador é criado — browser_mode="cdp" mais um cdp_url — e o ciclo de vida do rastreador, CrawlerRunConfig, estratégias de extração e saída markdown permanecem exatamente os mesmos.

P: Por que não apenas executar o Crawl4AI no Chromium local?
O Chromium local é executado no seu IP, anuncia automação através de navigator.webdriver e exige que você mantenha patches de furtividade. O navegador em nuvem é uma sessão gerenciada com saída residencial integrada e uma impressão digital consistente — mesma API de rastreador, sem manutenção.

P: Preciso de um proxy?
Não. A saída residencial está embutida — defina proxyCountry para uma região ou ANY. Não há um proxy separado para configurar.

P: O sessionTTL está em segundos ou milissegundos?
No modo CDP do Crawl4AI, o valor é passado como milissegundos, então 180000 significa três minutos. Defina-o suficientemente longo para cobrir o rastreamento completo.

P: O scraping web com Crawl4AI é legal?
Acessar dados disponíveis publicamente é geralmente permitido, mas as regras variam conforme a jurisdição e o site. Revise os termos de serviço do alvo, respeite as diretivas de robôs e consulte um advogado para qualquer coisa sensível.

Na Scorretless, acessamos apenas dados disponíveis ao público, enquanto cumprem estritamente as leis, regulamentos e políticas de privacidade do site aplicáveis. O conteúdo deste blog é apenas para fins de demonstração e não envolve atividades ilegais ou infratoras. Não temos garantias e negamos toda a responsabilidade pelo uso de informações deste blog ou links de terceiros. Antes de se envolver em qualquer atividade de raspagem, consulte seu consultor jurídico e revise os termos de serviço do site de destino ou obtenha as permissões necessárias.

Artigos mais populares

Catálogo