Scraping-Leitfaden · 2 Min Lesezeit

Wie man IP-Sperren beim Scraping vermeidet

IP-Sperren resultieren normalerweise aus Verhalten, nicht aus Pech — zu viele Anfragen, schlampige Header und ein Fingerabdruck, der "Bot" schreit. So können Sie innerhalb der Regeln scrapen und Ihre Anfragen am Laufen halten.

Warum Websites IPs sperren (und was zuerst zu beheben ist)

Die meisten Sperren werden durch die Art und Weise, wie Sie anfragen, ausgelöst, nicht durch wer Sie sind.

Drei Signale leisten die Hauptarbeit hinter den meisten Sperren:

  • Rate & Volumen — zu viele Anfragen pro Sekunde von einer IP oder ein perfekt gleichmäßiger Rhythmus, den kein Mensch erzeugen würde.
  • Fingerprint — TLS/JA3, HTTP/2 Rahmenreihenfolge und Header-Reihenfolge, die nicht mit dem Browser übereinstimmen, den du vorgibst zu verwenden.
  • Headers — ein fehlender oder standardmäßiger User-Agent, kein Accept-Language, ein veralteter oder fehlender Referer.

Bevor du irgendetwas davon optimierst, lies die robots.txt und die Nutzungsbedingungen des Ziels. Das Scraping öffentlicher Daten ist oft in Ordnung; das Überlasten eines Endpunkts, das Ignorieren veröffentlichter Ratenlimits oder das Sammeln persönlicher Daten kann die Nutzungsbedingungen und in einigen Rechtsordnungen das Gesetz brechen. Halte dich an crawl-delay, speichere, was du abrufst, und versuche nicht, eine Seite ins Bodenlose zu wiederholen.

Sobald du verantwortungsbewusst scrapest, ist dein Haupthebel, wie IPs zugewiesen werden:

AnsatzAm besten fürAbwägung
Rotierend (neue IP pro Anfrage/Batch)Hochvolumige öffentliche Seiten, suchstilähnliche CrawlsVerteilt die Last, bricht jedoch Sitzungen, Warenkörbe und Anmeldungen
Sticky / Sitzung (gleiche IP für eine Weile)Angemeldete Abläufe, mehrstufige Navigation, PaginierungSieht menschlich aus, konzentriert die Last jedoch auf einen Ausgang

s4m betreibt Datacenter Proxys — authentifizierte SOCKS5 + HTTP, keine Wohnproxys. Sie sind schnell und günstig pro GB, aber einige Verbraucher-Websites kennzeichnen Datacenter-Bereiche schneller, also kombiniere sie mit sauberen Headers und ehrlichen Ratenlimits. Brauchst du einen stabilen Ausgang für Anmeldungen? Füge eine dedizierte IP hinzu. Bevorzugst du ein volles Tunnel? Siehe /vpn/, wäge Optionen unter /compare/ ab oder lies mehr Leitfäden.

Die Hebel, die Sie ungesperrt halten

Kombinieren Sie diese — kein einzelner Trick schlägt ein gutes Anti-Bot-System.

Rate-Limit und Jitter

Begrenzen Sie die gleichzeitigen Verbindungen, fügen Sie zufällige Verzögerungen zwischen Anfragen hinzu und beachten Sie die Crawl-Delay sowie alle 429 / Retry-After, die der Server sendet.

Rotieren oder fest bleiben

IP-Adressen für zustandslose, hochvolumige Crawls rotieren; einen stabilen Ausgang für angemeldete, mehrstufige Abläufe beibehalten. Viele Jobs kombinieren beides.

Sauberer Fingerabdruck

Sende realistische Browser-Header mit einer konsistenten Accept-Language und Referer anstelle von Bibliotheksstandardeinstellungen, die dich als Bot kennzeichnen.

Bei Fehlern zurücktreten

Verwenden Sie exponentielles Backoff mit Jitter bei 429- und 5xx-Antworten und stoppen Sie vollständig, wenn eine Website eindeutig Stopp signalisiert.

Per-IP-Nutzungssteuerung

s4m-Limits sind pro IP, Konto und Kontotyp administrierbar, sodass ein außer Kontrolle geratener Job keinen gemeinsamen Exit oder Ihr Budget gefährden kann.

Keine Protokolle, RAM-zuerst

Authentifizierte Proxys über TLS, keine Protokollierung von Haus aus. Ihre Ziel-Liste und der Verkehr bleiben Ihre, auf Karte oder Krypto.

Ein ban-resistentes Scraping-Setup

Sechs Schritte vom ersten Antrag bis zu einem langlebigen Crawler.

Überprüfen Sie robots.txt und ToS

Bestätigen Sie, dass der Endpunkt automatisierten Zugriff erlaubt, notieren Sie eventuelle Crawl-Verzögerungen und überspringen Sie persönliche oder eindeutig gesperrte Daten.

Setzen Sie ein Anfragebudget

Wählen Sie eine Obergrenze für die gleichzeitige Nutzung und eine Zielanfrage pro Sekunde, die weit unter dem liegt, was missbräuchlich aussehen würde, und fügen Sie dann eine zufällige Verzögerung hinzu.

Realistische Header senden

Setzen Sie einen echten User-Agent, Accept und Accept-Language und halten Sie diese während der gesamten Sitzung konsistent.

Wählen Sie rotierend vs. fest

Rotieren Sie Ausgänge für zustandslose Seiten; verwenden Sie einen klebrigen Ausgang pro angemeldetem Sitzung, damit der Zustand nicht mitten im Fluss unterbrochen wird.

Fügen Sie exponentielles Backoff hinzu

Bei 429 / 503 warten Sie Retry-After (oder 2^n) plus Jitter und versuchen Sie es ein paar Mal erneut, bevor Sie elegant aufgeben.

Begrenzung der Nutzung pro IP

Verwende s4m pro-IP-Limits, damit ein einzelnes Scraping keinen Ausgang erschöpfen kann, und überwache die gemessene Nutzung, während du skalierst.

Python: höflicher Crawler über s4m-Proxys

Sticky Session, realistische Header, Backoff mit Jitter. Tauschen Sie USER:PASS gegen Ihre Anmeldedaten — niemals eine echte IP hartkodieren.

python
import random
import time
import requests

# s4m datacenter proxies (authenticated). Placeholder host only.
USER, PASS = "USER", "PASS"
HTTP  = f"http://{USER}:{PASS}@proxy.s4m.online:3128"
SOCKS = f"socks5://{USER}:{PASS}@proxy.s4m.online:1080"  # pip install requests[socks]

PROXIES = {"http": HTTP, "https": HTTP}

HEADERS = {
    "User-Agent": (
        "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 "
        "(KHTML, like Gecko) Chrome/125.0 Safari/537.36"
    ),
    "Accept": "text/html,application/xhtml+xml;q=0.9,*/*;q=0.8",
    "Accept-Language": "en-US,en;q=0.9",
}


def polite_get(url, session, max_retries=5):
    for attempt in range(max_retries):
        r = session.get(url, headers=HEADERS, proxies=PROXIES, timeout=20)
        if r.status_code == 429 or r.status_code >= 500:
            wait = float(r.headers.get("Retry-After", 2 ** attempt))
            time.sleep(wait + random.uniform(0, 1))  # backoff + jitter
            continue
        r.raise_for_status()
        return r
    raise RuntimeError(f"gave up after {max_retries} tries: {url}")


def crawl(urls):
    # One Session = one sticky exit for this run; open a new one to rotate.
    with requests.Session() as s:
        for url in urls:
            resp = polite_get(url, s)
            yield url, resp.text
            time.sleep(random.uniform(1.5, 4.0))  # rate-limit + jitter


if __name__ == "__main__":
    for url, html in crawl(["https://example.com/page/1"]):
        print(url, len(html))
FAQ

Fragen, beantwortet

Sind Rechenzentrumsproxys ausreichend, um Sperren zu vermeiden?

Sie verbergen Ihre ursprüngliche IP und verteilen die Last, was viele ratebasierte Blockierungen verhindert. Aber s4m-Proxys sind Rechenzentrum, nicht residential, und einige Verbraucher-Websites kennzeichnen Rechenzentrumsbereiche eher – kombinieren Sie sie also mit sauberen Headern, vernünftigen Ratenlimits und stabilen Sitzungen, wo der Zustand wichtig ist.

Sollte ich rotierende oder sticky Proxys verwenden?

Rotieren Sie Ausgänge für zustandslose, hochvolumige öffentliche Seiten, damit keine einzelne IP Aufmerksamkeit erregt. Halten Sie eine stabile Sitzung, wenn Sie angemeldet sind oder einen mehrstufigen Prozess durchlaufen, da eine sich ändernde IP während der Sitzung verdächtig aussieht und Warenkörbe oder Authentifizierungen stören kann. Viele Jobs mischen beides.

Ist Web-Scraping legal?

Es hängt von Ihrer Gerichtsbarkeit, den Daten und den Bedingungen der Website ab. Öffentliche, nicht-personenbezogene Daten sind oft in Ordnung, aber die ToS einer Plattform können automatisierten Zugriff verbieten, selbst wenn es technisch möglich ist, und personenbezogene Daten unterliegen zusätzlichen Regeln. Überprüfen Sie immer robots.txt und ToS und scrapen Sie vorsichtig.

Wie kann ich verhindern, dass ein Job mein gesamtes Kontingent verbraucht?

s4m-Proxys sind gemessen und nach Verbrauch, mit administrierbaren Limits pro IP, pro Konto und pro Kontotyp. Begrenzen Sie die gleichzeitige Nutzung in Ihrem Crawler und setzen Sie ein Nutzungslimit pro IP, damit eine unkontrollierte Schleife Ihr Budget oder einen gemeinsamen Ausgang nicht aufbrauchen kann.

Kann ich eine stabile IP für das Scraping mit angemeldetem Zugang erhalten?

Ja. Das dedizierte persönliche IP-Add-On ist ein statischer Ausgang, den Sie optional von Ihrer Identität trennen und entweder an einen Proxy oder das VPN binden können – nützlich, wenn ein Ziel eine Sitzung an eine konsistente Adresse bindet.

Intelligenter scrapen, nicht härter

Authentifizierte SOCKS5 + HTTP-Datacenter-Proxys, nach Verbrauch abgerechnet, mit nutzungsabhängigen Limits pro IP und einer optionalen dedizierten IP. Keine Protokollierung aus Design — und ehrlich, dass dies Datacenter- und keine Wohnanschlüsse sind.

Menschen fanden diese Seite durch die Suche nach

Echte Suchphrasen, auf die diese Seite antwortet — die verlinkten öffnen die Seite, die sie ausführlich behandelt.