Skyvern + スクラップレス スクレイピング ブラウザ: クラウド内のAIエージェント
Advanced Bot Mitigation Engineer
Skyvernは、ページを見て何をするかを決定するブラウザエージェントです。画面のスクリーンショットを取り、ビジョンモデルがそれを読み取り、エージェントは見たものに基づいてクリック、入力、または読み取りを行います。そのエージェントのブラウザをScrapeless Scraping Browserに向けてChrome DevTools Protocolを介して、ローカルマシンで実行および隠すブラウザの代わりに、住宅用出口を用いたクラウドChromiumを制御します。
このペアリングは自然なものです。Skyvernは推論を提供します—平易な目標をブラウザアクションのシーケンスに変換する—そしてScraping Browserはエージェントが動作するランタイムを提供します。このガイドは、Skyvernのローカルランタイムをインストールし、CDP接続を通じてScrapeless Scraping Browserにポイントし、一文で目標を与え、エージェントの実行をクラウドブラウザに対してライブで見ることができます。
SkyvernをScrapeless Scraping Browserで実行する理由
ビジョンエージェントは、それが制御するブラウザと同じくらい有用です。ローカルChromiumに対してSkyvernを実行すれば、ブラウザプロセス、そのメモリ、単一の出口IP、および忙しいサイトがそのIPに対して行うことのすべてを所有します。それに対してScraping Browserをポイントすると、その半分はクラウドに移動します—エージェントはCDPを介してScrapelessがレンダリングおよび維持するChromiumセッションに接続し、住宅用の出口を特定の国に指定できます。それが接続する詳細は、Scraping Browserドキュメントに記載されています。
エージェントに関する何も変わりません。Skyvernは依然としてスクリーンショットを取り、推論を行い、実行します。単にローカルのブラウザではなく、WebSocketを介してアクセスされたクラウドブラウザ内で実行するだけです。これにより、推論はあなたの側で行われ、ブラウザfleetはScrapelessの側に残ります。これは、多くのページにまたがる目標や、トラフィックの提供に選択的なサイトの場合に欲しい分割です。
前提条件
Python 3.11またはそれ以降、Skyvernのローカルエクストラ、ブラウザセッションのためのScrapeless APIキー、およびビジョン機能モデルのためのキーが必要です。Scrapelessキーは、app.scrapeless.comの無料プランで取得できます。Skyvernのローカルモードはエージェントをプロセス内で実行するため、以下の実行には別のサーバーやデータベースは必要ありません。
インストール
埋め込みエージェントランタイムを引き込むlocalエクストラ付きでSkyvernをインストールします:
bash
pip install "skyvern[local]"
構成
環境には2つのキーを設定します:ブラウザのためのScrapelessキーとエージェントのビジョン呼び出しのためのモデルキーです。
bash
export SCRAPELESS_API_KEY="your_scrapeless_api_key"
export OPENROUTER_API_KEY="your_model_api_key"
Skyvernをクラウドブラウザに指示し、タスクを実行する
Skyvernはセッティングからブラウザおよびモデル構成を読み取るため、クライアントをビルドする前にコード内で設定します。BROWSER_TYPE=cdp-connectはSkyvernに既存のブラウザに接続するよう指示し、BROWSER_REMOTE_DEBUGGING_URLはScrapelessのCDPエンドポイントです。また、OpenRouter設定はビジョン機能モデルを選択します。そしてSkyvern.local()がエージェントをプロセス内で実行し、run_taskが目標を文として受け取ります。接続はChrome DevTools Protocolを< a href="https://datatracker.ietf.org/doc/html/rfc6455" rel="nofollow">WebSocketプロトコル経由で行います:
python
import os
from urllib.parse import urlencode
TOKEN = os.environ["SCRAPELESS_API_KEY"]
CDP_URL = "wss://browser.scrapeless.com/api/v2/browser?" + urlencode(
{"token": TOKEN, "sessionTTL": 300, "proxyCountry": "US"})
os.environ.update({
"BROWSER_TYPE": "cdp-connect",
"BROWSER_REMOTE_DEBUGGING_URL": CDP_URL,
"ENABLE_OPENROUTER": "true",
"OPENROUTER_MODEL": "google/gemini-2.5-flash-lite",
"LLM_KEY": "OPENROUTER",
"LLM_CONFIG_SUPPORT_VISION": "true",
})
import asyncio
from skyvern import Skyvern
async def main():
skyvern = Skyvern.local(use_in_memory_db=True)
task = await skyvern.run_task(
prompt="ページの最初の引用を見つけ、著者の名前を報告してください。",
url="https://quotes.toscrape.com/",
wait_for_completion=True,
max_steps=3,
)
print("タスクの状態:", task.status)
print("エンジン:", task.run_request.engine)
asyncio.run(main())
エージェントはクラウドブラウザに接続し、目標を達成し、完了します:
text
タスクの状態: 完了
エンジン: skyvern-1.0
無料プランでAPIキーを取得: app.scrapeless.com
エージェントが実際に行ったこと
以下の英文を日本語に翻訳します:
あの一つのステータスラインの背後で、SkyvernはScrapelessブラウザに対してループを実行しました。ページがレンダリングされたスクリーンショットをキャプチャし、目標を持ってその画像を視覚モデルに送信しました。モデルはアクションを返し、ここでは最初の引用とその著者がすでに画面上にあることを認識し、目標を完了としてマークしました。対話が必要なタスクでは、同じループがボタンをクリックしたり、フィールドに入力したり、スクロールしたり、再度スクリーンショットを取り、読み直すまで、設定されたmax_stepsに達するまで繰り返します。それらのアクションのすべては、あなたのマシンではなくクラウドのChromium内で実行され、接続のproxyCountryがトラフィックの出所を決定します。
あなたの代理として行動するエージェントは、ウェブサイトの境界内で動作します:公共のページを指し、サイトの利用規約やロボット排除プロトコルの指示を尊重し、ステップの予算を控えめに保ちます。労働の分担が重要です:Skyvernが決定を所有し、Scraping Browserがブラウザを所有します。同じランタイム上の別のエージェントフレームワークに関しては、Scrapeless上でのブラウザの使用方法のガイドが、異なるエージェントからの同じ接続をカバーしています。
結論
Skyvernは文をブラウザアクションに変換し、Scrapeless Scraping Browserはそのアクションが発生するクラウドランタイムを提供します。BROWSER_TYPE=cdp-connectをScrapeless CDPエンドポイントに設定し、視覚機能を持つモデルでSkyvern.local()を実行すると、エージェントが住宅の出口を持つクラウドChromiumを駆動します — 上の実行は、どこにもローカルブラウザがない状態で、エンドツーエンドで目標を完了しました。ランタイムが提供する内容についてはScraping Browser製品ページを読み、エージェントボリュームを、ブラウザ時間とモデルトークンの両方を消費し、価格ページと比較してからスケールを考えてください。
無料プランを請求し、ブラウザエージェントを構築している他の開発者とノートを共有するためにコミュニティに参加してください:Discord · Telegram。
よくある質問
Q: Skyvernはスクリプトとは何が違うのですか?
Skyvernはあなたに代わってアクションを決定します。ページのスクリーンショットを撮影し、視覚モデルがそのスクリーンショットを目標に対して読み取り、エージェントが何をクリックするか、何を入力するか、何を読むかを選びます — それにより、ハードコーディングされたセレクタに従うのではなく、見たことのないレイアウトに適応します。
Q: SkyvernはScrapeless Scraping Browserにどのように接続しますか?
CDP接続を通じて接続します。BROWSER_TYPE=cdp-connectとBROWSER_REMOTE_DEBUGGING_URLをScrapelessエンドポイントwss://browser.scrapeless.com/api/v2/browser?token=...に設定すると、Skyvernはローカルブラウザを立ち上げるのではなく、そのクラウドChromiumに接続します。
Q: Postgresデータベースまたは稼働中のサーバーが必要ですか?
この場合は必要ありません。Skyvern.local(use_in_memory_db=True)はインメモリデータベースを使用してプロセス内でエージェントを実行し、タスクを駆動するのに十分です。独自にホストされたSkyvernサービスには、別のサーバーとPostgresが必要ですが、ここで示されているローカル実行には不要です。
Q: エージェントはどのモデルを使用しますか?
視覚機能を持つモデルです。エージェントはスクリーンショットに基づいて推論します。例では、OpenRouterを介してgoogle/gemini-2.5-flash-liteにルーティングされ、LLM_CONFIG_SUPPORT_VISION=trueが設定されています。SkyvernはOpenAI、Anthropic、Gemini、その他のプロバイダーも同じ設定でサポートしています。
Q: エージェントが長時間実行されるのをどう防ぎますか?
タスクにmax_stepsを設定します。各ステップは一つのスクリーンショット-推論-アクションのサイクルであり、小さな予算が単一タスクが停止する前にどれだけのアクション — およびどれだけのモデルコール — を行えるかを制限します。
Q: トラフィックはどこから来ますか?
あなたのマシンではなく、Scrapelessクラウドブラウザの住宅出口からです。接続URLのproxyCountryパラメータがその出口を国に固定し、これはジオゲートされたページがそのコンテンツを鍵付けする元となります。
Q: 同じように異なるエージェントフレームワークを実行できますか?
はい。CDP経由でブラウザに接続するエージェントは、同じScrapelessエンドポイントに接続できるため、各々が独自の推論を行う一方で、ランタイムはフレームワーク間で共有されます。
Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。



