SDKNode.js SDK

Node SDK

Instalação

Para instalar o Scrapeless Node SDK, você pode usar o npm:

npm install @scrapeless-ai/sdk

Início Rápido

  1. Acesse o painel Scrapeless e obtenha sua Chave de API get-api-key.png
  2. Defina a chave de API como uma variável de ambiente chamada SCRAPELESS_API_KEY ou passe-a como parâmetro para a classe Scrapeless.

Aqui está um exemplo básico:

import { Scrapeless } from '@scrapeless-ai/sdk';
 
const client = new Scrapeless({
  apiKey: 'YOUR_API_KEY' // ou use a variável de ambiente SCRAPELESS_API_KEY
});

Serviços Disponíveis

1. Scraping Browser (Wrapper de Automação de Navegador)

O módulo Scraping Browser fornece uma API unificada de alto nível para automação de navegador, construída sobre a API do Scrapeless Browser. Ele suporta Puppeteer e Playwright, e estende o objeto de página padrão com métodos avançados como realClick, realFill e liveURL para uma automação mais humanizada.

import { Puppeteer } from '@scrapeless-ai/sdk';
 
const browser = await Puppeteer.connect({
  session_name: 'my-session',
  session_ttl: 180,
  proxy_country: 'US'
});
const page = await browser.newPage();
 
await page.goto('https://example.com');
await page.realClick('#login-btn');
await page.realFill('#username', 'myuser');
const urlInfo = await page.liveURL();
console.log('Current page URL:', urlInfo.liveURL);
 
await browser.close();

Recursos-chave:

  • API unificada para Puppeteer e Playwright
  • Automação humanizada: realClick, realFill, liveURL
  • Integração fácil com sessões de navegador Scrapeless

2. Browser API

Gerencie diretamente sessões de navegador para cenários de automação avançados.

// Criar uma sessão de navegador
const session = await client.browser.create({
  session_name: 'api-session',
  session_ttl: 120,
  proxy_country: 'US'
});
console.log('Browser session info:', session);

3. Scraping API

Raspe páginas da web e extraia conteúdo em vários formatos.

const result = await client.scraping.scrape({
  actor: 'scraper.shopee',
  input: {
    url: 'https://shopee.tw/product/58418206/7180456348'
  }
});
 
console.log('result: ', result);

4. Deep SerpApi

Extraia resultados de mecanismos de busca (por exemplo, Google).

const searchResults = await client.deepserp.scrape({
  actor: 'scraper.google.search',
  input: {
    q: 'nike site:www.nike.com'
  }
});
console.log('Search results:', searchResults);

5. Universal API

Raspagem de uso geral para extração de dados flexível.

const universalResult = await client.universal.scrape({
  url: 'https://example.com',
  options: {
    javascript: true,
    screenshot: true,
    extractMetadata: true
  }
});
console.log('Universal scraping result:', universalResult);

6. Proxy API

Gerencie e configure proxies para suas tarefas de raspagem e automação.

// Obter URL do proxy
const proxy_url = await client.proxies.proxy({
  session_name: 'session_name',
  session_ttl: 180,
  proxy_country: 'US',
  session_recording: true,
  defaultViewport: null
});
console.log('Proxy URL:', proxy_url);

Tratamento de Erros

O SDK fornece tratamento de erros abrangente:

try {
  const result = await client.scraping.scrape({
    actor: 'scraper.shopee',
    input: {
      url: 'https://shopee.tw/product/58418206/7180456348'
    }
  });
} catch (error) {
  if (error instanceof ScrapelessError) {
    console.error('Scrapeless error:', error.message);
    console.error('Status code:', error.statusCode);
  } else {
    console.error('Unexpected error:', error);
  }
}

Configuração

O SDK suporta várias opções de configuração:

const client = new Scrapeless({
  apiKey: 'YOUR_API_KEY',
  timeout: 30000, // timeout da solicitação em milissegundos
  baseApiUrl: 'https://api.scrapeless.com',
  browserApiUrl: 'https://browser.scrapeless.com'
});

Variáveis de Ambiente

  • SCRAPELESS_API_KEY - Sua chave de API
  • SCRAPELESS_BASE_API_URL - URL base da API
  • SCRAPELESS_BROWSER_API_URL - URL da API do navegador

Boas Práticas

  1. Segurança da Chave de API: Nunca codifique sua chave de API. Use variáveis de ambiente.
  2. Tratamento de Erros: Sempre envolva chamadas de API em blocos try-catch.
  3. Limpeza de Recursos: Sempre feche as conexões do navegador quando terminar.
  4. Limitação de Taxa: Esteja ciente dos limites de taxa da API.
  5. Configuração de Tempo Limite: Defina tempos limite apropriados para operações de longa duração.

Suporte

Para suporte, documentação e mais exemplos, visite: