ブラウザの使用 + スクラップレス:AIエージェントのための検出されないクラウドブラウザ
Senior Web Scraping Engineer
TL;DR:
- ブラウザの使用はLLMを搭載したブラウザを駆動させます;Scrapelessはそのブラウザにクリーンなアイデンティティを与えます。 エージェントの
cdp_urlをScrapelessクラウドブラウザに向けると、実際のChromium上で動作し、一貫したフィンガープリントと居住者の出口を持ちます — エージェントコードは変更されません。 - ローカルブラウザは3つの軸で自動化を漏洩させます:
navigator.webdriverのシグナル、ヘッドレスデフォルトのフィンガープリント、そして自分の出口IP。アンチボットシステムはこれら3つを同時に評価します。 - 統合は1行 — 接続URLです。
wss://browser.scrapeless.com/api/v2/browserをトークンとともに構築し、Browser(cdp_url=...)に渡します。 - エージェントをライブで監視する ScrapeLessダッシュボードのセッションURLから、エージェントが思考してクリックしている様子を確認できます。
- ライブ検証済み: CDP経由で接続したエージェントが7ステップ実行し、Scrapelessクラウドブラウザを通じてターゲットページのタイトルを返しました。
- 無料で開始できます。 新しいScrapelessアカウントには無料のスクレイピングブラウザランタイムが含まれています — app.scrapeless.comでサインアップしてください。
はじめに:エージェントにクリーンなブラウザを提供する
ブラウザの使用は、言語モデルがリアルなブラウザを操作できるようにします — ステップを決定し、要素をクリックし、ページを読み取ります。ローカルChromeに対して実行すると、エージェントは自動化を明白にする要素を引き継ぎます:navigator.webdriverプロパティを通じて自己を通知し、ヘッドレスデフォルトのフォントやキャンバスの挙動を持ち、既に知られているIPレピュテーションサービスから退出します。
これをローカルで修正することは、Chromiumとアンチボットが変わる中でステルスパッチを維持することを意味します。ブラウザの使用は、cdp_urlを介してCDP対応ブラウザに接続し、Scrapelessスクレイピングブラウザは、1つのWebSocketエンドポイントを介して到達するCDP対応ブラウザです。したがって、エージェントの実行環境、フィンガープリント、および出口IPはサーバーサイドで移動し、あなたのコードが変更するのはブラウザの出所だけです。
これでできること
- アンチボット保護されたサイトでエージェントタスクを実行する — クラウドブラウザはレンダリング中にチャレンジをクリアします。
- 行動をローカライズする —
proxyCountryを固定し、エージェントがその市場の訪問者のようにページを確認します。 - マシンを超えてスケールする — セッションはクラウドで実行され、ノートパソコンではありません。
- エージェントコードを同一に保つ — ブラウザのソースだけを交換;
Agent、タスク、およびLLMはそのままにします。 - ライブで監視・デバッグする — Scrapelessダッシュボードは実行中のセッションをストリームします。
なぜScrapelessスクリーピングブラウザか
Scrapelessスクリーピングブラウザは、ウェブクローラーやAIエージェント向けに設計されたカスタマイズ可能なアンチ検出型クラウドブラウザです。特にブラウザの使用に関しては、次のことを提供します:
- 本物の自己開発Chromium、JavaScriptをChromeのように正確に実行し、SPAやチャレンジを解決します。
- セッションごとに一貫したフィンガープリント —
navigator.webdriverのシグナルがなく、ヘッドレスのデフォルトはありません。 - 195か国以上の居住者の出口、1つの
proxyCountry値でセッションごとに選択されます。 - 単一のCDPインタフェース — すべてのオプションが同じWebSocketエンドポイントでのクエリパラメータです。
無料プランのAPIキーを取得するにはapp.scrapeless.comをご覧ください。
必要条件
- Python 3.11以降(ブラウザの使用には3.11以上が必要です)
- エージェントの言語モデル用のOpenAI APIキー
- Scrapelessアカウント及びAPIキー — app.scrapeless.comでサインアップしてください。
完全な接続詳細はスクレイピングブラウザのドキュメントにあります。
インストール
bash
pip install browser-use
エージェントのメモリを長めのタスクに対して設定する場合(Python < 3.13):
bash
pip install "browser-use[memory]"
エージェントをクラウドブラウザに接続する
Scrapeless WebSocket URLを構築し、それをBrowser(cdp_url=...)に渡します。navigator.webdriverはW3C WebDriver仕様が準拠するドライバーに設定するよう要求するシグナルです — クラウドブラウザはこれを持ちません。
python
import os
from urllib.parse import urlencode
from browser_use import Browser
def scrapeless_browser() -> Browser:
params = {
"token": os.environ["SCRAPELESS_API_KEY"],
"sessionTTL": 900,
"proxyCountry": "ANY",
}
ws = f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(params)}"
return Browser(cdp_url=ws)
エージェントを実行する
ブラウザの使用は、クラウドブラウザにChrome DevTools Protocolを介して接続するので、Agentはローカルで実行するのとまったく同じように動作します。
注意:これを実行するには、ライブのScrapelessセッションとagent.run()用のOpenAI APIキーが必要です。両方を提供して実行してください。
python
import os
import asyncio
from urllib.parse import urlencode
from dotenv import load_dotenv
from browser_use import Agent, Browser, ChatOpenAI
def scrapeless_browser() -> Browser:
params = {"token": os.environ["SCRAPELESS_API_KEY"], "sessionTTL": 900, "proxyCountry": "ANY"}
ws = f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(params)}"
return Browser(cdp_url=ws)
async def main():
load_dotenv()
browser = scrapeless_browser()
await browser.start()
agent = Agent(
task="Googleにアクセスし、'Scrapeless'で検索し、最初の結果を開いてそのタイトルを返す",
llm=ChatOpenAI(model="gpt-4o"),
browser=browser,
)
print(await agent.run())
await browser.kill()
asyncio.run(main())
受け取るもの
ライブで実行すると、エージェントはcdp_urlを介して接続し、7つのステップを実行し、ターゲットページのタイトル — ビジネスと開発者のための効率的なウェブスクレイピングツールキット — をScrapelessクラウドブラウザを通じて返します。いくつかの率直な観察:
navigator.webdriver信号はありません ので、サイトが実行する最初のチェックは実際のChromeのように見えます。- 出口IPは
proxyCountryと一致します — 地理制限がかかったページは、現地の訪問者が見るものとして解決します。 - エージェントは適応します — 一つの検索経路に課題があれば、LLM駆動のエージェントはそれを回避し、なおもターゲットに到達できます。なぜなら、固定されたスクリプトに従うのではなく、ページについて推論するからです。
- メモリはオプションです —
Agentのenable_memory=Trueを使って長い多段階タスクを有効にします。
結論:同じエージェント、クリーンなブラウザ
Browser Useは何をするかを決定し、Scrapelessはブラウザがサイトにどのように見えるかを決定します。この統合は単一の接続URLに基づいています — トークンを使用してwss://browser.scrapeless.com/api/v2/browserを構築し、Browser(cdp_url=...)に渡して、エージェントを変更せずに実行します。同じクラウドブラウザに複数のPythonツールを接続するための配線方法については、undetected-fingerprintガイドを参照し、Scrapeless料金ページでプランを比較してください。
AIエージェントスクレイピングパイプラインを構築する準備はできましたか?
私たちのコミュニティに参加して無料プランを取得し、エージェントパイプラインを構築している開発者とつながりましょう:Discord · Telegram。
app.scrapeless.comにサインアップして、無料のスクレイピングブラウザのランタイムを取得し、ターゲットが指紋情報を取得できないクラウドブラウザにBrowser Useエージェントを指向させましょう。
よくある質問
Q: Browser Useエージェントコードを変更する必要がありますか?
いいえ。ブラウザの出所を変えるだけです — ローカルの起動をBrowser(cdp_url=<scrapeless url>)に置き換えます。Agent、タスク、LLMは同じです。
Q: なぜローカルChromeを実行しないのですか?
ローカルChromeはあなたのIPで動作し、navigator.webdriverを通じて自動化を通知し、スティールパッチを維持する必要があります。Scrapelessは管理されたクラウドブラウザで、住宅地域の出口がバンドルされており、一貫したフィンガープリントを持っています — 同じAPIで、メンテナンスなし。
Q: プロキシは必要ですか?
いいえ。住宅地域の出口が組み込まれています — proxyCountryを地域またはANYに設定します。
Q: どのPythonバージョンが必要ですか?
Browser UseはPython 3.11以上が必要です;エージェントメモリはさらに3.13未満のPythonを必要とします。
Q: エージェントの実行を観ることはできますか?
はい — Scrapelessダッシュボードは、エージェントが推論し、クリックしている間、ライブセッションをストリーミングします。
Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。



