Xcrap Logo

Furtividade e Evasão

Como o Xcrap ajuda a evitar bloqueios e detecção de bots.

Para sites com proteções avançadas (Cloudflare, Akamai, Datadome), o Xcrap oferece clientes especializados em passar despercebido.

Stealth com Got Scraping

O @xcrap/got-scraping-client utiliza o got-scraping, que emula o fingerprint de TLS e cabeçalhos HTTP de navegadores reais. É a opção mais rápida para sites protegidos que não exigem JS.

import { GotScrapingClient } from "@xcrap/got-scraping-client";

const client = new GotScrapingClient();
// Automaticamente lida com TLS fingerprinting e cabeçalhos complexos
const response = await client.fetch({ url: "https://amazon.com" });

Puppeteer Extra Plugins

O @xcrap/puppeteer-extra-client permite o uso de todo o ecossistema de plugins do puppeteer-extra.

import { PuppeteerExtraClient } from "@xcrap/puppeteer-extra-client";
const StealthPlugin = require("puppeteer-extra-plugin-stealth");

const client = new PuppeteerExtraClient({
  plugins: [StealthPlugin()] // Ativa o plugin stealth
});

Puppeteer Real Browser

O @xcrap/puppeteer-real-browser-client é a arma definitiva para evasão. Ele utiliza uma instância de navegador que é quase impossível de distinguir de um usuário real.

Usando Plugins no Real Browser

Diferente do Puppeteer padrão, o Real Browser já vem otimizado, mas você ainda pode adicionar plugins extras:

import { PuppteerRealBrowserClient } from "@xcrap/puppeteer-real-browser-client";

const client = new PuppteerRealBrowserClient({
  plugins: [/* Seus plugins aqui */]
});

Ações de Navegação (Actions)

Muitas vezes, a furtividade exige interações humanas (scroll, clicks). Você pode definir ações que ocorrem antes ou depois da extração.

const response = await client.fetch({
  url: "https://example.com",
  actions: [
    {
      type: "beforeRequest",
      exec: async (page) => {
        // Simula scroll humano antes de carregar o conteúdo
        await page.evaluate(() => window.scrollBy(0, window.innerHeight));
      }
    }
  ]
});

On this page