Browser特徴プロファイル

プロファイル

プロファイルを使用すると、ストレージ、Cookie、キャッシュ、ログイン状態などのユーザーデータを複数のセッション間で永続化できます。これにより、よりスムーズな自動化、簡素化された認証、最適化されたパフォーマンスが可能になります。

主な利点

  • ブラウザ履歴の再利用: ユーザーはセッション間でブラウザ履歴を再利用できます。
  • ログイン状態の維持: 特定のサイトにログインしたままにして、繰り返しの認証の必要性を減らします。
  • ページ読み込み速度の向上: Webページの読み込み速度を向上させます。
  • ボット検出のリスク軽減: ボットとして識別される可能性を低減します。

プロファイルの使用

1. プロファイルの作成

まず、Profiles APIを使用して新しいプロファイルを作成します。返されるprofileIdをメモしておいてください。これは新しいセッションにプロファイルを割り当てるために使用します。

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. プロファイルの使用

プロファイルが作成されたら、そのデータを再利用するために新しいセッションに追加できます。profileIdをセッション設定に含めることでプロファイルを割り当てます。

import { ScrapelessClient } from '@scrapeless-ai/sdk';
 
const client = new ScrapelessClient({ apiKey: 'API Key' });
const { browserWSEndpoint } = client.browser.create({
    sessionName: 'My Browser',
    sessionTTL: 30000,
    profileId: '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();
})();

新しいセッションでプロファイルデータを更新したい場合は、プロファイルオブジェクト内でprofilePersist: trueを設定する必要があります。これは、新しいプロファイルをセッションで初めて使用する際に行う必要があり、そのデータが後続の使用のために保存されることを保証します。

const { browserWSEndpoint } = client.browser.create({
    sessionName: 'My Browser',
    sessionTTL: 30000,
    profileId: 'your-profile-id',
    profilePersist: true,
});
なぜ永続化を使用するのか?

デフォルトでは、コンテキストは以前のセッションから保存されたデータを読み込みますが、それを更新しません。新しいCookie、認証トークン、またはキャッシュされたデータを保存する必要がある場合は、セッションを作成する際にprofilePersist: trueを設定する必要があります。データはセッションが閉じられたときに保存されます。これにより、ログイン、サイト設定の保存、アセットのキャッシュなど、セッション中に行われた変更が将来のセッションのために保持され、セッション終了時に失われないことが保証されます。

3. プロファイルの取得

IDで特定のプロファイルをフェッチしたり、クエリパラメータを使用して作成したすべてのプロファイルをリストしたりできます。完全なスキーマとパラメータについては、Profile API referenceを参照してください。

// 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 });
注意

profilePersist: trueが有効になっている場合、最後に閉じたセッションのデータのみが保存されます。

4. 複数のセッションでプロファイルを共有する

複数のセッションで同じプロファイルを共有したい場合、デフォルト設定のprofilePersist: falseでは、変更を加えることなく以前のプロファイル設定を複数のセッションで利用できます。これらのセッション内でプロファイルを更新したい場合は、永続化を有効にする必要があります。

const { browserWSEndpoint } = client.browser.create({
    sessionName: 'My Browser',
    sessionTTL: 30000,
    profileId: 'your-profile-id',
});

注: profilePersist: trueが有効になっている場合、最後に閉じたセッションのデータのみが保存されます。

5. プロファイルの削除

不要なプロファイルを削除してリソースを解放します。一度削除されたプロファイルは、どのセッションにもアタッチできなくなります。

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

👉 プロファイルに関連する例とコードサンプルについては、Product Updates | New Profile Featureをご覧ください。