Як налаштувати проксі в Playwright для парсингу
Playwright — це сучасний фреймворк для веб-скрейпінгу та автоматизації, який підтримує кілька мов програмування та добре інтегрується з проксі CyberYozh для додаткової безпеки та стабільності сесій. Тут ви дізнаєтесь, як налаштувати Playwright і забезпечити якісне виконання завдань.
Підготовка: вибір проксі для використання з Playwright
Перед налаштуванням інтеграції проксі з Playwright необхідно побудувати правильну інфраструктуру для скрейпінгу/автоматизації. Тип проксі визначає рівень довіри, стабільність сесій, швидкість і те, як платформи сприймають ваш трафік.
Мобільні проксі: дані соціальних мереж, точний геотаргетинг і пошукова видача Google (SERP)
Мобільні проксі мають абсолютно найвищий рівень довіри серед усіх типів проксі. Вони є обов'язковим вибором для отримання даних із соціальних мереж, таких як Instagram, TikTok і Snapchat. Ви також зобов'язані використовувати інфраструктуру мобільних LTE/5G проксі для багатопотокового, цілодобового парсингу пошукової видачі Google (SERP). Мобільні оператори використовують технологію CGNAT, приховуючи тисячі реальних користувачів смартфонів за однією IP-адресою. Google не може заблокувати ці вузли без відключення від мережі реальних людей. Дана архітектура надає безлімітний трафік, дозволяючи нескінченно масштабувати збір даних без оплати за кожен завантажений гігабайт.

Мобільні проксі CyberYozh пропонують широкі можливості налаштування для точного геотаргетингу, налаштувань відбитків і необмеженого трафіку; ідеальні, коли вам потрібно, щоб Playwright емулював реального мобільного користувача.
Резидентські проксі: загальний скрейпінг даних і автоматизація
Резидентські проксі поділяються на два типи залежно від вашого сценарію використання:
Статичні резидентські проксі надають фіксований резидентський IP з певної країни, який платформи сприймають як звичайного домашнього інтернет-користувача. Вони ідеальні для роботи зі зв'язаними акаунтами.

Ротаційні резидентські проксі спираються на інфраструктуру зі 100M+ IP-адрес у 195+ країнах. Ви можете змінювати адреси при кожному запиті або підтримувати sticky-сесії тривалістю до 24 годин. Вони формують необхідний фундамент для масової автоматизації, масштабного веб-скрейпінгу та забезпечення стабільного мережевого контексту для сучасних ШІ-агентів (таких як Crawl4AI і Open Scraper).

Обирайте статичні резидентські IP для довгострокового управління акаунтами за схемою 1 IP = 1 акаунт, тоді як ротаційні IP потрібні для всіх масових веб-активностей із правильною стратегією ротації IP на основі кожного конкретного випадку використання.
Проксі датацентру: відкриті бази даних і тестування додатків
Проксі датацентру забезпечують найвищу швидкість з'єднання, але асоціюються з нерезидентським, ботоподібним трафіком. Вони добре працюють для скрейпінгу відкритих баз даних, тестування API і високошвидкісних завдань, де платформи застосовують мінімальне виявлення ботів, але можуть бути швидко обмежені на соціальних платформах, таких як Reddit або LinkedIn.

Додатковий інструмент: Оцінка ризиків до виконання (Risk Evaluation Before Execution)
CyberYozh надає IP Checker, який сканує кожну IP-адресу за головними антифрод-базами для повернення суворого показника ризику (Fraud Score) і повної історії. Впровадьте пайплайн «Оцінка ризиків до виконання» (Risk Evaluation Before Execution). Прогоніть IP через чекер перед ініціалізацією екземпляра браузера. Це дозволить оцінити ваш реальний рівень ризику та допоможе підтримувати високий показник успішних операцій (Operational Success Rate), повністю замінюючи хибні гарантії «стовідсоткового обходу банів».

Отримайте доступ до CyberYozh API, щоб автоматизувати ротацію IP і перевіряти кожну вхідну IP-адресу перед ротацією, забезпечуючи її якість.
Початок установки Playwright: Вибір мови
Playwright підтримує чотири мови. Перш ніж приступити до встановлення Playwright і налаштування проксі, оберіть мову, яка підходить вашому стеку. У цьому гайді використовується Python як найпоширеніший вибір для роботи з проксі, але всі чотири варіанти розглянуті в таблиці та коротких інструкціях нижче.
Мова | Ключові відмінності | Основні сценарії використання | Коли обирати |
Node.js (JS/TS) | Мова Playwright за замовчуванням; підтримка TypeScript з коробки; найбільша спільнота та документація | Наскрізне тестування, автоматизація браузера, frontend CI/CD | Ваша команда працює на JS/TS, або вам потрібні найбільш зрілі інструменти |
Python | Найширше використовується у скрейпингу/ML; асинхронність через asyncio; інтегрується з Requests, Scrapy | Веб-скрейпинг, конвеєри даних, автоматизація проксі, збір даних для ML | Вам потрібен інтенсивний скрейпинг через проксі або інтеграція з data science |
.NET (C#) | Розповсюдження через NuGet; строга типізація, добре підходить для корпоративного QA | Корпоративна автоматизація тестування, .NET-додатки | Ваша організація використовує .NET-стек |
Java | Розповсюдження через Maven/Gradle; інтеграція з JUnit | Корпоративні Java-додатки, тестування, пов'язане з Android | Ваш проект заснований на Java або потребує екосистеми JVM |
Node.js
Мова Playwright за замовчуванням і найбільш повно документована. TypeScript підтримується нативно: Playwright встановлюється за допомогою npm, без додаткового налаштування.
npm init playwright@latestPython
Основна мова для завдань Playwright з проксі, скрейпингу та автоматизації даних. Потребує Python 3.8+ і зазвичай встановлюється через PyPI (pip).
pip install playwright
playwright install.NET (C#)
Розповсюджується як NuGet-пакет. Потребує PowerShell (pwsh) для виконання кроку встановлення браузера.
dotnet new console -n PlaywrightDemo
cd PlaywrightDemo
dotnet add package Microsoft.Playwright
dotnet build
pwsh bin/Debug/netX/playwright.ps1 install Java
Розповсюджується як модуль Maven (mvn). Додайте залежність у ваш pom.xml у Maven, і браузери завантажаться автоматично при першій компіляції.
<dependency>
<groupId>com.microsoft.playwright</groupId>
<artifactId>playwright</artifactId>
<version>1.59.0</version>
</dependency> І потім виконайте команду:
mvn compile exec:java -D exec.mainClass="org.example.App"Налаштування проксі Playwright з Python
Тут ми розглянемо загальний процес розгортання сесії скрейпінгу Playwright з проксі CyberYozh. Хоча стандартною мовою Playwright є Node.js/TypeScript, у нашому прикладі ми використовуватимемо Python, оскільки Playwright з Python широко застосовується для веб-автоматизації, скрейпінгу та інших завдань, пов'язаних з проксі. Якщо вам потрібно використовувати TypeScript або у вас є конкретний випадок, що вимагає C# чи Java, просто вивчіть відповідну версію документації Playwright — код досить легко адаптувати.
Проксі-сервер Playwright — це мережевий посередник, який перенаправляє запити вашого браузера через іншу IP-адресу. Playwright передає конфігурацію проксі безпосередньо під час запуску браузера або на рівні контексту, направляючи весь трафік через вказаний сервер.
1. Отримайте проксі для вашого завдання
Увійдіть у свій акаунт CyberYozh, перейдіть у розділ Мої проксіі оберіть тип проксі, що підходить для вашого завдання (мобільні, резидентські статичні, резидентські ротаційні, проксі датацентру).

Після покупки відкрийте картку проксі, натисніть Згенерувати облікові дані, оберіть режим ротації (Random IP, Short Session або Long Session) і перейдіть до хоста, порту, імені користувача та пароля.

Ці облікові дані використовуватимуться протягом усього налаштування.
2. Завантажте та встановіть Playwright
Встановіть бібліотеку Playwright та її бінарні файли браузерів через PyPI:
pip install playwright
playwright installЦе завантажить бінарні файли Chromium, Firefox та WebKit. Для скрейпінгу стандартним вибором є Chromium.
3. Організуйте структуру проєкту
Створіть окрему папку проєкту (наприклад, scraper/). Зберігайте облікові дані окремо від коду і визначте чіткий шлях для збереження зібраних даних:
- документ .env для облікових даних проксі (завжди додавайте до .gitignore)
- scraper.py як основний скрипт Playwright
- requirements.txt для залежностей
папка output/ для зібраних даних (CSV/JSON)
4. Додайте конфігурацію проксі у файл .env
Відкрийте файл .env у VS Code або будь-якому редакторі та скопіюйте облікові дані CyberYozh. Завжди додавайте .env до вашого .gitignore, щоб запобігти витоку облікових даних у репозиторії системи контролю версій.
HTTP_PROXY=http://username:password@proxy-server-ip:host
SOCKS5_PROXY=socks5://username:password@proxy-server-ip:host
Для налаштування SOCKS5-проксі в Playwright використовуйте схему socks5://. Для стандартного використання HTTP-проксі в Playwright використовуйте http:// схему. Переконайтеся, що вказали правильні порти з панелі управління CyberYozh. Якщо ви використовуєте API CyberYozh, тут також необхідно вказати ваш API-ключ.
CYBERYOZH_API_KEY=Ваш_API_URL_ключ
5. Створіть скрипт для скрейпингу/автоматизації
Створіть тестовий файл Python із використанням Playwright. Він повинен мати приблизно таку структуру:
Створення сутностей браузера та контексту з налаштуваннями проксі
Налаштування автоматичної ротації та перевірки IP через API CyberYozh
Перехід на цільовий сайт і виконання скрейпингу через бібліотеку Requests
Налаштування обробки помилок
Вказання вихідної папки для зібраних даних
Наведений нижче скрипт реалізує повне налаштування проксі Playwright у Python: сутність браузера, сутність контексту з аутентифікацією проксі Playwright, автоматичну ротацію IP через API CyberYozh, виконання запитів, обробку помилок і вивід у файл.
import asyncio
import os
import json
import requests
from dotenv import load_dotenv
from playwright.async_api import async_playwright
load_dotenv()
PROXY_URL = os.getenv("HTTP_PROXY") # or SOCKS5, from the .env document
CYBERYOZH_API_KEY = os.getenv("CYBERYOZH_API_KEY") # API key from the .env document
TARGET_URL = "https://httpbin.org/ip" # the website to scrape; here is the test one
OUTPUT_FILE = "output/results.json" # output folder
def check_ip_quality(ip: str) -> bool:
"""Use CyberYozh IP Checker API to verify trust score before rotating."""
try:
response = requests.get(
f"https://app.cyberyozh.com/api/v1/ip-check?ip={ip}",
headers={"Authorization": f"Bearer {CYBERYOZH_API_KEY}"},
timeout=5
)
score = response.json().get("fraud_score", 100)
return score < 50 # Accept IPs with fraud score below 50
except Exception:
return True # Allow on API error
async def scrape(proxy_url: str) -> dict:
"""Run a single Playwright scraping session with proxy."""
# Parse proxy credentials for Playwright proxy authentication
from urllib.parse import urlparse
parsed = urlparse(proxy_url)
proxy_config = {
"server": f"{parsed.scheme}://{parsed.hostname}:{parsed.port}",
"username": parsed.username,
"password": parsed.password,
}
async with async_playwright() as p:
# Browser entity (headless to save traffic): launch with proxy server
browser = await p.chromium.launch(headless=True)
# Context entity: proxy settings applied per context
context = await browser.new_context(proxy=proxy_config)
page = await context.new_page()
try:
await page.goto(TARGET_URL, timeout=30000)
content = await page.inner_text("body")
result = json.loads(content)
return {"status": "ok", "ip": result.get("origin")}
except Exception as e:
return {"status": "error", "error": str(e)}
finally:
await context.close()
await browser.close()
async def main():
results = []
for i in range(5):
print(f"Request {i+1}: using proxy {PROXY_URL}")
data = await scrape(PROXY_URL)
print(f" → IP: {data.get('ip')} | Status: {data.get('status')}")
results.append(data)
os.makedirs("output", exist_ok=True)
with open(OUTPUT_FILE, "w") as f:
json.dump(results, f, indent=2)
print(f"Results saved to {OUTPUT_FILE}")
asyncio.run(main())Див. також пов'язаний гайд: Налаштування ротації проксі в Python.
6. Запустіть тест і виконайте ротацію проксі
Запустіть скрейпер із кореневої директорії проєкту:
python scraper.pyПереконайтеся, що кожен запит логує різну IP-адресу (підтверджуючи активну ротацію) і що файл output/results.json заповнюється. Використовуйте API CyberYozh для автоматичної ротації та автоматичних перевірок якості через IP Checker: проксі з високим показником шахрайства будуть відхилені перед наступним циклом ротації.
Див. також: Гайд з автоматизації веб-скрейпингу
Підсумки: використання Playwright з інфраструктурою CyberYozh
З налаштованими проксі Playwright і активними обліковими даними CyberYozh ви можете виконувати мультицільовий скрейпинг, геотаргетовану автоматизацію та робочі процеси керування акаунтами в масштабі, спрямовуючи кожну сесію браузера через чисті резидентські або мобільні IP з перевіркою показника шахрайства, виводячи при цьому структуровані дані в обраному форматі.
