統合 · 中級

Playwright でのプロキシの使用: ブラウザごとまたはコンテキストごとに 1 つの終了

Playwright は、起動時またはブラウザー コンテキストごとに資格情報を使用してプロキシを取得するため、ブラウザーを再起動せずに、各コンテキストを自国で独自のスティッキー セッションにすることができます。

2 分で読めます 5つのセクション 確認日 編集チーム Proxy Cyber

起動レベルのプロキシ#

パイソン
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={
        "server": "http://res.proxy-cyber.com:9000",
        "username": "USER-cc-us-sid-run1-ttl-30m",
        "password": "PASS",
    })
    page = browser.new_page()
    page.goto("https://api.ipify.org")
    print(page.inner_text("body"))
    browser.close()

割り当てられたゲートウェイがサポートする独立したワークフローごとに、個別のセッション ID を使用します。接続の詳細で、許可されている期間と場所のパラメーターを確認してください。住宅用デバイスは、要求された期間が経過する前に切断される可能性があります。スティッキー セッションは、何日間も同じ IP を保証するものではありません。固定アドレスの場合はスタティック専用品と比較してください。

コンテキストごとのプロキシ#

1 つのブラウザーで複数の国またはセッションを実行するには、プレースホルダー プロキシを使用して起動し、それぞれに独自のコンテキストを与えます。 Chromium がコンテキストごとのプロキシを尊重するには、起動レベルのプロキシが必要です。

パイソン
browser = p.chromium.launch(proxy={"server": "http://per-context"})

de = browser.new_context(proxy={"server": "http://res.proxy-cyber.com:9000", "username": "USER-cc-de-city-berlin-sid-de1-ttl-30m", "password": "PASS"})
us = browser.new_context(proxy={"server": "http://res.proxy-cyber.com:9000", "username": "USER-cc-us-state-tx-sid-us1-ttl-30m", "password": "PASS"})

コンテキストを出口に一致させる#

IP、言語、時計が一致するように、各コンテキストにその国のロケールとタイムゾーンを指定します。 locale=\"de-DE\", timezone_id=\"Europe/Berlin\" ベルリンの文脈で言えば。不一致は、IP 自体よりも強力なボット信号です。

ギガバイトを節約: 不要なものをブロックします#

パイソン
def block(route):
    if route.request.resource_type in {"image", "media", "font", "stylesheet"}:
        return route.abort()
    return route.continue_()

page.route("**/*", block)

レンダリングされたページの重さは 3 ~ 5 MB になることがあります。 HTML と API は数百キロバイトを呼び出します。 GB 単位のネットワークでは、この 1 つのルールにより料金が 80 ~ 90 % 削減されます。

確認とトラブルシューティングを行う#

  • まず IP エコー サービスを開き、国を確認します。次に、都市の地理位置情報を調べます。
  • A net::ERR_TUNNEL_CONNECTION_FAILED または ERR_PROXY_CONNECTION_FAILED 起動時は、認証情報またはパラメータが間違っていることを意味します。 cURL を使用して同じ URL をテストし、ゲートウェイ コードを読み取ります。
  • WebRTC は、ブロックした場合にのみ Playwright コンテキストでデフォルトで無効になります。追加する --disable-webrtc プライバシーが重要な場合はスタイルを強化したり、STUN をブロックしたりできます。

人々が尋ねる質問#

各タブに異なるプロキシを設定できますか?

各コンテキストでは次のことができます。コンテキスト内のタブ (ページ) はプロキシを共有します。セッションまたは国ごとに 1 つのコンテキストを作成します。

Playwright は認証付きの SOCKS5 プロキシをサポートしていますか?

Chromium は SOCKS5 認証情報を受け入れません。ユーザー名とパスワードを指定してポート 9000 の HTTP プロキシを使用するか、サーバー IP をホワイトリストに登録して資格情報なしで sock5://res.proxy-cyber.com:9001 を使用します。

あなたのアカウント

1 つのアカウントでプロキシを管理

1 つのダッシュボードからネットワークを比較し、注文し、残高とサポート リクエストを追跡します。私たちのチームが支払いを確認し、配達後に接続の詳細を提供します。

アカウント作成