Zurück zum Blog
Anleitungen
Ștefan RăcilăLast updated on Mar 31, 20269 min read

Die 11 besten Tipps, um beim Web-Scraping nicht blockiert oder mit einer IP-Sperre belegt zu werden

Die 11 besten Tipps, um beim Web-Scraping nicht blockiert oder mit einer IP-Sperre belegt zu werden

Web-Scraping ist ein leistungsstarkes Werkzeug, um wertvolle Daten von Websites zu extrahieren. Es ermöglicht Ihnen, den Prozess der Datenerfassung zu automatisieren, was sowohl für Unternehmen als auch für Privatpersonen eine enorme Zeitersparnis bedeutet. Doch mit großer Macht geht auch große Verantwortung einher. Wenn Sie nicht vorsichtig sind, kann es passieren, dass Ihre IP-Adresse von der Website, die Sie scrapen, gesperrt oder blockiert wird.

In diesem Artikel teile ich 11 detaillierte Tipps, wie Sie das Web scrapen können, ohne blockiert oder auf die schwarze Liste gesetzt zu werden. Wenn Sie diese Tipps befolgen, lernen Sie, wie Sie Ihre Identität beim Scraping schützen, wie Sie die Nutzungsbedingungen von Websites einhalten und wie Sie Ihre Anfragen zeitlich so abstimmen, dass die Zielwebsite nicht mit zu vielen Anfragen überlastet wird.

Warum wirst du blockiert?

Web-Scraping ist nicht immer erlaubt, da es als Verstoß gegen die Nutzungsbedingungen einer Website angesehen werden kann. Websites haben oft spezifische Regeln für die Verwendung von Web-Scraping-Tools. Sie können das Scraping gänzlich verbieten oder Einschränkungen darüber festlegen, wie und welche Daten gescrapt werden dürfen. Zudem kann das Scraping einer Website die Server der Website stark belasten, was die Website für legitime Nutzer verlangsamen kann.

Es können Probleme auftreten, wenn Sie sensible Informationen wie personenbezogene Daten oder Finanzdaten scrapen. Dies kann zu schwerwiegenden rechtlichen Problemen sowie zu potenziellen Verstößen gegen Datenschutzgesetze führen.

Darüber hinaus verfügen einige Websites über Anti-Scraping-Maßnahmen, um Scraper zu erkennen und zu blockieren. Die Nutzung von Scraping kann als Versuch angesehen werden, diese Maßnahmen zu umgehen, was ebenfalls verboten wäre.

Generell ist es wichtig, stets die Nutzungsbedingungen einer Website zu beachten und sicherzustellen, dass Sie ethisch und rechtlich einwandfrei scrapen. Wenn Sie sich nicht sicher sind, ob Scraping erlaubt ist, sollten Sie sich immer an den Administrator oder die Rechtsabteilung der Website wenden.

1. Beachten Sie die Nutzungsbedingungen der Website

Bevor Sie eine Website scrapen, ist es wichtig, die Nutzungsbedingungen der Website zu lesen und zu verstehen. Diese finden Sie in der Regel in der Fußzeile der Website oder auf einer separaten Seite mit dem Titel „Nutzungsbedingungen“ oder „Robot Exclusion“. Es ist wichtig, alle in den Nutzungsbedingungen dargelegten Regeln und Vorschriften zu befolgen.

2. Achten Sie auf die „robots.txt“-Datei

Das Robots Exclusion Protocol (REP) ist ein Standard, den Websites verwenden, um mit Webcrawlern und anderen automatisierten Agenten, wie z. B. Scrapern, zu kommunizieren. Das REP wird mithilfe einer Datei namens „robots.txt“ implementiert, die auf dem Server der Website abgelegt wird. Diese Datei enthält Anweisungen für Webcrawler und andere automatisierte Agenten, welche Seiten oder Bereiche der Website nicht aufgerufen oder indexiert werden dürfen.

Die robots.txt-Datei ist eine einfache Textdatei, die eine bestimmte Syntax verwendet, um anzugeben, welche Teile der Website vom Crawling ausgeschlossen werden sollen. Beispielsweise kann die Datei Anweisungen enthalten, alle Seiten unter einem bestimmten Verzeichnis oder alle Seiten mit einem bestimmten Dateityp auszuschließen. Ein Webcrawler oder Scraper, der das REP beachtet, liest die robots.txt-Datei beim Besuch einer Website und greift nicht auf Seiten oder Bereiche zu, die in der Datei ausgeschlossen sind, und indexiert diese auch nicht.

Als Beispiel finden Sie die robots.txt-Datei für unsere Website hier.

3. Verwenden Sie Proxys

Es gibt mehrere Gründe, warum Sie beim Web-Scraping einen Proxy verwenden sollten. Ein Proxy ermöglicht es Ihnen, Ihre Anfragen über eine andere IP-Adresse zu leiten. Dies kann dazu beitragen, Ihre Identität zu verbergen und es Websites erschweren, Ihre Scraping-Aktivitäten nachzuverfolgen. Durch die Rotation Ihrer IP-Adresse wird es für eine Website noch schwieriger, Ihren Scraper zu erkennen und zu blockieren. Es sieht so aus, als kämen die Anfragen von verschiedenen Standorten.

Geografische Beschränkungen umgehen

Einige Websites haben möglicherweise geografische Beschränkungen und gewähren nur bestimmten Nutzern basierend auf ihrer IP-Adresse Zugriff. Durch die Verwendung eines Proxy-Servers, der sich am Zielort befindet, können Sie diese Beschränkungen umgehen und Zugriff auf die Daten erhalten.

IP-Sperren vermeiden

Websites können Anfragen erkennen und blockieren, die zu schnell eingehen. Daher ist es wichtig, Ihre Anfragen zeitlich zu staffeln und zu vermeiden, zu viele auf einmal zu senden. Die Verwendung eines Proxys kann Ihnen helfen, IP-Sperren zu vermeiden, indem Anfragen über verschiedene IP-Adressen gesendet werden. Selbst wenn eine IP-Adresse gesperrt wird, können Sie das Scraping fortsetzen, indem Sie zu einer anderen wechseln.

4. Wechseln Sie Ihre IP-Adresse

IP-Rotation ist eine Technik, die beim Web-Scraping eingesetzt wird, um Ihre Identität zu verbergen und es Websites zu erschweren, Ihren Scraper zu erkennen und zu blockieren. Bei der IP-Rotation wird für jede Anfrage an eine Website eine andere IP-Adresse verwendet. Durch die Rotation der IP-Adressen können Sie Ihre Scraping-Aktivitäten so gestalten, dass sie eher wie normaler menschlicher Datenverkehr aussehen.

Es gibt zwei Hauptmethoden, um beim Scraping eine IP-Rotation zu erreichen:

Verwendung eines Pools von Proxy-IPs

Bei dieser Methode wird ein Pool von IP-Adressen verschiedener Proxy-Server genutzt. Bevor eine Anfrage an eine Website gestellt wird, wählt der Scraper zufällig eine IP-Adresse aus dem Pool aus, die für diese Anfrage verwendet wird.

Verwendung eines Proxy-Rotationsdienstes

Bei dieser Methode wird ein Dienst genutzt, der die IP-Adresse für jede Anfrage an eine Website automatisch wechselt. Der Dienst unterhält einen Pool von IP-Adressen und weist jeder Anfrage automatisch eine andere IP-Adresse zu. Dies kann eine bequemere Art der IP-Rotation sein, da Sie den IP-Pool nicht selbst verwalten müssen und den Dienst dies für Sie erledigen lassen können.

Die IP-Rotation kann auch dazu beitragen, das Scraping zu beschleunigen, da Anfragen gleichzeitig über mehrere IP-Adressen gesendet werden können.

5. Verwenden Sie einen Headless-Browser

Um Einschränkungen beim Web-Scraping zu vermeiden, sollten Ihre Interaktionen mit der Zielwebsite so aussehen, als würden normale Nutzer die URLs besuchen. Die Verwendung eines Headless-Webbrowsers ist eine der besten Möglichkeiten, dies zu erreichen.

Ein Headless-Browser ist ein Browser ohne grafische Benutzeroberfläche, der programmgesteuert oder über die Befehlszeile gesteuert werden kann. Dies ermöglicht es Ihnen, mit einer Website so zu interagieren, als würden Sie sie manuell durchsuchen, und kann die Chancen erhöhen, dass Ihr Scraper unentdeckt bleibt.

Sie können Puppeteer oder andere Browser-Automatisierungssuiten verwenden, um Headless-Browser in Ihren Crawler oder Scraper zu integrieren.

Lesen Sie unsere ausführlichen Anleitungen zu den Themen „Wie man Puppeteer mit NodeJS verwendet“ und „Wie man Selenium mit Python verwendet“, um mehr über die Verwendung von Headless-Browsern zu erfahren.

6. Verwenden Sie echte User-Agents

Die meisten gängigen Online-Browser, wie Google Chrome und Firefox, verfügen über einen Headless-Modus. Selbst wenn Sie einen offiziellen Browser im Headless-Modus verwenden, müssen Sie dessen Verhalten natürlich erscheinen lassen. Dazu werden üblicherweise verschiedene spezielle Request-Header wie User-Agent verwendet.

Der User-Agent ist eine Zeichenfolge, die die Software, die Version und das Gerät identifiziert, von dem die Anfrage stammt. Diese Informationen können von der Website genutzt werden, um zu bestimmen, wie auf die Anfrage reagiert werden soll, und sie können auch dazu dienen, die Herkunft der Anfrage nachzuverfolgen. Durch die Verwendung eines User-Agents, der einen gängigen Browser genau nachahmt, können Sie die Chancen erhöhen, dass Ihr Scraper unentdeckt bleibt.

7. Nutzen Sie einen Dienst zur CAPTCHA-Lösung

CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) ist eine Technik, die von Websites eingesetzt wird, um automatisiertes Scraping zu verhindern. Dieser Test kann zwischen Menschen und Bots unterscheiden, indem er Aufgaben anzeigt, die von einem Menschen gelöst werden müssen. Zum Beispiel das Identifizieren einer Zeichenfolge in einem Bild. Seien Sie darauf vorbereitet, diese zu bewältigen, wenn sie auftreten, indem Sie einen Drittanbieter-Dienst wie Anti Captcha oder 2Captcha nutzen.

Sie sollten sich überlegen, ob es auf Dauer noch rentabel ist, Websites zu scrapen, die eine kontinuierliche CAPTCHA-Lösung erfordern. Einige dieser CAPTCHA-Lösungsanbieter sind recht langsam und teuer. WebScrapingAPI verfügt über fortschrittliche Anti-Bot-Mechanismen, die die Anzahl der auftretenden CAPTCHAs reduzieren. Wir nutzen zudem automatisierte CAPTCHA-Lösung als Fallback.

8. Verlangsamen

Scrapen Sie nicht zu schnell – das Senden zu vieler Anfragen in kurzer Zeit kann dazu führen, dass eine Website erkennt, dass Sie sie scrapen. Dies könnte Ihre Anfragen blockieren. Es ist wichtig, Ihre Anfragen zeitlich zu staffeln und zu vermeiden, zu viele auf einmal zu senden.

Fügen Sie zufällige Verzögerungen zwischen Ihren Anfragen und Aktionen ein. Dadurch wird das Verhalten Ihres Crawlers oder Scrapers für die Zielwebsite unvorhersehbarer, was die Wahrscheinlichkeit einer Erkennung verringert.

Vermeiden Sie es, große Datenmengen in kurzer Zeit zu scrapen. Das Scrapen großer Datenmengen in kurzer Zeit löst die Spamfilter der Website aus, und Sie werden blockiert. Daher ist es wichtig, Ihr Scraping zu staffeln und das Scrapen großer Datenmengen in kurzer Zeit zu vermeiden.

9. Achten Sie auf Honeypot-Fallen

Auf einigen Websites sind Honeypot-Fallen eingerichtet. Diese Mechanismen sollen Bots in Fallen locken, ohne dass dies von echten Nutzern bemerkt wird.

Links, die im HTML-Code einer Website enthalten sind, für Menschen jedoch unsichtbar sind, gehören zu den grundlegendsten Honeypot-Fallen. Um festzustellen, ob ein Link für echte Nutzer sichtbar ist oder nicht, sollten Sie dessen berechneten Stil überprüfen.

Hier ist ein Code-Beispiel mit zwei Funktionen, die eine Liste aller sichtbaren Links auf der Webseite zurückgeben. Die Funktion prüft für jeden Link, ob die Hintergrundfarbe mit der Textfarbe übereinstimmt. Sie verfügt außerdem über einen Parameter namens „strict“. Dieser weist die Funktion an, zu prüfen, ob der Link angezeigt wird oder ob er sichtbar ist, da nicht alle nicht angezeigten Links Honeypot-Fallen sind.

function getComputedBackgroundColor(elem) {
    let isTransparent
    do {
        const bgColor = window.getComputedStyle(elem).backgroundColor
        isTransparent = !/rgb\(|[1-9]{1,3}\)'$/.test(bgColor) // you can test this regex on regex101.com

        if (isTransparent) {
            elem = elem.parentElement
        }
    } while (isTransparent)

    return window.getComputedStyle(elem).backgroundColor
}

function filterLinks(strict) { 
	let allLinksArray = Array.from(document.querySelectorAll('a[href]')); 
	console.log('There are ' + allLinksArray.length + ' total links'); 
    
	let filteredLinks = allLinksArray.filter(link => { 
		let linkCss = window.getComputedStyle(link); 
		let isDisplayed = linkCss.getPropertyValue('display') != 'none'; 
		let isVisible = linkCss.getPropertyValue('visibility') != 'hidden';
        let computedBgColor = window.getComputedBackgroundColor(link)
        let textColor = linkCss.textColor

        if (strict) {
            if (isDisplayed && isVisible && computedBgColor !== textColor) return link; 
        } else {
            if (computedBgColor !== textColor) return link; 
        }
	}); 
    
	console.log('There are ' + filteredLinks.length + ' visible links'); 
}

In der Regel werden Honeypot-Fallen in Kombination mit Tracking-Systemen eingesetzt, die automatisierte Anfragen identifizieren können. Auf diese Weise kann die Website solche Anfragen auch dann als ähnlich erkennen, wenn zukünftige Anfragen nicht von derselben IP-Adresse stammen.

10. Google Cache nutzen

Google Cache ist eine Funktion der Google-Suche, mit der Nutzer eine zwischengespeicherte Version einer Webseite anzeigen können. Selbst wenn die ursprüngliche Website nicht erreichbar ist oder die Webseite entfernt wurde. Diese Funktion kann beim Web-Scraping nützlich sein, da sie Ihnen den Zugriff auf eine Webseite ermöglicht, selbst wenn die ursprüngliche Website Ihre IP-Adresse oder Ihren Scraper blockiert.

Um auf die zwischengespeicherte Version einer Webseite zuzugreifen, müssen Sie der URL der Zielwebseite das Präfix „https://webcache.googleusercontent.com/search?q=cache:“ voranstellen. Um beispielsweise die Preisseite von WebScrapingAPI zu scrapen, könnten Sie „https://webcache.googleusercontent.com/search?q=cache:https://www.webscrapingapi.com/pricing“ scrapen.

Die Verwendung des Google-Caches kann beim Scraping eine gute Alternative sein, aber bedenken Sie, dass diese Methode Einschränkungen haben kann. Es könnten alte Versionen der Website-Daten vorliegen. Die Häufigkeit, mit der Google eine Website crawlt, hängt von deren Beliebtheit ab, sodass die Daten auf weniger beliebten Websites möglicherweise stark veraltet sind.

Weitere Einschränkungen könnten sein, dass Sie Query-Parameter oder Anker für die Zielwebseite nicht wirklich nutzen können. Außerdem weisen manche Websites Google möglicherweise aktiv an, ihre Seiten nicht zu cachen.

11. Beauftragen Sie einen Profi

Die Beauftragung eines professionellen Scraping-Dienstes kann Ihnen helfen, häufige Scraping-Fallstricke zu vermeiden und Ihnen saubere, zuverlässige Daten liefern. WebScrapingAPI ist einer der besten Scraping-Anbieter, der über die notwendige Infrastruktur, Bandbreite und ein IP-Rotationssystem verfügt, um groß angelegte Scraping-Aufträge zu bewältigen.

Bitte beachten Sie, dass diese Tipps allgemeine Richtlinien sind und keine Garantie dafür bieten, dass Sie nicht blockiert werden. Jede Website ist anders und hat unterschiedliche Anti-Scraping-Richtlinien. Wenn Sie diese Tipps befolgen, erhöhen Sie jedoch die Chancen, dass Ihr Scraper reibungslos und unentdeckt läuft.

Zusammenfassung

Zusammenfassend lässt sich sagen, dass es wichtig ist, Web-Scraping verantwortungsbewusst durchzuführen, um eine Sperrung oder Aufnahme in eine Blacklist zu vermeiden. Indem Sie die 11 in diesem Artikel beschriebenen Tipps befolgen, schützen Sie Ihre Identität. Sie halten sich an die Nutzungsbedingungen der Website und vermeiden es, die Website mit zu vielen Anfragen zu überlasten. Denken Sie daran, stets ethisch und legal zu scrapen. Dies kann der Weg sein, um sicherzustellen, dass Sie nicht von Websites gesperrt werden.

Darüber hinaus lohnt es sich, die Nutzung eines professionellen Scraping-Dienstes in Betracht zu ziehen. Dieser kann Ihnen saubere, zuverlässige Daten liefern und Ihnen helfen, häufige Fallstricke beim Scraping zu vermeiden. Ein professioneller Scraping-Dienstleister verfügt über fortschrittlichere Tools und Techniken für das Web-Scraping. Solche Tools können beim Umgang mit CAPTCHA, bei der Fehlerbehandlung und beim Umgehen von Anti-Scraping-Maßnahmen helfen. Sie können Ihnen Zeit und Geld sparen und Ihnen helfen, auf der sicheren Seite des Gesetzes zu bleiben.

Vor diesem Hintergrund bietet WebScrapingAPI eine 7-tägige Testphase an, für die keine Kreditkarte erforderlich ist – vielleicht möchten Sie es einmal ausprobieren.

Über den Autor
Ștefan Răcilă, Full-Stack-Entwickler @ WebScrapingAPI
Ștefan RăcilăFull-Stack-Entwickler

Stefan Racila ist DevOps- und Full-Stack-Entwickler bei WebScrapingAPI, wo er Produktfunktionen entwickelt und die Infrastruktur wartet, die für die Zuverlässigkeit der Plattform sorgt.

Los geht’s

Sind Sie bereit, Ihre Datenerfassung zu erweitern?

Schließen Sie sich den über 2.000 Unternehmen an, die WebScrapingAPI nutzen, um Webdaten im Unternehmensmaßstab ohne zusätzlichen Infrastrukturaufwand zu extrahieren.