Як використовувати proxy з Playwright: Complete Guide
Налаштуйте 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 з locale та timezone для повної гео-симуляції
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+ residential IP від GProxy, це робить Playwright найшвидшим варіантом для паралельного гео-таргетованого скрапінгу.
Конфігурація proxy для кожного контексту
Контексти браузера Playwright — це легкі, ізольовані середовища, кожне з яких може мати власні налаштування proxy. Створіть контекст із proxy від GProxy, виконайте скрапінг, закрийте його та створіть інший з іншим proxy — і все це в межах одного екземпляра браузера. Це значно ефективніше, ніж підхід Selenium або Puppeteer.
Вбудована автентифікація
Playwright обробляє автентифікацію HTTP proxy нативно через конфігурацію proxy. Передавайте username та password безпосередньо в конфігурації 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, що працюють паралельно в межах одного екземпляра браузера. Кожен контекст ізольований зі своїми власними cookies, сховищем та proxy — ідеально для збору даних у великих масштабах.
Сценарії використання
Cross-Browser Testing
Тестуйте вебсайти з різних локацій за допомогою Chromium, Firefox та WebKit з використанням geo-targeted proxies.
Competitive Intelligence
Моніторте вебсайти конкурентів у різних регіонах з ротацією proxy для кожного контексту та емуляцією локалі.
Ad Verification
Перевіряйте розміщення реклами та контент у різних країнах, використовуючи таргетовані residential IP.
Dynamic Content Scraping
Витягуйте дані з сайтів з великою кількістю JavaScript за допомогою повного рендерингу браузера та надійної ротації proxy.
FAQ
Чи можу я використовувати різні проксі для кожної сторінки? +
Чи працює Playwright із SOCKS5? +
Який браузер варто використовувати для скрейпінгу? +
Чи швидший Playwright за Puppeteer? +
Готові спробувати?
Почніть з GProxy за хвилини — резидентні проксі від $0.85/GB, IPv6 від $0.03/проксі, оплата за використання.
