Как использовать прокси в Playwright
Playwright принимает объект прокси с server, username и password при запуске или для каждого контекста браузера, в Python, Node.js, Java и .NET.
Шаги
- Передайте proxy={server, username, password} в launch или new_context
- Используйте один контекст на session id для работы с несколькими sticky IP
- Маршрутизируйте и блокируйте изображения, шрифты и медиа
- Проверьте exit 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; см. порты каждого продукта ниже.
Советы
- Прокси на контекст позволяют одному браузеру работать со многими странами одновременно
- Используйте порт SOCKS5, только если вашему инструменту нужен SOCKS; HTTP проще
Частые вопросы
Может ли каждая вкладка использовать другую страну?
Да, создайте контекст браузера для каждой страны с собственным именем пользователя.