Browser特徴プロファイル

プロファイル

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

主要な利点

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

プロファイルの使用

1. プロファイルの作成

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

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

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

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

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

const { browserWSEndpoint } = client.browser.create({
    session_name: 'My Browser',
    session_ttl: 30000,
    profile_id: 'your-profile-id',
    profile_persist: true,
});
なぜpersistを使うのか?

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

3. プロファイルの取得

クエリパラメータを使用して、IDで特定のプロファイルを取得するか、作成したすべてプロファイルの一覧を取得できます。完全なスキーマとパラメータについては、プロファイルAPIリファレンスを参照してください。

// 特定のプロファイルを取得
const profile = await client.profiles.get('your-profile-id');
 
// プロファイル一覧を取得
const profiles = await client.profiles.list({ page: 1, pageSize: 10 });
注記

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

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

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

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

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

5. プロファイルの削除

未使用のプロファイルを削除してリソースを解放します。削除されると、プロファイルはどのセッションにも関連付けることができなくなります。

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

👉 プロファイルに関する例とコードサンプルについては、プロダクトアップデート | 新しいプロファイル機能をご覧ください。