Hồ sơ

Hồ sơ cho phép bạn lưu trữ dữ liệu người dùng—chẳng hạn như bộ nhớ, 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.

Ưu điểm chính

  • Tái sử dụng lịch sử trình duyệt: Người dùng có thể tái sử dụng lịch sử duyệt web của họ trên nhiều phiên.
  • Duy trì trạng thái đăng nhập: Giữ trạng thái đăng nhập vào các trang web nhất định để giảm nhu cầu xác thực lặp đi lặp lại.
  • Cải thiện tốc độ tải trang: Nâng cao tốc độ tải trang web.
  • Giảm nguy cơ bị phát hiện là bot: Giảm khả năng bị xác định là bot.

Sử dụng Hồ sơ

1. Tạo hồ sơ

Đầu tiên, hãy tạo một hồ sơ mới bằng API Hồ sơ. Lưu ý profile_id được trả về; bạn sẽ sử dụng điều này để gán hồ sơ cho một phiên mới.

import { ScrapelessClient } from '@scrapeless-ai/sdk';
 
const client = new ScrapelessClient({ apiKey: 'API Key' });
const createResponse = await client.profiles.create('My Profile');
console.log('Profile created:', createResponse);

2. Sử dụng hồ sơ

Sau khi tạo hồ sơ, bạn có thể thêm nó vào một phiên mới để tái sử dụng dữ liệu của nó. Gán hồ sơ bằng cách bao gồm profile_id trong cấu hình phiên của bạn.

import { ScrapelessClient } from '@scrapeless-ai/sdk';
 
const client = new ScrapelessClient({ apiKey: 'API Key' });
const { browserWSEndpoint } = client.browser.create({
    session_name: 'My Browser',
    session_ttl: 30000,
    profile_id: 'your-profile-id',
});
 
(async () => {
    const browser = await puppeteer.connect({browserWSEndpoint});
    const page = await browser.newPage();
    await page.goto('https://www.scrapeless.com');
    console.log(await page.title());
    await browser.close();
})();

Nếu bạn muốn phiên mới cập nhật dữ liệu hồ sơ, bạn phải đặt profile_persist: true trong đối tượng hồ sơ. Điều này nên được thực hiện lần đầu tiên bạn sử dụng một hồ sơ mới trong một phiên để đảm bảo rằng dữ liệu của nó có thể được lưu lại để sử dụng sau này.

const { browserWSEndpoint } = client.browser.create({
    session_name: 'My Browser',
    session_ttl: 30000,
    profile_id: 'your-profile-id',
    profile_persist: true,
});
Tại sao nên sử dụng persist?

Theo mặc định, một ngữ cảnh sẽ tải dữ liệu được lưu từ phiên trước nhưng sẽ không cập nhật nó. Nếu bạn cần lưu trữ cookie mới, mã thông báo xác thực hoặc dữ liệu được lưu trong bộ nhớ cache, bạn phải đặt profile_persist: true khi tạo phiên. Dữ liệu sẽ được lưu khi phiên kết thúc. Điều này đảm bảo rằng bất kỳ thay đổi nào được thực hiện trong phiên—chẳng hạn như đăng nhập, lưu tùy chọn trang web hoặc lưu trữ dữ liệu—đều được bảo toàn cho các phiên trong tương lai và không bị mất khi phiên kết thúc.

3. Truy xuất Hồ sơ

Bạn có thể tìm nạp một hồ sơ cụ thể bằng ID của nó hoặc liệt kê tất cả các hồ sơ bạn đã tạo bằng các tham số truy vấn. Vui lòng tham khảo Tài liệu tham khảo API Hồ sơ để biết sơ đồ và tham số đầy đủ.

// get a specific profile
const profile = await client.profiles.get('your-profile-id');
 
// get profile list
const profiles = await client.profiles.list({ page: 1, pageSize: 10 });
Lưu ý

Khi profile_persist: true được bật, chỉ dữ liệu từ phiên cuối cùng được đóng sẽ được lưu.

4. Chia sẻ Hồ sơ trên nhiều Phiên

Nếu bạn muốn nhiều phiên chia sẻ cùng một hồ sơ, cài đặt mặc định profile_persist: false cho phép bạn sử dụng cấu hình hồ sơ trước đó trên nhiều phiên mà không cần thực hiện bất kỳ thay đổi nào. Nếu bạn muốn cập nhật hồ sơ trong các phiên này, bạn sẽ cần bật tính năng lưu trữ.

const { browserWSEndpoint } = client.browser.create({
    session_name: 'My Browser',
    session_ttl: 30000,
    profile_id: 'your-profile-id',
});

Lưu ý: Khi profile_persist: true được bật, chỉ dữ liệu từ phiên cuối cùng được đóng sẽ được lưu.

5. Xóa Hồ sơ

Xóa các hồ sơ không sử dụng để giải phóng tài nguyên. Sau khi xóa, hồ sơ không thể được gắn vào bất kỳ phiên nào nữa.

const deleteResponse = await client.profiles.delete('your-profile-id');

👉 Để xem các ví dụ và mẫu mã liên quan đến hồ sơ, vui lòng truy cập Cập nhật sản phẩm | Tính năng Hồ sơ mới.