Xcrap Logo

Concorrência e Escalonamento

Gerencie múltiplas requisições simultâneas com segurança.

O Xcrap facilita o scraping em larga escala através do método fetchMany, disponível em todos os clientes oficiais.

O Método fetchMany

Em vez de fazer um loop manual com Promise.all (que pode sobrecarregar seu sistema ou o servidor alvo), use o fetchMany para gerenciar a concorrência e o delay.

const client = new AxiosClient();

const results = await client.fetchMany({
  requests: [
    { url: "https://toscrape.com/page/1" },
    { url: "https://toscrape.com/page/2" },
    { url: "https://toscrape.com/page/3" },
  ],
  concurrency: 2,     // No máximo 2 requisições ao mesmo tempo
  requestDelay: 1000, // Espera 1 segundo entre o início de cada requisição
});

Benefícios do fetchMany

  1. Proteção de Recursos: Evita que sua máquina fique sem memória ao abrir centenas de conexões/abas de uma vez.
  2. Anti-Ban: Delays consistentes ajudam a não disparar alarmes de "taxa de requisição" no servidor.
  3. Throttling Nativo: Implementado diretamente na BaseClient, o que garante comportamento idêntico em qualquer adaptador.

Throttling em Clientes de Navegador

Para clientes Puppeteer, a concorrência via fetchMany gerencia a abertura e fechamento de abas/páginas de forma eficiente, reutilizando o browser quando possível.

On this page