Как использовать proxy в Playwright: полное руководство
Настройте GProxy proxy с Playwright для автоматизации в различных браузерах. Поддерживается переключение proxy для каждого контекста, Chrome/Firefox/WebKit и встроенная аутентификация.
Что вам понадобится
- ✓Python 3.8+ или Node.js 16+
- ✓Установленный Playwright (pip install playwright && playwright install)
- ✓Аккаунт GProxy с активным тарифным планом proxy
- ✓Знакомство с паттернами async/await
Пошаговая настройка
Установка Playwright
Установите Playwright и бинарные файлы браузеров
# Python
pip install playwright
playwright install chromium
# Node.js
npm install playwright
Запуск с proxy
Создайте контекст браузера с GProxy proxy
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
context = browser.new_context(proxy={
'server': 'http://proxy.gproxy.net:1000',
'username': 'YOUR_USER',
'password': 'YOUR_PASS'
})
page = context.new_page()
page.goto('https://httpbin.org/ip')
print(page.content())
Ротация на уровне контекста
Используйте разные proxy для каждого контекста для реализации ротации
countries = ['us', 'de', 'gb', 'fr']
for country in countries:
ctx = browser.new_context(proxy={
'server': 'http://proxy.gproxy.net:1000',
'username': f'USER-country-{country}',
'password': 'PASS'
})
page = ctx.new_page()
page.goto('https://httpbin.org/ip')
print(f'{country}: {page.text_content("body")}')
ctx.close()
Эмуляция геопозиции
Комбинируйте proxy с локалью и часовым поясом для полной гео-симуляции
context = browser.new_context(
proxy={'server': 'http://proxy.gproxy.net:1000',
'username': 'USER-country-us', 'password': 'PASS'},
locale='en-US',
timezone_id='America/New_York',
geolocation={'latitude': 40.7128, 'longitude': -74.0060},
permissions=['geolocation']
)
Параллельный скрапинг
Собирайте данные с нескольких страниц одновременно, используя разные proxy
import asyncio
from playwright.async_api import async_playwright
async def scrape(browser, url, country):
ctx = await browser.new_context(proxy={
'server': 'http://proxy.gproxy.net:1000',
'username': f'USER-country-{country}',
'password': 'PASS'
})
page = await ctx.new_page()
await page.goto(url)
title = await page.title()
await ctx.close()
return title
Примеры кода
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
context = browser.new_context(
proxy={
'server': 'http://proxy.gproxy.net:1000',
'username': 'YOUR_USER',
'password': 'YOUR_PASS'
}
)
page = context.new_page()
page.goto('https://httpbin.org/ip')
print('IP:', page.text_content('body'))
context.close()
browser.close()
import asyncio
from playwright.async_api import async_playwright
async def scrape_page(browser, url, country):
context = await browser.new_context(proxy={
'server': 'http://proxy.gproxy.net:1000',
'username': f'USER-country-{country}',
'password': 'PASS'
})
page = await context.new_page()
await page.goto(url, timeout=30000)
data = await page.evaluate('() => document.title')
await context.close()
return {'url': url, 'country': country, 'title': data}
async def main():
async with async_playwright() as p:
browser = await p.chromium.launch()
tasks = [
scrape_page(browser, 'https://example.com', 'us'),
scrape_page(browser, 'https://example.com', 'de'),
scrape_page(browser, 'https://example.com', 'jp'),
]
results = await asyncio.gather(*tasks)
print(results)
await browser.close()
asyncio.run(main())
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
const context = await browser.newContext({
proxy: {
server: 'http://proxy.gproxy.net:1000',
username: 'YOUR_USER',
password: 'YOUR_PASS'
}
});
const page = await context.newPage();
await page.goto('https://httpbin.org/ip');
console.log(await page.textContent('body'));
await context.close();
await browser.close();
})();
Почему Playwright — лучший выбор для скрапинга через proxy?
Playwright от Microsoft — это самый современный фреймворк для автоматизации браузеров, поддерживающий Chromium, Firefox и WebKit через единый API. Его ключевое преимущество для пользователей proxy: нативная поддержка proxy на уровне контекста. В отличие от Puppeteer и Selenium, вы можете устанавливать разные proxy для разных контекстов браузера без запуска новых экземпляров браузера. В сочетании с 10M+ резидентными IP от GProxy, это делает Playwright самым быстрым вариантом для параллельного гео-таргетированного скрапинга.
Настройка proxy для каждого контекста
Контексты браузера в Playwright — это легковесные изолированные среды, каждая из которых может иметь собственные настройки proxy. Создайте контекст с proxy от GProxy, выполните скрапинг, закройте его и создайте другой с другим proxy — и все это в рамках одного экземпляра браузера. Это значительно эффективнее, чем подход в Selenium или Puppeteer.
Встроенная аутентификация
Playwright обрабатывает аутентификацию HTTP proxy нативно через конфигурацию proxy. Передавайте имя пользователя и пароль напрямую в настройках proxy — никаких расширений браузера или обходных путей не требуется. Это стабильно работает в Chromium, Firefox и WebKit.
Поддержка нескольких браузеров
Тестируйте и собирайте данные с помощью разных браузерных движков, используя один и тот же код. Chromium для большинства задач, Firefox для сайтов, блокирующих автоматизацию на базе Chrome, и WebKit для имитации поведения Safari. Все они поддерживают proxy от GProxy через один и тот же API конфигурации.
Гео-таргетинг с Playwright
Комбинируйте таргетированные по странам proxy от GProxy со встроенными настройками геолокации и локали Playwright для полной симуляции местоположения. Установите proxy на US IP, локаль на en-US, часовой пояс на America/New_York и геолокацию на координаты Нью-Йорка для создания полностью согласованного профиля пользователя из США.
Параллельный скрапинг в масштабе
Архитектура Playwright поддерживает высокую конкурентность с минимальным потреблением ресурсов. Создавайте десятки контекстов браузера с разными proxy от GProxy, работающими параллельно внутри одного экземпляра браузера. Каждый контекст изолирован, имеет собственные куки, хранилище и proxy — это идеально подходит для крупномасштабного сбора данных.
Сценарии применения
Cross-Browser Testing
Тестируйте веб-сайты из разных локаций, используя Chromium, Firefox и WebKit с geo-targeted proxy.
Competitive Intelligence
Мониторьте сайты конкурентов в разных регионах с ротацией proxy для каждого контекста и эмуляцией локали.
Ad Verification
Проверяйте размещение рекламы и контент в разных странах, используя таргетированные резидентские IP.
Dynamic Content Scraping
Извлекайте данные с сайтов с большим количеством JavaScript с полным рендерингом браузера и надежной ротацией proxy.
FAQ
Могу ли я использовать разные прокси для каждой страницы? +
Работает ли Playwright с SOCKS5? +
Какой браузер использовать для скрапинга? +
Playwright быстрее, чем Puppeteer? +
Готовы попробовать?
Начните с GProxy за минуты — резидентные прокси от $0.85/GB, IPv6 от $0.03/прокси, оплата по факту использования.
