Wie implementiert man eine Rotation von User-Agents, die auf aktuellen Browser-Marktanteilen und Betriebssystem-Kombinationen basiert?

Die Implementierung einer gewichteten User-Agent (UA)-Rotation basiert auf der Verknüpfung von Marktdaten mit einem probabilistischen Auswahlalgorithmus. Wir nutzen hierfür einen Datensatz, der Browser-Versionen, Betriebssysteme und deren aktuellen Marktanteil als Gewichtungsfaktor enthält.

Der technische Prozess gliedert sich in drei Schritte:

  1. Datenerfassung: Wir beziehen aktuelle Marktanteile und mappen diese auf valide UA-Strings. Diese Daten werden in einer JSON-Struktur oder Datenbank hinterlegt.
  2. Gewichtete Auswahl: Anstatt einer einfachen Zufallsauswahl implementieren wir eine gewichtete Verteilung. Ein Zufallswert zwischen 0 und 1 bestimmt anhand einer kumulativen Summe der Gewichte den auszugebenden UA-String.
  3. Header-Synchronisation: Der gewählte UA-String wird in den HTTP-Request integriert.

Beispielhafte Gewichtungsmatrix für die Implementierung:

Browser/OS KombinationMarktanteil (Gewicht)Beispiel UA-String (gekürzt)
Chrome / Windows65%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...
Safari / macOS15%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1...
Chrome / Android12%Mozilla/5.0 (Linux; Android 13; Pixel 7) AppleWebKit/537.36...
Firefox / Linux3%Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0
Sonstige5%Variabel

Um die Erkennungsrate durch Anti-Bot-Systeme zu senken, integrieren wir diese Logik in unsere Data Engineering Pipelines. Ein kritischer Punkt ist die Konsistenz zwischen dem User-Agent Header und den modernen Client Hints (z. B. Sec-CH-UA-Platform). Wenn der UA-String einen Windows-Client vorgibt, die Client Hints jedoch Linux melden, erfolgt ein sofortiger Flagging-Prozess durch die Zielseite.

Wir empfehlen, die UA-Rotation nicht statisch über eine lokale Datei, sondern dynamisch über eine API-gestützte Datenbank zu steuern. Statische Listen veralten schnell, da Browser-Updates die UA-Strings kontinuierlich ändern. Wer auf einfache Zufallsrotation ohne Gewichtung setzt, erzeugt ein unnatürliches Traffic-Profil, das leicht durch statistische Anomalieerkennung identifiziert wird. Die einzige technisch belastbare Lösung ist die exakte Spiegelung der realen Marktverteilung inklusive der korrekten Client-Hint-Zuordnung.

Sergej Wiens

Sergej Wiens

Gründer & Software Architekt