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
- Đăng nhập vào bảng điều khiển Scrapeless và lấy API Key
- Đặt API key làm biến môi trường có tên
SCRAPELESS_API_KEY
hoặc truyền nó làm tham số cho lớpScrapeless
.
Đâ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 (Wrapper tự động hóa trình duyệt)
Module Trình duyệt Scraping cung cấp một API thống nhất, cấp cao để 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
, realFill
và liveURL
để tự động hóa giống người hơn.
import { Puppeteer, createPuppeteerCDPSession } 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');
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 các 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({
session_name: 'api-session',
session_ttl: 120,
proxy_country: 'US'
});
console.log('Browser session info:', session);
3. API Scraping
Trích xuất nội dung 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
Trích 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. API Universal
Trích 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. API Proxy
Quản lý và cấu hình proxy cho các tác vụ scraping và tự động hóa của bạn.
// Lấy URL 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);
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:
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ạnSCRAPELESS_BASE_API_URL
- URL API cơ sởSCRAPELESS_BROWSER_API_URL
- URL API trình duyệt
Thực tiễn tốt nhất
- 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.
- Xử lý lỗi: Luôn đặt các lệnh gọi API trong khối try-catch.
- Dọn dẹp tài nguyên: Luôn đóng kết nối trình duyệt khi hoàn tất.
- Giới hạn tốc độ: Lưu ý về giới hạn tốc độ API.
- 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à nhiều ví dụ hơn, hãy truy cập:
- Tài liệu: https://docs.scrapeless.com
- GitHub: https://github.com/scrapeless-ai/scrapeless-sdk-node
- Hỗ trợ: support@scrapeless.com