Zum Inhalt

Cloudflare-Fehler 1020: Was es ist und wie man ihn beim Web Scraping vermeidet

  • by
  • Blog
  • 6 min gelesen

Wenn Sie schon einmal versucht haben, auf eine Website zuzugreifen oder sie zu scannen, und dabei auf eine Seite mit der Meldung „Fehler 1020: Zugriff verweigert“ gestoßen sind, sind Sie auf den Bot-Schutz von Cloudflare gestoßen. Dies kann äußerst frustrierend sein, insbesondere wenn Sie gerade dabei sind, wichtige Daten zu sammeln. Aber was genau ist der Cloudflare-Fehler 1020, was verursacht ihn und wie können Sie ihn beim erfolgreichen Scraping von Websites vermeiden?

In diesem ausführlichen Leitfaden behandeln wir alles, was Sie über den Cloudflare-Fehler 1020 wissen müssen, und stellen bewährte Techniken vor, um zu verhindern, dass er Ihre Web-Scraping-Bemühungen blockiert. Lass uns eintauchen!

Was ist Cloudflare-Fehler 1020?

Zunächst ist es wichtig zu verstehen, was Cloudflare ist. Cloudflare ist ein beliebter Dienst, den viele Websites nutzen, um Sicherheit, Leistung und Zuverlässigkeit zu verbessern. Ein Hauptmerkmal ist der Firewall- und DDoS-Schutz, der den eingehenden Datenverkehr analysiert und verdächtige Anfragen blockiert.

Wenn Cloudflare feststellt, dass eine Anfrage gegen eine der Firewall-Regeln der Website verstoßen hat, blockiert es die Anfrage und gibt den Fehler 1020 „Zugriff verweigert“ zurück. Auf diese Weise schützt Cloudflare Websites vor bösartigen Bots, DDoS-Angriffen, Content Scraping und anderem unerwünschten automatisierten Datenverkehr.

Die vollständige Fehlermeldung, die Sie sehen werden, lautet:
"Zugriff abgelehnt
Fehlercode 1020
Was ist passiert?
Diese Website nutzt einen Sicherheitsdienst, um sich vor Online-Angriffen zu schützen.“

Was verursacht den Cloudflare-Fehler 1020?

Es gibt eine Reihe von Gründen, warum Ihre Anfrage möglicherweise mit dem Fehler 1020 blockiert wird. Im Allgemeinen bedeutet dies jedoch, dass Cloudflare sie als automatisiert oder potenziell bösartig gekennzeichnet hat. Einige häufige Ursachen sind:

  • Zu viele Anfragen zu schnell verschicken (hohe Anfragerate)
  • Keine Verwendung legitimer Benutzerheader (Benutzeragent, Cookies, Referrer usw.)
  • Ihre IP-Adresse hat einen schlechten Ruf im Zusammenhang mit Bots/Spam
  • Die Seite erfordert Javascript-Rendering, aber Ihr Bot führt kein JS aus
  • Sie versuchen, auf einen eingeschränkten Bereich zuzugreifen (Anmeldeseite, Admin-Panel usw.)
  • Der Websitebesitzer hat strenge Firewallregeln konfiguriert, die Ihre Anfrage auslöst

Grundsätzlich besteht eine gute Chance, dass Ihre Anfragen blockiert werden, wenn sie nicht ausreichend dem normalen Benutzerverkehr eines Webbrowsers ähneln. Die Bot-Erkennung von Cloudflare ist recht ausgefeilt.

So beheben Sie den Cloudflare-Fehler 1020

Sie versuchen also, eine Website zu scannen, stoßen aber immer wieder auf den gefürchteten Fehler 1020. Wie lösen Sie das Problem, damit Sie weiterhin Daten sammeln können? Hier finden Sie einige Tipps und Best Practices.

1. Überprüfen Sie, ob die Site normal erreichbar ist

Bevor Sie versuchen, den Bot-Schutz zu umgehen, prüfen Sie zunächst, ob Sie die Website in einem normalen Webbrowser erreichen können. Wenn Sie die gleiche Meldung „Zugriff verweigert“ erhalten, liegt das Problem nicht an Ihrem Scraping-Tool, sondern an einem Netzwerk- oder Verbindungsproblem auf Ihrer Seite.

Versuchen Sie, in einem Inkognito-Browserfenster auf die URL zuzugreifen. Wenn auch das nicht funktioniert, ist die Website möglicherweise nicht verfügbar oder blockiert Ihre IP-Adresse. Versuchen Sie es mit einem anderen Netzwerk oder VPN.

2. Verlangsamen Sie Ihre Anfragerate

Einer der häufigsten Gründe für die Bot-Erkennung ist einfach das zu häufige Senden von Anfragen. Das schnelle Bombardieren einer Website mit Seitenanfragen in kurzer Zeit ist ein sicherer Weg, blockiert zu werden.

Fügen Sie Verzögerungen zwischen Ihren Anfragen hinzu, um das Surfverhalten von Menschen besser zu simulieren. Ein paar Sekunden sind normalerweise gut, aber bei sehr Bot-empfindlichen Websites kann es sein, dass zwischen den Anfragen mehr als 10 Sekunden vergehen. Experimentieren Sie, um den Sweet Spot zu finden.

3. Rotieren Sie IP-Adressen und Benutzeragenten

Ein weiteres großes Warnsignal ist, wenn alle Anfragen von einer einzigen IP-Adresse kommen. Normale Benutzer haben unterschiedliche IPs.

Verwenden Sie einen Pool von Proxyservern, um die IP-Adresse bei jeder Anfrage zu rotieren. Idealerweise handelt es sich dabei um Premium-Proxys mit einem guten Ruf. Rotierende Rechenzentrums-IPs können weiterhin blockiert werden. Heim-Proxys von echten Geräten eignen sich am besten, um IP-basierte Blockierungen zu vermeiden.

Stellen Sie außerdem sicher, dass Sie einen gültigen, rotierenden User-Agent-Header festlegen, um verschiedene Browser/Geräte darzustellen.

4. Verwenden Sie menschenähnliche Header und Cookies

Schauen Sie sich die Header an, die ein echter Webbrowser beim Zugriff auf die Website sendet. Versuchen Sie, diese in Ihrem Schaber so genau wie möglich nachzubilden.

Stellen Sie insbesondere Folgendes ein:

  • Eine allgemeine Benutzeragentenzeichenfolge
  • Referrer URL
  • Sprache und Kodierung
  • Alle von der Website gesetzten Cookies

Sie können Browser-Entwicklungstools oder eine Erweiterung verwenden, um die vollständigen Header anzuzeigen. Replizieren Sie alle Standardversionen.

5. Behandeln Sie das Javascript-Rendering

Einige Websites verwenden Javascript-Herausforderungen und CAPTCHA-Seiten, für deren Lösung JS-Rendering erforderlich ist. Wenn Ihr Scraper JS nicht ausführt, können Sie nicht fortfahren.

Tools wie Puppeteer oder Selenium können Seiten in einer vollständigen Browserumgebung rendern. Für JS-lastige Websites müssen Sie ein Rendering-Tool anstelle einer einfachen HTTP-Bibliothek verwenden.

6. Maskieren Sie Ihren Scraper als normalen Browser

Für den heimlichsten Ansatz, der sehr schwer zu erkennen ist, sollten Sie die Verwendung eines automatisierten Browserprofils in Betracht ziehen, das sich als menschlicher Benutzer tarnt.

Undetected-chromedriver ist ein beliebtes Python-Paket, das Chrome automatisch so konfiguriert, dass die Bot-Erkennung nicht ausgelöst wird. Es kümmert sich um Header, Cookies, WebGL-Fingerprinting und viele andere erweiterte Prüfungen.

Die Kombination von Undetected-Chromedriver mit privaten Proxys ist eine großartige Möglichkeit, Ihre Scraper-Anfragen für die Systeme von Cloudflare wie normalen Benutzerverkehr erscheinen zu lassen. Es erfordert mehr Ressourcen als einfache Anfragen, ist jedoch sehr effektiv zur Vermeidung von 1020-Fehlern.

Verwenden Sie ScrapingBee, um Blockaden für Sie zu vermeiden

Wenn Sie sich schließlich nicht selbst um den Bot-Schutz von Cloudflare kümmern möchten, können Sie dies einer dedizierten Web-Scraping-API überlassen.

ScrapingBee ist ein leistungsstarkes Tool, das sich hinter den Kulissen um IP-Rotation, Header, Browser-Rendering und CAPTCHAs kümmert, sodass Sie sich ganz auf das Parsen von Daten konzentrieren können. Es verwaltet einen großen Pool an Proxys und Browserprofilen, um Ihre Anfragen unentdeckt zu halten.

Mit der ScrapingBee-API geben Sie einfach die URL an, die Sie scrapen möchten, und erhalten die HTML-Antwort zurück. Es fungiert als intelligenter Proxy, der den Seiteninhalt für Sie abruft und dabei alle Anti-Bot-Maßnahmen übernimmt.

Hier ist ein kurzes Beispiel für die Verwendung des ScrapingBee Python SDK:

from scrapingbee import ScrapingBeeClient

client = ScrapingBeeClient(api_key=‘YOUR_API_KEY‘)

response = client.get(
    ‘https://example.com‘, 
    params = { 
        ‘render_js‘: ‘false‘
    }
)

print(‘Response HTTP Status Code: ‘, response.status_code)
print(‘Response HTTP Response Body: ‘, response.content)

Wie Sie sehen, können Sie mit nur wenigen Codezeilen den Seiten-HTML abrufen, ohne sich Gedanken über Cloudflare-Blockaden machen zu müssen. Die API kümmert sich darum, fehlgeschlagene Anfragen erneut zu versuchen und den Inhalt so zurückzugeben, als ob ein echter Browserbenutzer darauf zugegriffen hätte.

Die Verwendung einer speziellen Scraping-API erspart Ihnen viel Zeit und Kopfschmerzen im Vergleich zu dem Versuch, Ihre Scraper selbst unauffindbar zu machen. Probieren Sie es aus, wenn Sie 1020-Fehler auf einfachste Weise vermeiden möchten.

Einpacken

Der Cloudflare-Fehler 1020 kann die Web-Scraping-Bemühungen definitiv stören, aber mit einigen Anpassungen Ihres Ansatzes ist es in den meisten Fällen möglich, ihn zu vermeiden. Denken Sie an diese wichtigen Tipps:

  • Verlangsamen Sie Ihre Anfragerate, um menschliches Verhalten nachzuahmen
  • Rotieren Sie IP-Adressen und Header, um den Datenverkehr zu diversifizieren
  • Verwenden Sie menschenähnliche Browser-Header, Cookies und Benutzeragenten
  • Behandeln Sie das Javascript-Rendering für JS-basierte Herausforderungen
  • Erwägen Sie eine Scraping-API wie ScrapingBee, um Blöcke zu abstrahieren

Mit den richtigen Techniken und Tools können Sie Daten selbst von den Bot-empfindlichsten Websites sammeln, ohne die Abwehrmaßnahmen von Cloudflare auszulösen. Der Schlüssel liegt darin, dass sich Ihr Scraper möglichst wie ein echter Benutzer verhält.

Ich hoffe, dieser Leitfaden hat Ihnen geholfen, den Cloudflare-Fehler 1020 zu verstehen und zu beheben! Lassen Sie mich wissen, wenn Sie weitere Fragen haben.

Mitreden

E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind MIT * gekennzeichnet. *