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
- 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ớ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 (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
, 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({
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ạnSCRAPELESS_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
- 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 cuộc 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.
- Hạn chế 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à thêm ví dụ, 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