SDKNode.js SDK

Node SDK

Cài đặt

Để cài đặt Scrapeless Node SDK, bạn có thể sử dụng npm:

npm install @scrapeless-ai/sdk

Bắt đầu nhanh

  1. Đăng nhập vào bảng điều khiển Scrapeless và lấy API Key get-api-key.png
  2. Thiết lập API key làm biến môi trường có tên SCRAPELESS_API_KEY hoặc truyền nó như một tham số cho lớp Scrapeless.

Đây là một ví dụ cơ bản:

import { Scrapeless } from '@scrapeless-ai/sdk';
 
const client = new Scrapeless({
  apiKey: 'YOUR_API_KEY' // hoặc sử dụng biến môi trường SCRAPELESS_API_KEY
});

Các dịch vụ khả dụng

1. Trình duyệt Scraping (Trình bao bọc tự động hóa trình duyệt)

Mô-đun Trình duyệt Scraping cung cấp một API cấp cao, thống nhất cho tự động hóa trình duyệt, được xây dựng trên API Trình duyệt Scrapeless. Nó hỗ trợ cả Puppeteer và Playwright, và mở rộng đối tượng trang tiêu chuẩn với các phương thức nâng cao như realClick, realFillliveURL để tự động hóa giống người hơn.

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

Các tính năng chính:

  • API thống nhất cho Puppeteer và Playwright
  • Tự động hóa giống người: realClick, realFill, liveURL
  • Dễ dàng tích hợp với phiên trình duyệt Scrapeless

2. API Trình duyệt

Quản lý trực tiếp các phiên trình duyệt cho các kịch bản tự động hóa nâng cao.

// Tạo một phiên trình duyệt
const session = await client.browser.create({
  sessionName: 'api-session',
  sessionTTL: 120,
  proxyCountry: 'US'
});
console.log('Browser session info:', session);

3. API Scraping

Truy xuất các trang web và trích xuất nội dung ở nhiều định dạng khác nhau.

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

4. Deep SerpApi

Truy xuất kết quả tìm kiếm công cụ tìm kiếm (ví dụ: 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

Truy xuất dữ liệu đa năng cho việc trích xuất dữ liệu linh hoạt.

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

Quản lý và cấu hình proxy cho các tác vụ tự động hóa và truy xuất của bạn.

// Lấy URL proxy
const proxyURL = await client.proxies.proxy({
  sessionName: 'sessionName',
  sessionTTL: 180,
  proxyCountry: 'US',
  sessionRecording: true,
  defaultViewport: null
});
console.log('Proxy URL:', proxyURL);

7. Hồ sơ Trình duyệt

Hồ sơ cho phép bạn lưu trữ dữ liệu người dùng—như lưu trữ, cookie, bộ nhớ cache và trạng thái đăng nhập—trên nhiều phiên. Điều này cho phép tự động hóa mượt mà hơn, xác thực đơn giản hơn và hiệu suất được tối ưu hóa.

// Tạo một hồ sơ mới
const createResponse = await client.profiles.create('My Profile');
console.log('Profile created:', createResponse);
 
// Liệt kê các hồ sơ
const profiles = await client.profiles.list({ page: 1, pageSize: 10 });
console.log('Profiles:', profiles.docs);
 
// Lấy một hồ sơ cụ thể
const profile = await client.profiles.get(createResponse.profileId);
console.log('Profile details:', profile);
 
// Xóa hồ sơ
const deleteResponse = await client.profiles.delete(createResponse.profileId);
console.log('Profile deleted:', deleteResponse);

Xử lý lỗi

SDK cung cấp khả năng xử lý lỗi toàn diện:

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);
  }
}

Cấu hình

SDK hỗ trợ nhiều tùy chọn cấu hình khác nhau:

const client = new Scrapeless({
  apiKey: 'YOUR_API_KEY',
  timeout: 30000, // thời gian chờ yêu cầu tính bằng mili giây
  baseApiUrl: 'https://api.scrapeless.com',
  browserApiUrl: 'https://browser.scrapeless.com'
});

Biến môi trường

  • SCRAPELESS_API_KEY - API key của bạn
  • SCRAPELESS_BASE_API_URL - URL API cơ sở
  • SCRAPELESS_BROWSER_API_URL - URL API trình duyệt

Các thực tiễn tốt nhất

  1. Bảo mật API Key: Không bao giờ mã hóa cứng API key của bạn. Sử dụng biến môi trường.
  2. Xử lý lỗi: Luôn đặt các cuộc gọi API trong khối try-catch.
  3. Dọn dẹp tài nguyên: Luôn đóng kết nối trình duyệt khi hoàn tất.
  4. Hạn chế tốc độ: Lưu ý về giới hạn tốc độ API.
  5. Cấu hình thời gian chờ: Đặt thời gian chờ phù hợp cho các hoạt động kéo dài.

Hỗ trợ

Để được hỗ trợ, tài liệu và thêm ví dụ, hãy truy cập: