Scarnox · Blog

Browser-Fingerprinting für Scraper erklärt

Browser-Fingerprinting bedeutet, einen Besucher anhand der kombinierten Merkmale seines Browsers zu erkennen, nicht über ein Cookie oder ein Konto. Websites nutzen es, um wiederkehrende Besucher zu erkennen, Betrug aufzuspüren und Automatisierung zu identifizieren. Wenn Sie das Web scrapen, werden Sie ihm begegnen. Dieser Leitfaden erklärt, was gemessen wird, warum eine einzelne Abweichung Ärger macht und wie Sie ein konsistentes, gutartiges Profil für die Sammlung öffentlicher Daten führen. Er erklärt auch die Grenzen dessen, was Fingerprint-Feinabstimmung leisten kann und soll.

Woraus ein Fingerprint besteht

Kein einzelner Wert identifiziert einen Browser für sich allein, aber viele kleine Werte zusammen tun das oft. Übliche Eingaben sind:

Fingerprinting-Skripte kombinieren diese Werte zu einem Hash oder einem Score. Je mehr Signale stabil und ungewöhnlich sind, desto eindeutiger ist das Ergebnis.

Warum eine Abweichung auffällt

Ein echter Browser ist in sich konsistent. Sein Betriebssystem passt zu seinen Schriften, seine Zeitzone passt zu seiner Spracheinstellung, und seine Bildschirmgröße passt zu dem Gerät, auf dem er läuft. Scraper brechen diese Konsistenz oft, ohne es zu wollen:

Jede Abweichung ist ein kleines Signal. Zusammen können sie eine Anfrage von "gewöhnlicher Besucher" zu "braucht einen genaueren Blick" verschieben.

Schritt 1: Ihr eigenes Setup messen

Sie sehen, was eine Seite über Ihren Client erfährt, wenn Sie eine Fingerprint-Testseite laden, die Sie kontrollieren, oder eine lokale Diagnoseseite, die Sie betreiben. Schauen Sie sich die Werte an und fragen Sie, ob sie einen einzigen, stimmigen Rechner beschreiben. Hier ist ein minimales Playwright-Beispiel, das einige davon ausgibt:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    context = browser.new_context(locale="en-GB", timezone_id="Europe/London")
    page = context.new_page()
    page.goto("https://example.com")  # durch eine Seite ersetzen, die Ihnen gehört
    print(page.evaluate("""() => ({
        language: navigator.language,
        timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
        platform: navigator.platform,
        viewport: [innerWidth, innerHeight]
    })"""))
    browser.close()

Schritt 2: Eine Identität pro Profil behalten

Die nützlichste Gewohnheit ist, jede Scraping-Identität als ein Profil zu behandeln. Geben Sie ihr einen festen Satz von Merkmalen und behalten Sie diesen für ihre ganze Lebensdauer:

Eines dieser Merkmale bei jeder Anfrage zu ändern, wirkt verdächtiger, als es stabil zu halten. Konsistenz macht ein Profil gewöhnlich.

Schritt 3: Das Profil wie einen Besucher takten

Fingerprinting ist nur eine Eingabe. Websites beobachten auch, wie schnell sich ein Profil durch die Seite bewegt. Ein Profil, das in einer Minute zweihundert Produktseiten lädt, ist kein Mensch, egal was sein Fingerprint sagt. Verteilen Sie die Anfragen, cachen Sie Ergebnisse und hören Sie auf, wenn eine Seite es anzeigt. Die Checkliste zum Scraping ohne Sperre behandelt das Takten ausführlicher.

Schritt 4: Die Grenzen kennen

Fingerprint-Feinabstimmung kann ein automatisiertes Profil nicht so aussehen lassen wie eine Person, die gar nicht da ist. Websites, die auf Fingerprinting setzen, kombinieren es meist mit Ratenlimits, Kontoprüfungen und manchmal einem Captcha. Wenn ein Captcha erscheint, brauchen Sie ein Token von einem Solver und keine weiteren Fingerprint-Anpassungen. Der Live-Captcha-Typ bei Scarnox ist PopularCaptcha; der PopularCaptcha-Python-Leitfaden zeigt die Anfrage. Für das größere Bild, welche Widgets es gibt, lesen Sie Captcha-Typen erklärt.

Wichtiger noch: Fingerprint-Umgehung ist keine Lizenz, die Regeln einer Website zu ignorieren. Hat der Betreiber den automatisierten Zugriff eingeschränkt, ist der richtige Schritt, aufzuhören, und nicht, Ihr Profil schwerer erkennbar zu machen. Fingerprinting ist außerdem ein Datenschutzthema. Manche Websites nutzen es, um Menschen über mehrere Besuche hinweg zu verfolgen, und das ist ein weiterer Grund, nur das zu sammeln, was Ihr Projekt braucht.

Verantwortungsvoll scrapen

Wohin als Nächstes

Wenn Ihr Ziel hinter einer Prüfung auf Browser-Ebene liegt, beginnen Sie mit der Erkennung von Headless-Browsern, die die Signale spezifisch für automatisierte Browser behandelt. Seiten, die JavaScript brauchen, um ihre Inhalte anzuzeigen, werden im Leitfaden JavaScript-Websites scrapen behandelt.

Starten Sie mit einer kostenlosen Testphase, ganz ohne Karte: Erstellen Sie ein Konto und probieren Sie den PopularCaptcha-Ablauf an einer Seite aus, die Ihnen gehört. Die aktuellen Tarife finden Sie auf der Preisseite.

Nächste Schritte