Node SDK
Instalação
Para instalar o Scrapeless Node SDK, você pode usar o npm:
npm install @scrapeless-ai/sdk
Início Rápido
- Acesse o painel Scrapeless e obtenha sua Chave de API
- Defina a chave de API como uma variável de ambiente chamada
SCRAPELESS_API_KEY
ou passe-a como parâmetro para a classeScrapeless
.
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 APISCRAPELESS_BASE_API_URL
- URL base da APISCRAPELESS_BROWSER_API_URL
- URL da API do navegador
Boas Práticas
- Segurança da Chave de API: Nunca codifique sua chave de API. Use variáveis de ambiente.
- Tratamento de Erros: Sempre envolva chamadas de API em blocos try-catch.
- Limpeza de Recursos: Sempre feche as conexões do navegador quando terminar.
- Limitação de Taxa: Esteja ciente dos limites de taxa da API.
- 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:
- Documentação: https://docs.scrapeless.com
- GitHub: https://github.com/scrapeless-ai/scrapeless-sdk-node
- Suporte: support@scrapeless.com