如何在Playwright中使用代理
Playwright在启动或每个浏览器上下文中接受包含服务器、用户名和密码的代理对象,支持Python、Node.js、Java和.NET。
步骤
- 将proxy={server, username, password}传递给launch或new_context
- 为每个会话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替换为控制台代理页面中的登录信息。端口10000是住宅HTTP代理;请查看下方每个产品的端口。
提示
- 每个上下文的代理允许一个浏览器同时运行多个国家
- 仅在工具需要SOCKS时使用SOCKS5端口;HTTP更简单
常见问题
每个标签页可以使用不同的国家吗?
可以,为每个国家创建一个带有自己用户名的浏览器上下文。