🎯 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

navegador de impressão digital não detectada para Python: Uso do Navegador, Crawl4AI, Scrapling

Sophia Martinez
Sophia Martinez

Specialist in Anti-Bot Strategies

08-Jul-2026

Resumo:

  • Um navegador headless local vaza sua automação em três eixos de uma vez: o tempo de execução, a impressão digital e o IP de saída. navigator.webdriver é true, a impressão digital carrega padrões headless e cada solicitação sai do seu próprio endereço — sistemas anti-bot pontuam todos os três.
  • Browser Use, Crawl4AI e Scrapling falam o Protocolo Chrome DevTools, assim podem controlar um navegador remoto em vez de um local. Cada um aceita um cdp_url (ou browser_ws_endpoint); aponte para Scrapeless e a automação roda no lado do servidor.
  • O Scrapeless Scraping Browser é um navegador em nuvem anti-detecção: Chromium real, uma impressão digital consistente por sessão e saída residencial em mais de 195 países. O sinal webdriver desapareceu e o IP de saída aparece limpo, sem patches de stealth para manter.
  • A integração é uma linha por ferramenta — a URL de conexão. Você muda de onde o navegador vem, não como seu scraper é escrito.
  • O mesmo endpoint WebSocket carrega cada opção como um parâmetro de consultatoken, sessionTTL, proxyCountry, fingerprint, profileId — então, geolocalização e reutilização de perfil são mudanças de URL, não reescritas de código.
  • Gratuito para começar. Novas contas Scrapeless incluem execução gratuita do Scraping Browser — inscreva-se em app.scrapeless.com.

Os sistemas anti-bot não olham mais para um único sinal. Um desafio moderno pontua o tempo de execução do navegador, a impressão digital que ele apresenta e o caminho da rede pelo qual chega — juntos, em uma única passagem. Um Chromium headless local falha em todos os três: ele anuncia a automação através da propriedade navigator.webdriver, vem com fontes e comportamentos de canvas padrão headless e sai de um IP de datacenter ou residencial que os serviços de reputação já conhecem.

Python tem três maneiras populares de controlar um navegador — agentes LLM estilo Browser Use, o crawler da Crawl4AI e os fetchers da Scrapling — e cada um, executado localmente, herda o mesmo problema de três eixos. Introduzir stealth em um navegador local significa perseguir atualizações do Chrome e de anti-bots manualmente, para sempre.

Há um caminho mais curto. Todas as três ferramentas se conectam a um navegador através do Protocolo Chrome DevTools, e o CDP não se importa se esse navegador está em localhost ou na nuvem. Este guia conecta cada uma das três ao Scrapeless Scraping Browser, de modo que o tempo de execução, a impressão digital e o IP de saída são tratados no lado do servidor e seu código de scraper permanece exatamente como está.


O que vaza sua impressão digital

Uma impressão digital de navegador é o conjunto de sinais que uma página pode ler sem um login: o agente do usuário, a flag WebDriver, renderização de canvas e WebGL, fontes instaladas, fuso horário, idioma e métricas de tela. Frameworks de automação perturbam esses sinalizadores de maneiras previsíveis — especificação W3C WebDriver exige que drivers conformes definam navigator.webdriver, que é exatamente o sinal que os scripts de detecção leem primeiro.

Corrigir isso localmente significa substituir cada sinal para parecer consistente e humano, e depois manter essas substituições atualizadas à medida que o Chromium e os detectores mudam. Essa é a esteira de manutenção que o navegador em nuvem remove: Scrapeless apresenta uma impressão digital coesa por sessão, então os sinais concordam entre si e com um perfil real do Chrome.

Por que Scrapeless Scraping Browser

O Scrapeless Scraping Browser é um navegador em nuvem personalizável e anti-detectação, projetado para web crawlers e agentes de IA. Como fala o Protocolo Chrome DevTools, qualquer ferramenta Python compatível com CDP se conecta a ele sem alterações. Para as três ferramentas deste guia, ele traz:

  • Chromium auto-desenvolvido real que executa JavaScript exatamente como o Chrome, então aplicativos de página única e intersticiais de desafio se resolvem.
  • Uma impressão digital consistente por sessão — sem sinal de navigator.webdriver, sem padrões headless 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 perfis reutilizáveis, então cookies e estado de login sobrevivem entre execuções.
  • Uma superfície de conexão — cada capacidade é um parâmetro de consulta no mesmo endpoint WebSocket.

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


Pré-requisitos

  • Python 3.11 ou mais recente (Browser Use precisa de 3.11+; Crawl4AI e Scrapling funcionam em 3.10+)
  • Uma conta Scrapeless e chave de API — inscreva-se em app.scrapeless.com
  • A ferramenta que você deseja conectar: browser-use, crawl4ai ou scrapling
  • Familiaridade básica com o terminal e Python async

O código abaixo é verificado em relação à API atual de cada biblioteca (Browser(cdp_url=...), BrowserConfig(browser_mode="cdp", cdp_url=...), DynamicSession(cdp_url=...)). Executá-lo de ponta a ponta requer uma sessão Scrapeless ativa, e o exemplo Browser Use adicionalmente precisa de uma chave API OpenAI para seu modelo de linguagem — forneça suas próprias chaves para executar cada exemplo.

Os detalhes completos da conexão estão na documentação do Scraping Browser.


O padrão compartilhado: uma URL CDP

Cada integração abaixo se reduz à mesma ideia. Scrapeless é um navegador CDP acessível em wss://browser.scrapeless.com/api/v2/browser, e suas opções são passadas como parâmetros de consulta. Construa essa URL uma vez, entregue-a ao argumento de conexão da ferramenta e execute seu scraper conforme escrito.

python Copy
from urllib.parse import urlencode

params = {
    "token": "seu_token_api_aqui",   # de app.scrapeless.com
    "sessionTTL": 900,                # segundos que a sessão fica ativa
    "proxyCountry": "ANY",            # ou um código ISO como "US", "DE", "JP"
}
cdp_url = f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(params)}"

Os parâmetros são consistentes em todas as três ferramentas:

Parâmetro Significado
token sua chave API Scrapeless (obrigatório)
sessionTTL duração da sessão
sessionName um rótulo para a sessão
proxyCountry código de país ISO ou ANY
fingerprint objeto JSON de fingerprint codificado em URL
profileId reutilizar um perfil persistente entre execuções

O Uso do Navegador controla um navegador com um modelo de linguagem. Seu objeto Browser aceita um cdp_url, então a mudança total é construir a URL Scrapeless e passá-la — o Agent, sua tarefa e seu LLM permanecem os mesmos.

Nota: este exemplo precisa de uma sessão Scrapeless ativa e uma chave API OpenAI para agent.run(). Forneça ambos para executá-lo.

python Copy
import asyncio, os
from urllib.parse import urlencode
from dotenv import load_dotenv
from browser_use import Agent, Browser, ChatOpenAI

def scrapeless_browser() -> Browser:
    params = {
        "token": os.environ["SCRAPELESS_API_KEY"],
        "sessionTTL": 900,
        "proxyCountry": "ANY",
    }
    ws = f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(params)}"
    return Browser(cdp_url=ws)

async def main():
    load_dotenv()
    browser = scrapeless_browser()
    await browser.start()
    agent = Agent(
        task="Vá para o Google, pesquise por 'Scrapeless', abra o primeiro resultado e retorne seu título",
        llm=ChatOpenAI(model="gpt-4o"),
        browser=browser,
    )
    print(await agent.run())
    await browser.kill()

asyncio.run(main())

O agente agora raciocina e clica contra um navegador em nuvem com uma impressão digital limpa e saída residencial. Você pode assistir à sessão ao vivo pelo Painel do Scrapeless.

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

Crawl4AI oferece suporte nativo a CDP, portanto, não é necessária instalação extra. Defina browser_mode="cdp" em BrowserConfig e passe a URL Scrapeless como cdp_url. Note que a integração do Crawl4AI expressa sessionTTL em milissegundos.

Nota: este exemplo precisa de uma sessão Scrapeless ativa para executar contra um alvo real. Adicione sua chave API para executá-lo.

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

async def main():
    params = {
        "token": "seu_token_api_aqui",
        "sessionName": "Demonstração do Proxy",
        "sessionTTL": 1000,       # milissegundos
        "proxyCountry": "ANY",
    }
    cdp_url = f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(params)}"

    async with AsyncWebCrawler(
        config=BrowserConfig(headless=False, browser_mode="cdp", cdp_url=cdp_url)
    ) as crawler:
        result = await crawler.arun(
            url="https://www.scrapeless.com/en",
            config=CrawlerRunConfig(wait_for="css:.content", scan_full_page=True),
        )
        print(f"Código de Status: {result.status_code}")
        print(f"Título: {result.metadata['title']}")

asyncio.run(main())

Para enviar uma impressão digital personalizada, codifique um objeto de impressão digital em JSON, codifique-o em URL e passe-o como o parâmetro fingerprint — o navegador então apresenta esse agente de usuário, plataforma, tela e localização de maneira consistente durante toda a sessão.

Scrapling oferece uma análise rápida e adaptativa em cima de uma sessão de navegador. Seu DynamicSession recebe um cdp_url, e a integração do Scrapling passa sessionTTL como uma string de segundos. A sessão lida automaticamente com desafios reCAPTCHA, Cloudflare Turnstile e AWS WAF como parte da renderização.

Nota: este exemplo precisa de uma sessão Scrapeless ao vivo para executar. Adicione sua chave de API para executá-lo.

python Copy
import os
from urllib.parse import urlencode
from dotenv import load_dotenv
from scrapling.fetchers import DynamicSession

load_dotenv()
config = {
    "token": os.environ["SCRAPELESS_API_KEY"],
    "sessionName": "scrapling-session",
    "sessionTTL": "300",           # segundos, como uma string
    "proxyCountry": "ANY",
    "sessionRecording": "false",
}
ws = f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(config)}"

with DynamicSession(cdp_url=ws, disable_resources=True) as s:
    page = s.fetch("https://httpbin.org/headers", network_idle=True)
    print(f"Comprimento do conteúdo: {len(page.body)}")
    print(page.json())

Scrapeless renderiza a página em um navegador limpo; Scrapling analisa o DOM retornado com seus seletores. A divisão de trabalho é o ponto — você mantém a API de extração do Scrapling e troca apenas o navegador subjacente.


O que você recebe de volta

Em todas as três ferramentas, o comportamento é o mesmo nas maneiras que importam:

  • O sinal navigator.webdriver está ausente — o navegador em nuvem não anuncia automação, então o primeiro teste de detecção se comporta como um Chrome real.
  • O IP de saída coincide com proxyCountry — páginas e preços geo-restritos são resolvidos como um visitante local os vê; ANY permite que o Scrapeless escolha.
  • O JavaScript é executado completamente — listas renderizadas pelo cliente e intersticiais de desafio se anexam antes que você leia o DOM.
  • As unidades de sessionTTL diferem por ferramenta — segundos para Uso do Navegador e Scrapling, milissegundos para Crawl4AI. Combine a convenção própria da ferramenta, não uma constante compartilhada.
  • Os campos podem estar ausentes — trate qualquer valor analisado como anulável, uma vez que a estrutura da página e seções condicionais variam conforme o alvo.

As três ferramentas cobrem trabalhos diferentes — um agente LLM, um crawler e um parser adaptativo — mas compartilham um navegador anti-detecção. Qualquer que você escolher, a integração é uma única URL de conexão: construa wss://browser.scrapeless.com/api/v2/browser com seu token e opções, entregue ao cdp_url da ferramenta e deixe o Scrapeless carregar o tempo de execução, impressão digital e egressos residenciais.

Para mais informações sobre como escolher um caminho de egressos para um scraper, veja a diferença entre um VPS e um proxy, e compare planos na página de preços do Scrapeless. Fixe proxyCountry a uma região residencial, combine a unidade sessionTTL de cada ferramenta e trate campos ausentes como anuláveis.


Pronto para construir seu pipeline de scraping não detectável?

Junte-se à nossa comunidade para reivindicar um plano gratuito e conectar-se com desenvolvedores que estão conectando scrapers em Python a navegadores em nuvem: Discord · Telegram.

Inscreva-se em app.scrapeless.com para obter runtime gratuito do Scraping Browser e apontar Uso do Navegador, Crawl4AI ou Scrapling para o navegador em nuvem que seus alvos não podem detectar.


FAQ

P: Preciso reescrever meu scraper para usar o Scrapeless?
Não. Todas as três ferramentas já se conectam a um navegador por meio do CDP. Você altera o alvo de conexão — o cdp_url ou ponto de extremidade WebSocket — e mantém seu código de agente, crawler ou parser conforme escrito.

P: Por que não apenas executar um navegador headless local?
Um navegador local usa seu próprio IP, anuncia automação através de navigator.webdriver, e requer que você mantenha patches de furtividade à medida que o Chromium e os sistemas anti-bot mudam. O navegador em nuvem apresenta uma impressão digital consistente e egressos residenciais sem manutenção.

P: Preciso de um proxy separado?
Não. O egressos residenciais está embutido na sessão — defina proxyCountry para uma região ou ANY. Não há um proxy separado para configurar.

P: O sessionTTL está em segundos ou milissegundos?
Depende da integração da ferramenta: segundos para Uso do Navegador e Scrapling (Scrapling o passa como uma string), milissegundos para Crawl4AI. Use a convenção própria de cada ferramenta.

P: Ele lida com Cloudflare e CAPTCHAs?
O navegador em nuvem lida com tipos comuns de desafios — o intersticial do Cloudflare, o Cloudflare Turnstile, reCAPTCHA e AWS WAF — como parte da renderização em um IP residencial limpo. Fixe proxyCountry a uma região residencial para o melhor resultado.

P: Qual das três ferramentas devo usar?
Uso de navegador para agentes impulsionados por LLM que decidem seus próprios passos, Crawl4AI para rastreamento estruturado e extração de conteúdo, e Scrapling para a análise adaptativa rápida de uma página obtida. Eles compartilham o mesmo navegador Scrapeless, por isso você pode alternar sem mudar sua abordagem de conexão.

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