Scarnox · Blog

Browser fingerprinting explicado para scrapers

O browser fingerprinting é a prática de identificar um visitante pelo conjunto de características do navegador, e não por um cookie ou uma conta. Sites usam isso para reconhecer visitantes que voltam, detectar fraudes e reconhecer automação. Se você faz scraping da web, vai encontrar essa técnica. Este guia explica o que é medido, por que uma única incoerência causa problemas e como manter um perfil consistente e bem comportado para coletar dados públicos. Também explica os limites do que o ajuste de fingerprint pode e deve fazer.

Do que um fingerprint é feito

Nenhum valor isolado identifica um navegador por si só, mas muitos valores pequenos juntos muitas vezes identificam. As entradas mais comuns incluem:

Os scripts de fingerprinting combinam esses itens em um hash ou um score. Quanto mais sinais estáveis e incomuns, mais identificador é o resultado.

Por que uma incoerência se destaca

Um navegador real é internamente consistente. O sistema operacional combina com as fontes, o fuso horário combina com a configuração de idioma, e o tamanho da tela combina com o dispositivo em que roda. Scrapers muitas vezes quebram essa consistência sem perceber:

Cada incoerência é um sinal pequeno. Juntas, elas podem levar uma requisição de "visitante comum" para "precisa de uma olhada mais atenta".

Passo 1: meça a sua própria configuração

Você pode ver o que uma página descobre sobre o seu cliente carregando uma página de teste de fingerprint que você controla, ou uma página de diagnóstico que você roda localmente. Observe os valores e pergunte se eles descrevem uma máquina coerente. Aqui está um exemplo mínimo com Playwright que imprime alguns deles:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    context = browser.new_context(locale="en-GB", timezone_id="Europe/London")
    page = context.new_page()
    page.goto("https://example.com")  # substitua por uma página que você possui
    print(page.evaluate("""() => ({
        language: navigator.language,
        timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
        platform: navigator.platform,
        viewport: [innerWidth, innerHeight]
    })"""))
    browser.close()

Passo 2: mantenha uma identidade por perfil

O hábito mais útil é tratar cada identidade de scraping como um perfil. Dê a ela um único conjunto de características e mantenha-as durante toda a sua vida:

Mudar uma dessas características a cada requisição é mais suspeito do que mantê-las estáveis. A consistência é o que faz um perfil parecer comum.

Passo 3: controle o ritmo do perfil como um visitante

O fingerprint é apenas uma entrada. Os sites também observam a velocidade com que um perfil percorre o site. Um perfil que carrega duzentas páginas de produto em um minuto não é um humano, independentemente do seu fingerprint. Espalhe as requisições, guarde os resultados em cache e pare quando uma página indicar que você deve parar. O checklist para fazer scraping sem ser bloqueado cobre o controle de ritmo com mais detalhes.

Passo 4: conheça os limites

O ajuste de fingerprint não consegue fazer um perfil automatizado parecer uma pessoa que não está ali. Sites que dependem de fingerprinting costumam combiná-lo com limites de taxa, verificações de conta e, às vezes, um captcha. Quando um captcha aparece, você precisa de um token de um solver, e não de mais ajustes de fingerprint. O tipo de captcha disponível na Scarnox hoje é o PopularCaptcha; o guia de PopularCaptcha em Python mostra a requisição. Para uma visão mais ampla dos widgets que existem, leia tipos de captcha explicados.

Mais importante ainda: a evasão de fingerprint não é uma licença para ignorar as regras de um site. Se o dono restringiu o acesso automatizado, o certo é parar, e não tornar o seu perfil mais difícil de notar. O fingerprinting também é um tema de privacidade. Alguns sites o usam para rastrear pessoas entre visitas, e isso é mais um motivo para coletar apenas o que o seu projeto precisa.

Faça scraping com responsabilidade

Onde seguir a partir daqui

Se o seu alvo estiver atrás de uma verificação em nível de navegador, comece por detecção de navegador headless, que cobre os sinais específicos de navegadores automatizados. Páginas que precisam de JavaScript para mostrar o conteúdo são tratadas em scraping de sites com JavaScript.

Comece com crédito de teste grátis, sem cartão: crie uma conta e teste o fluxo do PopularCaptcha em uma página que você possui. Para os valores atuais, veja a página de preços.

Próximos passos