Pengaturan proxy Playwright

Playwright adalah framework web scraping dan otomasi modern yang mendukung berbagai bahasa pemrograman dan terintegrasi dengan baik dengan proxy CyberYozh untuk keamanan tambahan dan stabilitas sesi. Di sini, pelajari cara mengatur Playwright dan memastikan pekerjaan Anda selesai dengan baik.

Persiapan: Memilih proxy untuk digunakan dengan Playwright

Sebelum mengonfigurasi integrasi proxy Playwright, Anda harus membangun infrastruktur scraping/otomasi yang tepat. Jenis proxy Anda menentukan tingkat kepercayaan, stabilitas sesi, kecepatan, dan bagaimana platform memandang lalu lintas Anda.

Proxy mobile: Data sosial dan geotargeting presisi

Proxy mobile memiliki tingkat kepercayaan tertinggi di antara semua jenis proxy, menjadikannya pilihan yang direkomendasikan untuk scraping media sosial dan aplikasi mobile-first seperti Instagram, TikTok, dan Snapchat

ℹ️

Proxy mobile CyberYozh menawarkan kustomisasi tinggi untuk geotargeting presisi, pengaturan fingerprint, dan traffic unlimited; ideal ketika Anda memerlukan Playwright untuk meniru pengguna mobile yang sebenarnya.

Proxy residential: Scraping data umum dan otomasi

Proxy residential terbagi menjadi dua jenis berdasarkan kasus penggunaan Anda:

  • Proxy residential statis menyediakan IP residential tetap dari negara tertentu, dipersepsikan oleh platform sebagai pengguna Internet rumahan biasa. Ideal untuk alur kerja yang terkait dengan akun.

  • Proxy residential rotating menggunakan kumpulan 50 juta+ IP di lebih dari 100 negara, merotasi alamat per permintaan atau per sesi. Paling cocok untuk otomasi massal dan web scraping skala besar dengan Playwright

ℹ️

Pilih IP residential statis untuk manajemen akun jangka panjang, dengan skema 1 IP = 1 akun, sementara IP rotating diperlukan untuk semua aktivitas web massal, dengan strategi rotasi IP yang tepat berdasarkan setiap kasus penggunaan spesifik.

Proxy datacenter: Database terbuka dan pengujian aplikasi

Proxy datacenter menyediakan kecepatan koneksi tercepat, tetapi dikaitkan dengan lalu lintas non-residential yang mirip bot. Bekerja dengan baik untuk scraping database terbuka, pengujian API, dan tugas berkecepatan tinggi di mana platform menerapkan deteksi bot minimal, tetapi dapat dengan cepat dibatasi pada platform sosial seperti Reddit atau LinkedIn.

Alat tambahan: IP Checker untuk memastikan kualitas

CyberYozh menawarkan IP Checker yang memindai setiap alamat IP terhadap berbagai database fraud, mengembalikan skor kepercayaan dan riwayat lengkap. Sebelum merotasi ke IP baru dalam sesi Playwright Anda, jalankan melalui checker untuk mengonfirmasi bahwa IP tersebut tidak akan memicu larangan.

IP Check results
⚙️

Dapatkan akses API CyberYozh untuk mengotomatiskan rotasi IP dan memeriksa setiap alamat IP yang masuk sebelum merotasi, memastikan kualitasnya.

Memulai instalasi Playwright: Memilih bahasa

Playwright mendukung empat bahasa. Sebelum Anda memulai instalasi Playwright dan konfigurasi proxy, pilih bahasa yang sesuai dengan stack Anda. Panduan ini menggunakan Python, sebagai pilihan yang paling umum digunakan untuk alur kerja proxy, tetapi keempat opsi tersebut dibahas dalam tabel dan instruksi singkat di bawah ini.

Bahasa

Perbedaan Utama

Kasus Penggunaan Utama

Kapan Memilih

Node.js (JS/TS)

Bahasa Playwright default; dukungan TypeScript langsung tersedia; komunitas dan dokumentasi terbesar

Pengujian end-to-end, otomasi browser, CI/CD frontend

Tim Anda bekerja dengan JS/TS, atau Anda memerlukan perangkat yang paling matang

Python

Paling banyak digunakan dalam scraping/ML; async melalui asyncio; terintegrasi dengan Requests, Scrapy

Web scraping, pipeline data, otomasi proxy, pengumpulan data ML

Anda memerlukan scraping yang banyak menggunakan proxy atau integrasi data science

.NET (C#)

Distribusi NuGet; strong typing, bagus untuk QA enterprise

Otomasi pengujian enterprise, aplikasi .NET

Organisasi Anda menggunakan stack .NET

Java

Distribusi Maven/Gradle; integrasi JUnit

Aplikasi enterprise Java, pengujian terkait Android

Proyek Anda berbasis Java atau memerlukan ekosistem JVM

Node.js

Bahasa Playwright default dan paling lengkap dokumentasinya. TypeScript didukung secara native: Playwright diinstal menggunakan npm, tanpa konfigurasi tambahan yang diperlukan.

bash
npm init playwright@latest

Python

Bahasa pilihan untuk tugas proxy Playwright, scraping, dan otomasi data. Memerlukan Python 3.8+ dan biasanya diinstal melalui PyPI (pip).

bash
pip install playwright

playwright install

.NET (C#)

Didistribusikan sebagai paket NuGet. Memerlukan PowerShell (pwsh) untuk menjalankan langkah instalasi browser.

bash
dotnet new console -n PlaywrightDemo

cd PlaywrightDemo

dotnet add package Microsoft.Playwright

dotnet build

pwsh bin/Debug/netX/playwright.ps1 install 

Java

Didistribusikan sebagai modul Maven (mvn). Tambahkan dependensi ke pom.xml Anda di Maven, dan browser akan diunduh secara otomatis pada kompilasi pertama.

xml
<dependency>

  <groupId>com.microsoft.playwright</groupId>

  <artifactId>playwright</artifactId>

  <version>1.59.0</version>

</dependency> 

Dan kemudian jalankan perintah:

bash
mvn compile exec:java -D exec.mainClass="org.example.App"

Mengatur proxy Playwright dengan Python​

Di sini, mari kita jelajahi penerapan sesi scraping Playwright secara umum dengan proxy CyberYozh. Meskipun bahasa default Playwright adalah Node.js/TypeScript, kami akan menggunakan Python dalam contoh kami, karena Playwright dengan Python banyak digunakan untuk otomasi web, scraping, dan tugas-tugas terkait proxy lainnya. Jika Anda perlu menggunakan TypeScript atau memiliki kasus penggunaan spesifik yang memerlukan C# atau Java, cukup jelajahi versi dokumentasi Playwright yang sesuai; cukup mudah untuk menyesuaikan kodenya.

💡

Server proxy Playwright adalah perantara jaringan yang meneruskan permintaan browser Anda melalui alamat IP yang berbeda. Playwright meneruskan konfigurasi proxy secara langsung saat peluncuran browser atau tingkat konteks, merutekan semua lalu lintas melalui server yang ditentukan. 

1. Dapatkan proxy untuk tugas Anda

Masuk ke akun CyberYozhAnda, navigasi ke My Proxies, dan pilih jenis proxy yang sesuai dengan tugas Anda (mobile, residential static, residential rotating, datacenter). 

Setelah pembelian, buka kartu proxy, klik Generate Credentials, pilih mode rotasi Anda (Random IP, Short Session, atau Long Session), dan navigasi ke host, port, username, dan password. 

Kredensial ini akan digunakan di seluruh pengaturan.

2. Unduh dan instal Playwright

Instal pustaka Playwright dan binari browsernya melalui PyPI:

bash
pip install playwright

playwright install

Ini mengunduh binari Chromium, Firefox, dan WebKit. Untuk scraping, Chromium adalah pilihan standar.

3. Atur struktur proyek

Buat folder proyek khusus (misalnya, scraper/). Pisahkan kredensial dari kode Anda dan tentukan jalur output yang jelas untuk data yang di-scrape:

  1. - Dokumen .env untuk kredensial proxy (selalu tambahkan ke .gitignore)

  2. - scraper.py sebagai skrip Playwright utama

  3. - requirements.txt untuk dependensi

  4. - Folder output/ untuk data yang di-scrape (CSV/JSON) 

4. Tambahkan konfigurasi proxy ke dalam file .env

Buka file .env Anda di VS Code atau editor apa pun dan salin-tempel kredensial CyberYozh Anda. Selalu tambahkan .env ke .gitignore Anda untuk mencegah kebocoran kredensial ke repositori kontrol versi.

HTTP_PROXY=http://username:password@proxy-server-ip:host

SOCKS5_PROXY=socks5://username:password@proxy-server-ip:host 

Untuk konfigurasi proxy SOCKS5 Playwright, gunakan skema socks5:// . Untuk penggunaan proxy HTTP Playwright standar, gunakan http:// skema. Pastikan untuk menyertakan port yang benar dari dashboard CyberYozh. Jika Anda menggunakan API CyberYozh, kunci API Anda juga harus ditentukan di sini.

CYBERYOZH_API_KEY=Kunci_URL_API_Anda  

5. Buat skrip scraping/otomasi

Buat file tes Python menggunakan Playwright. Strukturnya kurang lebih sebagai berikut:

  1. Pembuatan entitas browser dan konteks dengan pengaturan proxy

  2. Pengaturan rotasi otomatis dan pemeriksaan IP melalui API CyberYozh

  3. Kunjungi situs web target dan lakukan scraping melalui pustaka Requests

  4. Siapkan penanganan kesalahan

  5. Tentukan folder output untuk data yang di-scrape 

Skrip di bawah ini mengimplementasikan pengaturan proxy Playwright lengkap dalam Python: entitas browser, entitas konteks dengan autentikasi proxy Playwright, rotasi IP otomatis melalui API CyberYozh, eksekusi permintaan, penanganan kesalahan, dan output file.

python
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())
ℹ️

Lihat juga panduan terkait: Mengonfigurasi Rotasi Proxy di Python

6. Jalankan tes dan rotasi proxy

Luncurkan scraper dari root proyek Anda:

bash
python scraper.py

Verifikasi bahwa setiap permintaan mencatat alamat IP yang berbeda (mengonfirmasi rotasi aktif) dan bahwa file output/results.json terisi. Gunakan API CyberYozh untuk rotasi otomatis dan pemeriksaan kualitas otomatis melalui IP Checker: proxy dengan skor penipuan tinggi akan ditolak sebelum siklus rotasi berikutnya. 

ℹ️

Ringkasan: Menggunakan Playwright dengan infrastruktur CyberYozh

Dengan proxy Playwright yang dikonfigurasi dan kredensial CyberYozh aktif, Anda dapat menjalankan scraping multi-target, otomasi berbasis geo-target, dan alur kerja manajemen akun dalam skala besar, merutekan setiap sesi browser melalui IP residensial atau mobile yang bersih dengan validasi skor penipuan, sambil menghasilkan data terstruktur dalam format pilihan Anda.

FAQ

Apa itu server proxy Playwright dan mengapa saya membutuhkannya?

Server proxy Playwright merutekan lalu lintas browser Playwright melalui alamat IP perantara, menyembunyikan asal Anda. Ini mencegah larangan IP, melewati pembatasan geografis, dan membuat sesi otomatis tampak seperti lalu lintas pengguna organik.

Bagaimana cara menginstal proxy di Playwright?

Tidak ada langkah instalasi terpisah. Setelah menjalankan Playwright install, berikan kredensial proxy Anda melalui parameter proxy={"server": "...", "username": "...", "password": "..."} pada chromium.launch() atau browser.new_context().

Bagaimana cara menggunakan Playwright dengan autentikasi proxy?

Berikan kunci "username" dan "password" di dalam dict proxy saat peluncuran browser atau pembuatan konteks. Playwright secara native menangani autentikasi proxy Playwright tanpa memerlukan pustaka tambahan.

Apakah Playwright mendukung proxy SOCKS5?

Ya. Gunakan socks5:// skema di URL server dengan nomor port yang benar.

Apa perbedaan antara proksi Playwright yang diatur di tingkat browser vs. tingkat context?

Proksi tingkat browser berlaku untuk semua context dan halaman. Proksi tingkat context memungkinkan proksi Playwright yang berbeda per sesi, memungkinkan alur kerja multi-akun di mana setiap context menggunakan IP yang berbeda.

Jenis proksi CyberYozh mana yang terbaik untuk web scraping Python berbasis proksi Playwright?

Gunakan rotating residential proxies untuk scraping massal (pool IP 50M+, rotasi per-permintaan) dan mobile proxies untuk target media sosial. Datacenter proxies cocok untuk database terbuka yang memerlukan kecepatan.

Bagaimana cara merotasi proksi di Playwright secara otomatis?

Dengan rotating residential proxies CyberYozh, rotasi sudah built-in: gunakan sufiks -res-any di username Anda, dan setiap permintaan baru menerima IP baru. Tidak diperlukan manajemen pool manual.

Bisakah saya menggunakan proksi Playwright dengan asyncio Python untuk scraping bersamaan?

Ya. Gunakan async_playwright dengan asyncio. Setiap pemanggilan browser.new_context(proxy=...) dapat menerima konfigurasi proksi yang berbeda, memungkinkan sesi paralel dengan IP yang berbeda.

Mengapa scraper Playwright saya masih diblokir meskipun menggunakan proksi?

Pemblokiran terjadi ketika IP memiliki fraud score tinggi, rotasi terlalu agresif, atau fingerprint browser tidak konsisten. Verifikasi kualitas IP menggunakan CyberYozh IP Checker dan pertimbangkan untuk memasangkan proksi dengan antidetect browser untuk target keamanan tinggi.

Bagaimana cara menggunakan environment variables untuk kredensial proksi Playwright secara aman?

Simpan kredensial di file .env (ditambahkan ke .gitignore), muat dengan python-dotenv, dan teruskan ke chromium.launch(). Jangan pernah hardcode string proksi di source code Anda atau commit ke version control.