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

Impressão Digital Personalizada

Introdução

A impressão digital 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 da impressão digital é opcional no navegador de raspagem. Oferecemos recursos de personalização profunda para impressões digitais de navegadores, como parâmetros principais, como agente do usuário do navegador, fuso horário, idioma e resolução de tela. A funcionalidade pode ser estendida por meio de parâmetros de inicialização personalizados. Isso é adequado para cenários como gerenciamento de várias contas, coleta de dados e proteção de privacidade, usando o navegador Chromium autoconstruído do scrapeless para evitar completamente a detecção. Por padrão, o uso do nosso serviço Scraping Browser gerará uma impressão digital aleatória para cada sessão.

Capacidades e Limitações Principais

Controle do 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 mecanismo do navegador e do tipo de sistema operacional.
  • Limitação: Atualmente, não é possível modificar os detalhes do mecanismo de renderização (por exemplo, recursos de renderização WebGL).

Mapeamento da Resolução da Tela

  • Capacidade: Suporta a personalização dos valores de retorno para screen.width e screen.height para simular tamanhos de tela de dispositivos básicos (deve estar de acordo com as proporções de aspecto físicas).
  • Limitação: Atualmente, não é possível falsificar a proporção de pixels do dispositivo (DPR) ou as características da 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, não é possível modificar o número da versão do sistema operacional ou as informações de arquitetura de hardware.

Outras Limitações:

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

Cenários de Aplicação

  • Isolamento Básico de Contas Múltiplas: Evite a detecção simples de associação de contas diferenciando o User-Agent e a resolução da tela.
  • Coleta de Dados Leve: Simule um ambiente de navegador principal (Windows + Chrome) para contornar as estratégias básicas anti-raspagem do site de destino (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 do Parâmetro de Impressão Digital

Nome do ParâmetroTipoDescrição
userAgentstringDefine a string User-Agent no cabeçalho de solicitação HTTP do navegador, contendo informações de identificação importantes, como o mecanismo do navegador, o número da versão e o sistema operacional. Os sites usam esse valor para identificar o ambiente do cliente, afetando a adaptação de conteúdo e a funcionalidade. 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 execução. Os valores opcionais são “Windows”, “macOS” ou “Linux”. Este parâmetro será usado para detecção de recursos e o julgamento de ativação de funções relacionadas ao sistema. Valor padrão: Windows
screenobjectDefine os parâmetros de 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 a 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 a 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 de conteúdo.
localization.timezonestringUm identificador de fuso horário que está de acordo com o formato do banco de dados de fuso horário IANA (por exemplo, “Asia/Shanghai”), controlando o comportamento do fuso horário padrão dos objetos de data JavaScript e a saída Intl.DateTimeFormat, que é um componente chave da impressão digital do fuso horário. Valor padrão: America/New_York
localization.languages[string]A lista de prioridade de idioma suportada 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 de conteúdo do site. Valor padrão: “en”, “en-US”

userAgent

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

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 execução. Este parâmetro será usado para detecção de recursos e o 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 de 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 de conteúdo.

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

Valores de Exemplo:

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

localization.languages: A lista de prioridade de idioma suportada 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 de 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

Código de Exemplo

const puppeteer =require('puppeteer-core');
 
// 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',
    }
}
 
const query = new URLSearchParams({
  token: 'APIKey',// required
  session_ttl: 180,
  proxy_country: 'ANY',
  fingerprint: encodeURIComponent(JSON.stringify(fingerprint)),
});
 
const connectionURL = `wss://browser.scrapeless.com/browser?${query.toString()}`;
 
(async () => {
    const browser = await puppeteer.connect({browserWSEndpoint: connectionURL});
    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:

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