🥳Scrapeless Communityに参加して、強力なWebスクレイピングツールキットにアクセスするために無料トライアルを取得してください!
ブログに戻ります

ブラウザの使用とスクレイピングブラウザ: AIエージェントの最大効果を達成する

Alex Johnson
Alex Johnson

Senior Web Scraping Engineer

12-May-2025

Scraping Browserは、日々のデータ抽出と自動化タスクのための必須ツールとなっています。Browser-UseをScrapeless Scraping Browserと統合することで、ブラウザの自動化の制限を克服し、ブロックを回避することができます。

この記事では、Browser-UseとScrapeless Scraping Browserを使用して、自動化されたデータスクレイピングを行うAIエージェントツールを構築します。これにより、時間と労力を節約でき、自動化タスクが簡単になります!

あなたは以下を学びます:

  • Browser-Useとは何か、そしてそれはどのようにAIエージェントの構築に役立ちますか?
  • Scraping BrowserはどのようにしてBrowser-Useの制限を効果的に克服できますか?
  • Browser-UseとScraping Browserを使用してブロックのないAIエージェントを構築する方法は?

Browser-Useとは?

Browser-Useは、AIエージェントに高度なブラウザ自動化機能を与えるために設計されたPythonベースのAIブラウザ自動化ライブラリです。ウェブページ上のすべてのインタラクティブ要素を認識でき、エージェントがページとプログラム的に対話することを可能にします—検索、クリック、フォーム入力、データスクレイピングなどの一般的なタスクを実行します。本質的に、Browser-Useはウェブサイトを構造化されたテキストに変換し、Playwrightのようなブラウザフレームワークをサポートし、ウェブインタラクションを大幅に簡素化します。

従来の自動化ツールとは異なり、Browser-Useは視覚理解とHTML構造の解析を組み合わせており、AIエージェントが自然言語の指示を使用してブラウザを制御することができます。これにより、AIがページの内容を知覚し、タスクを効率的に実行するためによりインテリジェントになります。さらに、マルチタブ管理、要素インタラクションの追跡、カスタムアクションのハンドリング、および自動化ワークフローの安定性と一貫性を確保するための組み込みのエラー回復メカニズムをサポートしています。

最も重要なのは、Browser-Useがすべての主要な大規模言語モデル(GPT-4、Claude 3、Llama 2など)と互換性があることです。LangChainとの統合により、ユーザーはタスクを自然言語で簡単に説明でき、AIエージェントが複雑なウェブ操作を完了します。AI-drivenなウェブインタラクション自動化を求めるユーザーにとって、これは強力で有望なツールです。

AIエージェント開発におけるBrowser-Useの制限

上記のように、Browser-Useはハリー・ポッターの魔法の杖のようには機能しません。代わりに、視覚入力とAI制御を組み合わせて、Playwrightを使用してブラウザを自動化します。

Browser-Useには避けられない欠点がありますが、これらの制限は自動化フレームワーク自体から生じるものではありません。むしろ、それが制御するブラウザから生じます。Playwrightのようなツールは、自動化のための特定の構成とツールでブラウザを起動し、これはボット検出システムにさらされる可能性があります。

その結果、AIエージェントは頻繁にCAPTCHAのチャレンジや、「申し訳ありませんが、こちらの問題が発生しました」というブロックされたページに直面するかもしれません。Browser-Useのフルポテンシャルを解放するには、慎重な調整が必要です。最終的な目標は、ボット検出システムをトリガーしないようにすることで、AI自動化がスムーズに実行されることです。

広範なテストを行った結果、私たちは自信を持って言えます:Scraping Browserは最も効果的なソリューションです。

Scrapeless Scraping Browserとは?

Scraping Browserは、動的ウェブスクレイピングにおける三つのコア問題:高い同時実行のボトルネック、ボット回避、コスト管理を解決するために設計されたクラウドベースのサーバーレスブラウザ自動化ツールです。

  1. 常に高い同時実行、ブロックを回避するヘッドレスブラウザ環境を提供し、開発者が動的コンテンツを簡単にスクレイプできるよう支援します。

  2. グローバルなプロキシIPプールとフィンガープリンティング技術を装備しており、CAPTCHAを自動で解決し、ブロックメカニズムを回避できます。

特にAI開発者向けに構築されたScrapeless Scraping Browserは、深くカスタマイズされたChromiumコアとグローバルに分散したプロキシネットワークを特徴としています。ユーザーは、AIアプリケーションやエージェントがウェブと対話するために、複数のヘッドレスブラウザインスタンスをシームレスに実行および管理できます。これにより、ローカルインフラストラクチャやパフォーマンスのボトルネックからの制約が排除され、ソリューションの構築に完全に集中できます。

Browser-UseとScraping Browserはどのように連携するのか?

統合すると、開発者はBrowser-Useを使用してブラウザ操作を指揮し、Scrapelessの安定したクラウドサービスと強力なブロック回避機能を利用して、信頼性のあるウェブデータを取得できます。

Browser-Useは、AIエージェントがウェブコンテンツを「理解」し、対話するための簡単なAPIを提供します。たとえば、OpenAIやAnthropicのようなLLMを使用してタスク指示を解釈し、Playwrightを介してブラウザ内で検索やリンククリックなどのアクションを完了することができます。
Scrapelessのスクレイピングブラウザは、このセットアップの弱点を補います。厳格なボット対策を講じている大規模なウェブサイトを扱う際には、高い同時接続のプロキシサポート、CAPTCHAの解決、およびブラウザエミュレーション機構によって、安定したスクレイピングが保証されます。

要するに、Browser-Useはインテリジェンスとタスクのオーケストレーションを処理し、Scrapelessは堅牢なスクレイピング基盤を提供し、自動ブラウザタスクをより効率的かつ信頼性のあるものにします。

スクレイピングブラウザをBrowser-Useに統合する方法?

ステップ 1. Scrapeless APIキーを取得

  • Scrapelessダッシュボードに登録し、ログインします。
  • 設定」に移動します。
  • APIキー管理」をクリックします。
Scrapeless API Key

次に、あなたの.envファイルにSCRAPELESS_API_KEY環境変数をコピーして設定します。

Browser-UseでAI機能を有効にするには、外部AIプロバイダーから有効なAPIキーが必要です。この例ではOpenAIを使用します。まだAPIキーを生成していない場合は、OpenAIの公式ガイドに従って作成してください。

あなたの.envファイルにもOPENAI_API_KEY環境変数が必要です。

免責事項: 以下のステップはOpenAIの統合に焦点を当てていますが、他のAIツールに合わせて適応することができ、Browser-Useによってサポートされている限りどのAIツールでも使用できます。

.evn Copy
OPENAI_API_KEY=your-openai-api-key
SCRAPELESS_API_KEY=your-scrapeless-api-key

💡サンプルAPIキーを実際のAPIキーに置き換えるのを忘れないでください

次に、あなたのプログラムでChatOpenAIをインポートします: langchain_openaiagent.py

Plain Text Copy
from langchain_openai import ChatOpenAI

Browser-UseはAI統合を処理するためにLangChainに依存しています。したがって、プロジェクトにlangchain_openaiを明示的にインストールしていなくても、すでに使用可能です。

gpt-4oは以下のモデルでOpenAI統合をセットアップします:

Plain Text Copy
llm = ChatOpenAI(model="gpt-4o")

追加の設定は必要ありません。これは、langchain_openaiが環境変数OPENAI_API_KEYから自動的にAPIキーを読み取るためです。

他のAIモデルやプロバイダーとの統合については、公式のBrowser-Useドキュメントを参照してください。

ステップ 2. Browser Useをインストール

pipを使用して(Pythonバージョン3.11以上):

Shell Copy
pip install browser-use

メモリ機能のために(PyTorchの互換性のためにPython<3.13が必要):

Shell Copy
pip install "browser-use[memory]"

ステップ 3. ブラウザとエージェントの設定

ブラウザを設定し、自動化エージェントを作成する方法は次のとおりです:

Python Copy
from dotenv import load_dotenv
import os
import asyncio
from urllib.parse import urlencode
from langchain_openai import ChatOpenAI
from browser_use import Agent, Browser, BrowserConfig
from pydantic import SecretStr

task = "Googleに行き、「Scrapeless」と検索し、最初の投稿をクリックしてタイトルに戻る"
SCRAPELESS_API_KEY = os.environ.get("SCRAPELESS_API_KEY")
OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY")

async def setup_browser() -> Browser:
    scrapeless_base_url = "wss://browser.scrapeless.com/browser"
    query_params = {
        "token": SCRAPELESS_API_KEY,
        "session_ttl": 1800,
        "proxy_country": "ANY"
    }
    browser_ws_endpoint = f"{scrapeless_base_url}?{urlencode(query_params)}"
    config = BrowserConfig(cdp_url=browser_ws_endpoint)
    browser = Browser(config)
    return browser

async def setup_agent(browser: Browser) -> Agent:
    llm = ChatOpenAI(
        model="gpt-4o", # 使用したいモデルを選択
        api_key=SecretStr(OPENAI_API_KEY),
    )

    return Agent(
        task=task,
        llm=llm,
        browser=browser,
    )

ステップ 4. メイン関数を作成

すべてをまとめたメイン関数は以下のとおりです:

Python Copy
async def main():
    load_dotenv()
    browser = await setup_browser()
    agent = await setup_agent(browser)
    result = await agent.run()
    print(result)
    await browser.close()
    
asyncio.run(main())

ステップ 5. スクリプトを実行

スクリプトを実行します:

Shell Copy
python run main.py

あなたのScrapelessセッションがScrapelessダッシュボードで開始するのが見えるはずです。

さらに、Scrapelessはセッションリプレイをサポートしており、プログラムの可視化が可能です。プログラムを実行する前に、Web録画機能が有効になっていることを確認してください。セッションが完了すると、ダッシュボードで記録を見ることができ、問題を迅速にトラブルシュートするのに役立ちます。

session replay
完全なコード

Python Copy
from dotenv import load_dotenv
import os
import asyncio
from urllib.parse import urlencode
from langchain_openai import ChatOpenAI
from browser_use import Agent, Browser, BrowserConfig
from pydantic import SecretStr

task = "Googleに行き、「Scrapeless」で検索し、最初の投稿をクリックしてタイトルを返す"
SCRAPELESS_API_KEY = os.environ.get("SCRAPELESS_API_KEY")
OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY")

async def setup_browser() -> Browser:
    scrapeless_base_url = "wss://browser.scrapeless.com/browser"
    query_params = {
        "token": SCRAPELESS_API_KEY,
        "session_ttl": 1800,
        "proxy_country": "ANY"
    }
    browser_ws_endpoint = f"{scrapeless_base_url}?{urlencode(query_params)}"
    config = BrowserConfig(cdp_url=browser_ws_endpoint)
    browser = Browser(config)
    return browser

async def setup_agent(browser: Browser) -> Agent:
    llm = ChatOpenAI(
        model="gpt-4o", # または使用するモデルを選択
        api_key=SecretStr(OPENAI_API_KEY),
    )

    return Agent(
        task=task,
        llm=llm,
        browser=browser,
    )

async def main():
    load_dotenv()
    browser = await setup_browser()
    agent = await setup_agent(browser)
    result = await agent.run()
    print(result)
    await browser.close()

asyncio.run(main())

💡ブラウザ利用は現在、Pythonのみをサポートしています。

💡ライブセッションでURLをコピーしてセッションの進行状況をリアルタイムで監視でき、セッション履歴でセッションのリプレイを観ることもできます。

ステップ6. 結果の実行

JavaScript Copy
{
    "done": {
        "text": "クリックした最初の検索結果のタイトルは: 'Effortless Web Scraping Toolkit - Scrapeless'です。",
        "success": True,
    }
}
実行結果

その後、ブラウザ利用エージェントは自動的にURLを開き、ページタイトルを印刷します:「Scrapeless: Effortless Web Scraping Toolkit」(これはScrapelessの公式ホームページのタイトルの一例です)。

実行プロセス全体は、Scrapelessコンソールの「ダッシュボード」→「セッション」→「セッション履歴」ページで確認でき、最近実行されたセッションの詳細が表示されます。

ステップ7. 結果のエクスポート

チーム共有やアーカイブの目的で、スクレイピングした情報をJSONまたはCSVファイルに保存できます。たとえば、以下のコードスニペットはタイトルの結果をファイルに書き込む方法を示しています:

Python Copy
import json
from pathlib import Path

def save_to_json(obj, filename):
    path = Path(filename)
    path.parent.mkdir(parents=True, exist_ok=True)
    with path.open('w', encoding='utf-8') as f:
        json.dump(obj, f, ensure_ascii=False, indent=4)
        
async def main():
    load_dotenv()
    browser = await setup_browser()
    agent = await setup_agent(browser)
    result = await agent.run()
    print(result)
    save_to_json(result.model_dump(), "scrapeless_update_report.json")
    await browser.close()
        
asyncio.run(main())

上記のコードは、ファイルを開いてJSON形式でコンテンツを書き込む方法を示しており、検索キーワード、リンク、およびページタイトルを含んでいます。生成されたscrapeless_update_report.jsonファイルは、社内の知識ベースやコラボレーションプラットフォームを通じて共有でき、チームメンバーがスクレイピング結果を簡単に確認できるようになります。プレーンテキスト形式の場合は、拡張子を.txtに変更し、基本的なテキスト出力メソッドを使用するだけで済みます。

まとめ

Scrapelessのスクレイピングブラウザサービスを、ブラウザ利用AIエージェントと組み合わせることで、情報収集と報告のための自動化システムを簡単に構築できます。

  • Scrapelessは、複雑なアンチスクレイピングメカニズムを処理できる安定した効率的なクラウドベースのスクレイピングソリューションを提供しています。
  • ブラウザ利用は、AIエージェントがブラウザを賢く制御して、検索、クリック、および抽出などのタスクを実行できるようにします。

この統合により、開発者は面倒なウェブデータ収集タスクを自動化エージェントにオフロードでき、研究の効率を大幅に改善しつつ、正確性とリアルタイムの結果を確保できます。

Scrapelessのスクレイピングブラウザは、リアルタイムの検索データを取得する際にネットワークブロックを回避し、運用の安定性を確保します。ブラウザ利用の柔軟な戦略エンジンと組み合わせることで、スマートなビジネス意思決定を強力に支援する、より強力なAI自動化研究ツールを構築できます。このツールセットにより、AIエージェントはデータベースと対話するかのようにウェブコンテンツを「クエリ」でき、手動の競合監視コストを大幅に削減し、R&Dおよびマーケティングチームの効率を改善することができます。

Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。

最も人気のある記事

カタログ