Zum Inhalt springen
Guides 3 Min. Lesezeit 766 Aufrufe

Verwenden von Proxies in Python mit Playwright

Konfigurieren von Proxies in Playwright für Python: HTTP- und SOCKS5-Proxies, Authentifizierung, Browser-Kontexte und Umgehung von Anti-Bot-Maßnahmen.

Verwenden von Proxies in Python mit Playwright

Proxys in Python mit Playwright verwenden

Playwright und Proxys

Playwright ist ein Browser-Automatisierungs-Framework von Microsoft, das Chromium, Firefox und WebKit unterstützt. Die Python-Version von Playwright verfügt über eine integrierte Proxy-Unterstützung auf Browser-Ebene und für einzelne Kontexte.

Installation

pip install playwright
playwright install  # downloads browsers

Grundlegende Proxy-Konfiguration

HTTP-Proxy

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(
        proxy={
            "server": "http://proxy_ip:port"
        }
    )
    page = browser.new_page()
    page.goto("https://httpbin.org/ip")
    print(page.content())
    browser.close()

Mit Authentifizierung

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(
        proxy={
            "server": "http://proxy_ip:port",
            "username": "user",
            "password": "pass"
        }
    )
    page = browser.new_page()
    page.goto("https://httpbin.org/ip")
    print(page.content())
    browser.close()

SOCKS5-Proxy

browser = p.chromium.launch(
    proxy={"server": "socks5://proxy_ip:port"}
)

Asynchroner Modus

import asyncio
from playwright.async_api import async_playwright

async def main():
    async with async_playwright() as p:
        browser = await p.chromium.launch(
            proxy={
                "server": "http://proxy_ip:port",
                "username": "user",
                "password": "pass"
            }
        )
        page = await browser.new_page()
        await page.goto("https://httpbin.org/ip")
        content = await page.content()
        print(content)
        await browser.close()

asyncio.run(main())

Proxys auf Kontextebene

Playwright ermöglicht es Ihnen, verschiedene Proxys für verschiedene Kontexte (Profile) innerhalb eines einzigen Browsers festzulegen:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch()

    # Kontext 1 — US-Proxy
    context1 = browser.new_context(
        proxy={
            "server": "http://us_proxy:port",
            "username": "user",
            "password": "pass"
        }
    )

    # Kontext 2 — Deutschland-Proxy
    context2 = browser.new_context(
        proxy={
            "server": "http://de_proxy:port",
            "username": "user",
            "password": "pass"
        }
    )

    page1 = context1.new_page()
    page2 = context2.new_page()

    page1.goto("https://httpbin.org/ip")
    page2.goto("https://httpbin.org/ip")

    print("US:", page1.content())
    print("DE:", page2.content())

    browser.close()

Dies ist eine leistungsstarke Funktion: ein Browser, mehrere Kontexte mit unterschiedlichen IPs und Fingerabdrücken.

Proxys für bestimmte Domains umgehen

browser = p.chromium.launch(
    proxy={
        "server": "http://proxy_ip:port",
        "bypass": "localhost,*.local,example.com"
    }
)

Domains in der Bypass-Liste werden direkt aufgerufen, wodurch der Proxy umgangen wird.

Headless- und Headed-Modi

# Headless (ohne GUI) — für Scraping
browser = p.chromium.launch(headless=True, proxy={"server": "http://proxy:port"})

# Headed (mit GUI) — zum Debugging
browser = p.chromium.launch(headless=False, proxy={"server": "http://proxy:port"})

Arbeiten mit verschiedenen Browsern

Playwright unterstützt drei Engines:

# Chromium
browser = p.chromium.launch(proxy=proxy_config)

# Firefox
browser = p.firefox.launch(proxy=proxy_config)

# WebKit (Safari)
browser = p.webkit.launch(proxy=proxy_config)

Alle drei unterstützen Proxys identisch.

Stealth-Modus und Anti-Bot-Umgehung

Playwright wird von Anti-Bot-Systemen erkannt. Zur Umgehung:

playwright-stealth

pip install playwright-stealth
from playwright.sync_api import sync_playwright
from playwright_stealth import stealth_sync

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={"server": "http://proxy:port"})
    page = browser.new_page()
    stealth_sync(page)  # wendet Stealth-Patches an
    page.goto("https://target-site.com")

Empfehlungen zur Umgehung

  1. Verwenden Sie Residential- oder Mobile-Proxys
  2. Legen Sie einen realistischen User-Agent fest
  3. Konfigurieren Sie die Viewport-Größe
  4. Fügen Sie Verzögerungen zwischen Aktionen hinzu
  5. Simulieren Sie Mausbewegungen und Scrollen

Screenshots und PDFs über Proxy

page.goto("https://example.com")
page.screenshot(path="screenshot.png", full_page=True)
page.pdf(path="page.pdf")

Anfragen abfangen

def handle_route(route):
    # Anfragen modifizieren
    headers = route.request.headers
    headers["X-Custom-Header"] = "value"
    route.continue_(headers=headers)

page.route("**/*", handle_route)
page.goto("https://example.com")

Praktisches Beispiel: Scraping mit Rotation

import asyncio
from playwright.async_api import async_playwright
import random

PROXIES = [
    {"server": "http://proxy1:port", "username": "u", "password": "p"},
    {"server": "http://proxy2:port", "username": "u", "password": "p"},
    {"server": "http://proxy3:port", "username": "u", "password": "p"},
]

async def scrape_page(playwright, url):
    proxy = random.choice(PROXIES)
    browser = await playwright.chromium.launch(proxy=proxy)
    page = await browser.new_page()
    try:
        await page.goto(url, timeout=30000)
        title = await page.title()
        return title
    except Exception as e:
        return f"Error: {e}"
    finally:
        await browser.close()

async def main():
    urls = [f"https://example.com/page/{i}" for i in range(10)]
    async with async_playwright() as p:
        tasks = [scrape_page(p, url) for url in urls]
        results = await asyncio.gather(*tasks)
        for url, result in zip(urls, results):
            print(f"{url}: {result}")

asyncio.run(main())

Fazit

Playwright ist ein leistungsstarkes Tool für die Arbeit mit Proxys in Python. Die Proxy-Unterstützung auf Kontextebene ermöglicht das Ausführen mehrerer Sitzungen mit unterschiedlichen IPs innerhalb eines einzigen Browsers. In Kombination mit Stealth-Patches und Residential-Proxys ist Playwright effektiv für das Scraping geschützter Websites.

Aktualisiert: 06.03.2026
Zurück zur Kategorie

Lesen Sie auch

Guides 2 Min.

Proxy für Nike SNKRS: Limitierte Drops ergattern & mehrere Teilnahmen sichern

Nutze Residential- oder Mobile-Proxies für Nike SNKRS, um mit mehreren Accounts an Draws teilzunehmen, IP-Limits zu umgehen und limitierte Drops ohne Bans zu coppen. Welcher Typ zu wählen ist und wie man das Setup einrichtet.

Guides 2 Min.

So richten Sie einen Proxy auf dem iPhone ein (WLAN & SOCKS5)

Richten Sie einen Proxy auf dem iPhone über die nativen Wi-Fi-Einstellungen (HTTP/HTTPS) oder eine Proxy-App wie Shadowrocket für SOCKS5 und Mobilfunkabdeckung ein. Schritt-für-Schritt-iOS-Setup und die zu beachtenden Einschränkungen.

Guides 3 Min.

Proxy für Tinder: Mehrere Accounts & Sperren vermeiden

Nutze Mobile- oder Residential-Proxies für Tinder, um mehrere Profile zu betreiben und IP-Shadowbans zu vermeiden. Warum Mobile gewinnt, wie man es einrichtet und warum ein Proxy allein nicht deinen Standort ändert.

Guides 2 Min.

Proxy für StockX: Preise überwachen & Accounts verwalten

Nutzen Sie Residential-, ISP- oder Mobile-Proxys für StockX, um Preise zu überwachen, mehrere Accounts zu verwalten und Drops ohne Bans zu coppen. Hier erfahren Sie, welchen Typ Sie wählen sollten und wie Sie GProxy einrichten.

Guides 3 Min.

Proxy für OpenAI API: Zugriff, Rate Limits & Setup

Leite die OpenAI API über einen Residential- oder ISP-Proxy (GProxy +) weiter, um auf unterstützte Regionen zuzugreifen, 429-Rate-Limits zu umgehen und Accounts zu isolieren. Welcher Proxy zu verwenden ist, plus Python-Setup-Beispiele.

Guides 1 Min.

Einrichten eines Proxys in Cypress für E2E-Tests

Einrichten eines Proxys in Cypress: HTTP_PROXY-Variablen, cy-proxy-middleware und das Testen standortabhängiger Inhalte.

Testen Sie unsere Proxys

20.000+ Proxys in über 100 Ländern weltweit

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.