如何在 Playwright 中使用代理
Playwright 接受一個包含伺服器、使用者名稱和密碼的 proxy 物件,可以在啟動時或每個瀏覽器上下文中使用,支援 Python、Node.js、Java 和 .NET。
步驟
- 將 proxy={server, username, password} 傳遞給 launch 或 new_context
- 每個 session id 使用一個上下文以運行多個固定 IP
- 路由並中止圖片、字型和媒體
- 在實際工作前檢查一次出口 IP
範例程式碼
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(proxy={
"server": "http://gw.gbproxies.cc:10000",
"username": "USERNAME-cc-jp",
"password": "PASSWORD",
})
page = browser.new_page()
page.route("**/*.{png,jpg,jpeg,webp,gif,woff2,mp4}", lambda r: r.abort())
page.goto("https://api.ipify.org")
print(page.inner_text("body"))
browser.close()將USERNAME和PASSWORD替換為控制台Proxies頁面中的代理登入資訊。端口10000是住宅HTTP代理;各產品端口請見下方。
提示
- 每個上下文的代理讓一個瀏覽器同時運行多個國家
- 僅在你的工具需要 SOCKS 時使用 SOCKS5 埠號;HTTP 更簡單
常見問題
每個分頁可以使用不同的國家嗎?
可以,為每個國家建立一個瀏覽器上下文並使用其專屬的使用者名稱。