Menangkan trafik residensial 1 TB, iPhone 18 Pro Max + 33 hadiah lainnyaTop-up $50 = 1 TiketBergabung
Bisnis

Cara mengatur proxy di Playwright untuk web scraping

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 traffic Anda.

Mobile proxy: Data sosial, geotargeting presisi, dan Google SERP

Mobile proxy memiliki tingkat kepercayaan tertinggi absolut di antara semua jenis proxy. Mereka adalah pilihan wajib untuk ekstraksi data media sosial seperti Instagram, TikTok, dan Snapchat. Anda juga dapat menerapkan infrastruktur mobile LTE/5G untuk scraping Google SERP multi-threaded sepanjang waktu. Operator mobile menggunakan teknologi CGNAT, menyembunyikan ribuan pengguna smartphone nyata di balik satu alamat IP. Google tidak dapat memblokir node ini tanpa memutuskan seluruh lingkungan. Arsitektur ini memberi Anda traffic tak terbatas untuk menskalakan parser Anda tanpa batas tanpa membayar per gigabyte.

ℹ️

Mobile proxy CyberYozh menawarkan kustomisasi tinggi untuk geotargeting presisi, pengaturan fingerprint, dan traffic tak terbatas; ideal ketika Anda membutuhkan Playwright untuk mengemulasi pengguna mobile nyata.

Residential proxy: Scraping data umum dan otomasi

Residential proxy dibagi menjadi dua jenis berdasarkan use case Anda:

  • Static residential proxy menyediakan IP residential tetap dari negara tertentu, dipersepsikan oleh platform sebagai pengguna Internet rumahan biasa. Mereka ideal untuk workflow yang terhubung dengan akun.

  • Rotating residential proxy memanfaatkan infrastruktur 100M+ IP di 195+ negara. Anda dapat merotasi alamat pada setiap request atau mempertahankan sticky session hingga 24 jam. Mereka membentuk fondasi yang diperlukan untuk otomasi massal, web scraping skala besar, dan menyediakan konteks jaringan yang stabil untuk agen AI modern seperti Crawl4AI dan Open Scraper.

ℹ️

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 use case spesifik.

Datacenter proxy: Database terbuka dan pengujian aplikasi

Datacenter proxy menyediakan kecepatan koneksi tercepat, tetapi dikaitkan dengan traffic non-residential yang menyerupai bot. Mereka 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.

Tool tambahan: Evaluasi Risiko Sebelum Eksekusi

CyberYozh menawarkan IP Checker yang memindai setiap alamat IP terhadap database fraud utama untuk mengembalikan Fraud Score yang ketat dan riwayat lengkap. Terapkan pipeline "Risk Evaluation Before Execution". Jalankan IP Anda melalui checker sebelum meluncurkan instance browser. Ini mengevaluasi tingkat risiko aktual Anda dan membantu mempertahankan tingkat keberhasilan operasional yang tinggi, sepenuhnya menggantikan jaminan "ban-proof" yang salah.

IP Check results
⚙️

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

Memulai dengan 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 workflow proxy, tetapi semua empat opsi tercakup 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

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

Tim Anda bekerja dengan JS/TS, atau Anda membutuhkan tooling yang paling matang

Python

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

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

Anda membutuhkan scraping intensif proxy atau integrasi data science

.NET (C#)

Distribusi NuGet; strong typing, bagus untuk QA enterprise

Otomasi testing enterprise, aplikasi .NET

Organisasi Anda menggunakan stack .NET

Java

Distribusi Maven/Gradle; integrasi JUnit

Aplikasi enterprise Java, testing 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.

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 dependency ke pom.xml Anda di Maven, dan browser akan diunduh secara otomatis pada kompilasi pertama.

bash
<dependency>

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

  <artifactId>playwright</artifactId>

  <version>1.59.0</version>

</dependency> 

Kemudian jalankan perintah:

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

Mengatur Proxy Playwright dengan Python​

Di sini, mari kita jelajahi deployment sesi scraping Playwright yang umum dengan proxy CyberYozh. Meskipun bahasa Playwright default adalah Node.js/TypeScript, kita akan menggunakan Python dalam contoh kita, 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 pada saat peluncuran browser atau tingkat konteks, merutekan semua traffic melalui server yang ditentukan. 

1. Dapatkan proxy untuk tugas Anda

Masuk ke akun CyberYozhAnda, navigasikan 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 navigasikan ke host, port, username, dan password. 

Kredensial ini akan digunakan di seluruh proses setup.

2. Download dan install Playwright

Install library Playwright dan binari browser-nya melalui PyPI:

bash
pip install playwright

playwright install

Ini akan mendownload 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 path 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. output/ folder 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 version control.

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

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

bash
CYBERYOZH_API_KEY=Your_API_URL_Key

5. Buat skrip scraping/otomasi

Buat file tes Python menggunakan Playwright. File tersebut harus memiliki struktur kurang lebih sebagai berikut:

  1. Pembuatan entitas browser dan konteks dengan pengaturan proxy

  2. Pengaturan rotasi otomatis dan pemeriksaan IP melalui CyberYozh API

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

  4. Siapkan penanganan error

  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 CyberYozh API, eksekusi request, penanganan error, dan output file.

🎓

Kunjungi dokumentasi API CyberYozh untuk menjelajahi bagaimana tepatnya Anda dapat men-deploy perintah API untuk penggunaan layanan CyberYozh secara otomatis

bash
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/checkers/socks/",
            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: Configuring Proxy Rotation in Python. 

6. Jalankan tes dan rotasi proxy

Jalankan scraper dari root proyek Anda:

bash
python scraper.py

Verifikasi bahwa setiap request mencatat alamat IP yang berbeda (mengonfirmasi rotasi aktif) dan bahwa file output/results.json terisi. Gunakan CyberYozh API untuk rotasi otomatis dan pemeriksaan kualitas otomatis melalui IP Checker: proxy dengan fraud score 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 dengan geotargeting, dan workflow manajemen akun dalam skala besar, merutekan setiap sesi browser melalui IP residential atau mobile yang bersih dengan validasi fraud score, sambil menghasilkan data terstruktur dalam format pilihan Anda.

FAQ tentang pengaturan proxy Playwright