BrowserRecursosPrivacidade e anti-detecção avançadosImpressão digital personalizada

Impressão Digital Personalizada

Introdução

O fingerprinting do navegador utiliza as informações de configuração do seu navegador e dispositivo para criar uma “impressão digital” quase única, que pode ser usada para rastrear sua atividade online mesmo sem cookies. A boa notícia é que a configuração de impressão digital é opcional no navegador de scraping. Oferecemos profundas capacidades de personalização para impressões digitais de navegador, como parâmetros centrais como user agent do navegador, fuso horário, idioma e resolução de tela. A funcionalidade pode ser estendida através de parâmetros de inicialização personalizados. Isso é adequado para cenários como gerenciamento de múltiplas contas, coleta de dados e proteção de privacidade, usando o navegador Chromium auto-construído da Scrapeless para evitar completamente a detecção. Por padrão, usar nosso serviço de Navegador de Scraping gerará uma impressão digital aleatória para cada sessão.

Capacidades e Limitações Principais

Controle de User-Agent

  • Capacidade: Suporta a personalização da string User-Agent nos cabeçalhos de solicitação HTTP, permitindo a definição da versão do motor do navegador e do tipo de sistema operacional.
  • Limitação: Atualmente incapaz de modificar detalhes do motor de renderização (por exemplo, recursos de renderização WebGL).

Mapeamento de Resolução de Tela

  • Capacidade: Suporta a personalização dos valores de retorno para screen.width e screen.height para simular tamanhos básicos de tela de dispositivo (deve estar em conformidade com as proporções físicas).
  • Limitação: Atualmente incapaz de falsificar a proporção de pixels do dispositivo (DPR) ou as características de tela Retina.

Bloqueio de Atributo de Plataforma

  • Capacidade: Permite definir um valor de retorno fixo para navigator.platform (apenas Windows/macOS/Linux são suportados), o que afeta a lógica de detecção de recursos do navegador.
  • Limitação: Atualmente incapaz de modificar o número da versão do sistema operacional ou informações de arquitetura de hardware.

Outras Limitações:

Este recurso suporta apenas ajustes limitados a parâmetros padronizados expostos nativamente pelo navegador. Não envolve fingerprinting em nível de hardware ou mascaramento comportamental avançado.

Cenários de Aplicação

  • Isolamento Básico de Múltiplas Contas: Evite a detecção de associação de contas simples diferenciando o User-Agent e a resolução de tela.
  • Coleta de Dados Leve: Simule um ambiente de navegador convencional (Windows + Chrome) para contornar as estratégias básicas anti-scraping do site alvo (por exemplo, lista negra de User-Agent).
  • Teste de Compatibilidade: Verifique a lógica de renderização básica do site em diferentes sistemas operacionais (Windows/macOS) e tamanhos de tela.

Guia de Operação

Descrição dos Parâmetros da Impressão Digital

Nome do ParâmetroTipoDescrição
userAgentstringDefine a string User-Agent no cabeçalho da solicitação HTTP do navegador, contendo informações de identificação importantes, como o motor do navegador, número da versão e sistema operacional. Os sites usam este valor para identificar o ambiente do cliente, afetando a adaptação e a funcionalidade do conteúdo. Valor padrão: Segue o navegador
platformenumEspecifica o valor de retorno da propriedade JavaScript navigator.platform, indicando o tipo de sistema operacional do ambiente de tempo de execução. Os valores opcionais são “Windows”, “macOS” ou “Linux”. Este parâmetro será usado para detecção de recursos e julgamento de ativação de funções relacionadas ao sistema. Valor padrão: Windows
screenobjectDefine os parâmetros das características físicas do dispositivo de exibição relatados pelo navegador, mapeados diretamente para o objeto JavaScript window.screen.
screen.widthnumberLargura física da tela (pixels), mapeada para a propriedade screen.width, afetando consultas de mídia e layout responsivo. Valor padrão: Segue impressão digital aleatória, valor mínimo 640.
screen.heightnumberAltura física da tela (pixels), mapeada para a propriedade screen.height, determinando as características de resolução do dispositivo juntamente com a largura. Valor padrão: Segue impressão digital aleatória, valor mínimo 480.
localizationobjectControla a configuração do ambiente de localização do navegador, incluindo parâmetros de idioma, região e fuso horário, afetando o formato de exibição e o comportamento de localização do conteúdo.
localization.basedOnIpbooleanDefine se deve definir automaticamente o fuso horário e os idiomas com base no IP.
localization.timezonestringUm identificador de fuso horário em conformidade com o formato do banco de dados de fuso horário da IANA (por exemplo, “Asia/Shanghai”), controlando o comportamento padrão do fuso horário de objetos de data JavaScript e a saída de Intl.DateTimeFormat, que é um componente chave da impressão digital de fuso horário. Valor padrão: America/New_York
localization.languages[string]A lista de prioridade de idiomas suportados pelo navegador, mapeada para a propriedade navigator.languages e o cabeçalho de solicitação HTTP Accept-Language, determinando a lógica de seleção de idioma do conteúdo do site. Valor padrão: “en”, “en-US”
argsobjectExecuta o navegador com chaves de linha de comando (por exemplo, --window-size, --proxy-bypass-list, etc, saiba mais), observe que os seguintes argumentos não são suportados: --load-extension, --user-data-dir, --fonts-dir, --remote-debugging-port

userAgent

Tipo: string Descrição: Define a string User-Agent no cabeçalho da solicitação HTTP do navegador, contendo informações de identificação importantes, como o motor do navegador, número da versão e sistema operacional. Os sites usam este valor para identificar o ambiente do cliente, afetando a adaptação e a funcionalidade do conteúdo.

Valores de Exemplo:

  • Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.6834.83 Safari/537.36
  • Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.6834.83 Safari/537.36

platform

Tipo: enum Descrição: Especifica o valor de retorno da propriedade JavaScript navigator.platform, indicando o tipo de sistema operacional do ambiente de tempo de execução. Este parâmetro será usado para detecção de recursos e julgamento de ativação de funções relacionadas ao sistema.

Valores Aceitáveis de Exemplo:

ValorDescrição
”Windows”Sistema operacional Windows, valor padrão
”macOS”Sistema operacional macOS
”Linux”Sistema operacional Linux

screen

Tipo: object Descrição: Define os parâmetros das características físicas do dispositivo de exibição relatados pelo navegador, mapeados diretamente para o objeto JavaScript window.screen.

screen.width: Largura física da tela (pixels), afetando consultas de mídia e layout responsivo, valor mínimo 640. screen.height: Altura física da tela (pixels), determinando as características de resolução do dispositivo juntamente com a largura, valor mínimo 480.

Valores de Exemplo:

widthheight
19201080
1366768
1280720
7681280

localization

Tipo: object Descrição: Controla a configuração do ambiente de localização do navegador, incluindo parâmetros de idioma, região e fuso horário, afetando o formato de exibição e o comportamento de localização do conteúdo.

localization.basedOnIp: Define se deve definir automaticamente o fuso horário e os idiomas com base no IP.

localization.timezone: Um identificador de fuso horário em conformidade com o formato do banco de dados de fuso horário da IANA, controlando o comportamento padrão do fuso horário de objetos de data JavaScript e a saída de Intl.DateTimeFormat, que é um componente chave da impressão digital de fuso horário.

Valores de Exemplo:

  • America/New_York
  • Asia/Shanghai
  • Europe/London

localization.languages: A lista de prioridade de idiomas suportados pelo navegador, mapeada para a propriedade navigator.languages e o cabeçalho de solicitação HTTP Accept-Language, determinando a lógica de seleção de idioma do conteúdo do site.

Valores de Exemplo:

  • ["fr-FR", "en-US", "zh-CN"]
  • ["en-US", "es-ES", "de-DE"]

Referência: lista de fusos horários do banco de dados tz


args

Tipo: object Descrição: Executa o navegador com chaves de linha de comando, clique para saber mais, observe que os seguintes argumentos não são suportados: --load-extension, --user-data-dir, --fonts-dir, --remote-debugging-port

Valores de Exemplo:

  • proxy bypass: '--proxy-bypass-list': 'example.com'
  • set windows size: '--window-size': '1280,1024', it is recommended to set the same as the screen fingerprint

Exemplo de Código

const { ScrapelessClient } = require('@scrapeless-ai/sdk');
const puppeteer =require('puppeteer-core');
const client = new ScrapelessClient({ apiKey: 'API Key' });
 
// custom browser fingerprint
const fingerprint = {
    userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.1.2.3 Safari/537.36',
    platform: 'Windows',
    screen: {
        width: 1280, height: 1024
    },
    localization: {
        languages: ['zh-HK', 'en-US', 'en'], timezone: 'Asia/Hong_Kong',
    },
    args: {
        '--proxy-bypass-list': 'example.com',
        '--window-size': '1280,1024' // set window size as the same as the screen fingerprint
    }
}
 
// Create browser session and get WebSocket endpoint
const { browserWSEndpoint } = client.browser.create({
    sessionName: 'sdk_test',
    sessionTTL: 180,
    proxyCountry: 'US',
    sessionRecording: true,
    fingerprint,
});
 
(async () => {
    const browser = await puppeteer.connect({browserWSEndpoint});
    const page = await browser.newPage();
    await page.goto('https://www.scrapeless.com');
    const info = await page.evaluate(() => {
        return {
            screen: {
                width:screen.width,
                height:screen.height,
            },
            userAgent:navigator.userAgent,
            timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
            languages:navigator.languages
        };
    });
    console.log(info);
 
    await browser.close();
})();

Declaração Ética

Defendemos a personalização responsável da impressão digital:

  • Apenas para cenários legalmente autorizados (como coleta de dados para conformidade empresarial, testes internos de controle de risco).
  • É proibido usar impressões digitais falsificadas para se envolver em fraudes online ou infringir a privacidade do usuário.