Xcrap Logo

Visão Geral dos Clientes

Conheça os clientes oficiais e as interfaces padrão do Xcrap.

O Xcrap oferece uma variedade de clientes oficiais, cada um otimizado para cenários específicos. Todos os clientes seguem a interface ClientInterface e estendem a classe BaseClient.

Clientes Oficiais

PacoteMotorMelhor Uso
@xcrap/coreNative FetchFetchClient: Nativo, rápido, funciona em ambientes modernos.
@xcrap/coreNode HTTPHttpClient: Estável, suporte legível a proxies e agentes.
@xcrap/axios-clientAxiosRequisições rápidas, sites estáticos simples.
@xcrap/got-scraping-clientGot ScrapingBypass de TLS, HTTP/2, sites com bloqueio básico.
@xcrap/impit-clientImpitCliente HTTP leve e moderno.
@xcrap/puppeteer-clientPuppeteerSites que dependem de renderização JS.
@xcrap/puppeteer-extra-clientPuppeteer ExtraSuporte a plugins (Stealth, Anonymize UA, etc).
@xcrap/puppeteer-real-browser-clientPuppeteer Real BrowserMáxima evasão, simula navegação humana real.

O Padrão BaseClient

Todos os clientes herdam funcionalidades comuns da classe BaseClient:

  • Proxy: Suporta strings de proxy ou funções dinâmicas.
  • User-Agent: Customização global de UA.
  • Throttling: Controle interno de concorrência.
  • Retries: Mecanismo de tentativa automática em caso de falha.
import { AxiosClient } from "@xcrap/axios-client";

const client = new AxiosClient({
  proxy: "http://proxy.example.com:8080",
  userAgent: () => "User-Agent-Dinâmico-" + Math.random(),
});

A Interface fetch

O método principal de todo cliente é o fetch. Ele sempre retorna um HttpResponse, que fornece métodos utilitários para parsear o conteúdo imediatamente.

const response = await client.fetch({ 
  url: "https://toscrape.com",
  maxRetries: 3,
  retryDelay: 1000
});

const parser = response.asHtmlParser();

On this page