Das von Scrapern mit hohem Datenvolumen verwendete Proxy-Setup

Das von Scrapern mit hohem Datenvolumen verwendete Proxy-Setup

„Kad vuk ovcu čuva, ne valja se čuditi kad nestane vune.“
(Wenn der Wolf die Schafe bewacht, wundern Sie sich nicht, wenn die Wolle verschwindet.) In der Welt des Massen-Scrapings ist es so, als würden Sie Ihre Herde den Wölfen überlassen, wenn Sie Ihre Datenflüsse einem einzigen Proxy anvertrauen. Um die digitalen Hirten – Ratenbegrenzungen, CAPTCHAs, IP-Sperren – auszumanövrieren, benötigen Sie ein Proxy-Setup, das so gerissen ist wie ein Schachmeister aus Sarajevo.


Anatomie von Scraper-Proxy-Setups mit hohem Volumen

Arten von Stellvertretern: Auswahl Ihrer Soldaten

Proxy-Typ Geschwindigkeit Anonymität Kosten Zuverlässigkeit Anwendungsfallbeispiel
Rechenzentrum Hoch Medium Niedrig Hoch Massenabschaben, unempfindlich
Wohnen Med Hoch Hoch Medium E-Commerce, Turnschuhe
ISP (Statische Auflösung) Hoch Hoch Sehr hoch Sehr hoch Ticketing, Websites mit hohem Vertrauen
Mobile Niedrig Sehr hoch Sehr hoch Niedrig Soziale Medien, Anti-Spam

Bosnische Sicht:
Datacenter-Proxys sind wie jugoslawische Zastava-Autos: billig und überall, aber leicht zu erkennen. Residential-Proxys fallen in Istanbul nicht auf – die Einheimischen bemerken sie nicht, aber sie kosten mehr.

Hauptanbieter:
– Rechenzentrum: Paketstrom, ProxyRack
- Wohnen: Oxylabs, Luminati
– Internetanbieter: Smartproxy
– Handy: ProxyLTE


IP-Rotation: Der Kafana-Shuffle

Rotierende Proxys sind entscheidend für das Scraping großer Mengen. Ohne Rotation sind Verbote schneller zu erwarten als ein Politiker in einem bosnischen Witz. Es gibt zwei Hauptstrategien:

  1. Rotation pro Anfrage: Ändern Sie die IP bei jeder Anfrage.
  2. Am besten geeignet für: Vermeidung von Ratenbegrenzungen auf aggressiven Websites.
  3. Nachteil: Einige Websites verfolgen Sitzungscookies – wodurch Sitzungen unterbrochen werden.

  4. Sitzungsrotation (Sticky): Behalten Sie für eine Sitzung dieselbe IP bei und wechseln Sie nach X Minuten/Anfragen.

  5. Am besten geeignet für: Websites, die eine Anmeldung erfordern, Einkaufswagen oder die Speicherung von Cookies.

Beispiel: Verwenden rotierender Residential Proxies mit Python + Requests

Importanforderungen Proxy = { 'http': 'http://Benutzer:[email protected]:10000', 'https': 'http://Benutzer:[email protected]:10000', } Sitzung = Anforderungen.Sitzung() Sitzung.Proxys.Update(Proxy) resp = Sitzung.Get('https://targetsite.com', Timeout=10) Drucken(resp.Statuscode)

Für pro Anfrage: Ändern Sie das Proxy-Dict bei jeder Schleifeniteration.


Proxy-Verwaltungsarchitektur

Der Favorit bosnischer Ingenieure: Distributed Proxy Middleware

Die Architektur besteht normalerweise aus:

  • Zentraler Proxy-Manager:
    Verfolgt Proxy-Pool, Sperrraten und Erfolgs-/Fehlerstatistiken. Für den Status werden Redis oder PostgreSQL verwendet.
  • Scraper-Arbeiter:
    Proxy-Informationen vom Manager abrufen, Ergebnisse melden.
  • Rotierendes Gateway (optional):
    ProxyMesh oder Tintenfisch als lokaler Rotator.
  • Gesundheitscheck:
    Pingt Proxys an und setzt langsame oder gesperrte IPs auf die schwarze Liste.

Beispiel-Redis-Schema für Proxy-Pool:

Schlüssel Werttyp Beschreibung
Proxys: aktiv Satz Liste der derzeit aktiven IPs
Proxys: verboten Satz IPs mit kürzlichen Sperren
Proxys:Statistiken Hash Erfolgs-/Fehlerzählungen pro IP

Umgangsverbote: „Bolje spriječiti nego liječiti“

Vorbeugen ist besser als Heilen, sagt ein bosnisches Sprichwort.
Erkennungstechniken:

  • HTTP-Statusüberwachung:
    403, 429 oder Captchas = wahrscheinliches Verbot.
  • Inhalts-Hashing:
    Hash-Antworttext zum Erkennen von Blöcken, die als gültiges HTML getarnt sind.
  • Zeitanalyse:
    Plötzliche Verlangsamungen = mögliches Softban.

Automatisierte Sperrbehandlung:

if response.status_code in [403, 429]: # Proxy aus aktivem Set entfernen redis.srem('proxies:active', current_proxy) redis.sadd('proxies:banned', current_proxy)

Skalierung: Parallelität ohne Balkan-Chaos

  • Thread-/Prozesspools:
    Schrottig, Gleichzeitigkeit von Anfragen
  • Verteilte Aufgabenwarteschlangen:
    Sellerie, RQ
  • Kubernetes-Bereitstellungen:
    Jeder Pod erhält seine eigene Proxy-Zuweisung, die über Umgebungsvariablen verwaltet wird.

Beispiel: Zuweisen von Proxys in Kubernetes-Pods

API-Version: v1 Art: Pod Metadaten: Name: Scraper-Pod Spezifikation: Container: - Name: Scraper Bild: Scraper: neueste Umgebung: - Name: PROXY_ADDRESS Wert von: configMapKeyRef: Name: Proxy-Pool Schlüssel: Proxy-Adresse

Proxy-Authentifizierung und -Sicherheit

  • Benutzername/Passwort
    Die meisten Anbieter verwenden HTTP Basic Auth.
  • IP-Whitelisting:
    Einige erlauben den Zugriff von bestimmten IPs – legen Sie dies in Ihrem Provider-Dashboard fest.

Sicherheitstipp:
Coden Sie Proxy-Anmeldeinformationen niemals fest in den Quellcode ein. Verwenden Sie Umgebungsvariablen oder die Verwaltung von Geheimnissen (HashiCorp-Tresor, AWS Secrets Manager).


Proxy List Hygiene: Pranje ruku prije jela

  • Regelmäßig validieren:
    Pingen Sie alle X Minuten die Proxys an.
  • Tote/Gesperrte entfernen:
    Automatisch aus dem Pool entfernen.
  • Geo-Targeting:
    Verwenden Sie für einen besseren Erfolg Proxys, die der Benutzerbasis der Zielsite entsprechen (z. B. US-Proxys für US-E-Commerce).

Beispiel für ein Validierungsskript (Python):

Importanforderungen def is_proxy_alive(proxy_url): Versuchen Sie: resp = requests.get('https://httpbin.org/ip', proxies={'http': proxy_url, 'https': proxy_url}, timeout=5) returnieren Sie resp.status_code == 200, außer Ausnahme: returnieren Sie False

Proxy-Pool-Größe: Wie viele Schafe für Ihren Wolf?

Aggressivität der Zielstelle Anfragen pro Minute Empfohlene Proxy-Anzahl
Niedrig (Nachrichten, Blogs) <60 10-20
Mittel (E-Commerce) 60–300 50-200
High (Sneaker, Ticketing) >300 300+

Faustregel:
Teilen Sie die gewünschte Drehzahl durch die sichere Drehzahl pro IP, um Sperren zu vermeiden.


Tools und Frameworks

  • Schabracke: Integrierte Proxy-Unterstützung, Middleware-Anpassung.
  • Crawlera: Intelligente rotierende Proxy-API.
  • ProxyBroker: Open-Source-Proxy-Sammlung.
  • GRequests: Asynchrone Anfragen mit Proxy-Unterstützung.

Bosnischer Kriegsraum: Beispiel für eine Proxy-Einrichtung

Szenario: Scraping von 100.000 Produktseiten eines US-Einzelhändlers mit aggressivem Anti-Bot.

  1. Anbieter: Residential Proxies von Oxylabs mit 1.000 rotierenden IPs.
  2. Proxy-Manager: Redis DB zum Verfolgen von Live-/gesperrten Proxys.
  3. Schaber: 20 Dockerized Scrapy Spiders, die jeweils einen Proxy pro Sitzung verwenden.
  4. Ban-Erkennung: 403/429 und Content Fingerprinting.
  5. Skalierung: Über Kubernetes orchestriert, werden jedem Pod Proxy-Anmeldeinformationen über Geheimnisse zugewiesen.

Tastaturbefehl:

Scrapy Crawl-Produkte -s HTTP_PROXY=http://user:[email protected]:10000

Pazi dobro:
Vertrauen Sie niemals einem Proxy-Anbieter, ohne dessen IP-Pool zu testen, da manche mehr Schafe versprechen, als sie tatsächlich auf der Weide haben.


Weitere Ressourcen:


Wie die alte Garde an der Brücke von Mostar ist ein gut abgestimmtes Proxy-Setup Ihre beste Verteidigungs- und Angriffslinie – flink, robust und immer bereit für den nächsten Zug.

Vujadin Hadžikadić

Vujadin Hadžikadić

Leitender Netzwerkanalyst

Vujadin Hadžikadić ist ein erfahrener Senior Network Analyst bei ProxyMist, einer führenden Plattform, die regelmäßig aktualisierte Listen von Proxyservern aus der ganzen Welt bereitstellt. Mit über 15 Jahren Erfahrung in Netzwerksicherheit und Proxy-Technologien ist Vujadin auf SOCKS-, HTTP-, Elite- und anonyme Proxyserver spezialisiert. Geboren und aufgewachsen in Sarajevo, Bosnien und Herzegowina, verfügt er über ein tiefes Verständnis für digitale Privatsphäre und die entscheidende Rolle von Proxyservern bei der Wahrung der Anonymität im Internet. Vujadin hat einen Master-Abschluss in Informatik von der Universität Sarajevo und war maßgeblich an der Verbesserung der Serverüberprüfungsprozesse von ProxyMist beteiligt.

Kommentare (0)

Hier gibt es noch keine Kommentare, Sie können der Erste sein!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert