Erklärt
robots.txt ist eine Konvention aus dem Jahr 1994: eine Nur-Text-Datei im Stammverzeichnis einer Domain, die auflistet, welchen User-Agents (Crawlern) der Zugriff auf welche URL-Pfade erlaubt oder verboten ist. Suchmaschinen (Google, Bing) und regelkonforme Crawler respektieren sie. Die Datei ist öffentlich lesbar -- Sie können die robots.txt einer beliebigen Website direkt abrufen (`curl https://example.com/robots.txt`) und nachlesen, was der Website-Betreiber von Crawlern erwartet.
Das Robots Exclusion Protocol ist rein empfehlend. Der Webserver setzt robots.txt-Direktiven nicht technisch durch -- er veröffentlicht sie lediglich. Ein nicht regelkonformer Crawler kann robots.txt ignorieren, und die Website liefert die angeforderten URLs trotzdem aus. Die Durchsetzung erfolgt durch die Richtlinien der Suchmaschinen (Googlebot indiziert keine Seiten, die in robots.txt als nicht erlaubt gekennzeichnet sind) sowie durch rechtliche und reputationsbezogene Konsequenzen, wenn kommerzielle Scraper die ausdrückliche Absicht des Betreibers missachten.
Für kommerzielles Scraping ist robots.txt auf zwei Arten relevant. Rechtlich kann das Ignorieren einer ausdrücklichen `Disallow`-Direktive als Beleg für einen bösgläubigen Zugriff in CFAA- bzw. Computer-Missbrauchsfällen angeführt werden (insbesondere in den USA nach dem Urteil im Fall hiQ v LinkedIn). Operativ verfügen Websites, die bestimmte Pfade sperren, auf diesen Pfaden häufig über stärkeren Anti-Bot-Schutz -- `Disallow: /search` bedeutet in der Regel, dass das Scraping von `/search` stärkere Abwehrmechanismen auslöst als das Scraping des restlichen Teils der Website.
So funktioniert es
Wenn ein Crawler eine Domain aufruft, ruft er zuerst `/robots.txt` ab und analysiert die Direktiven. Die Datei verwendet eine einfache Grammatik: `User-agent:
Der Crawler prüft dann jede URL, die er abrufen möchte, anhand der Regeln und überspringt gesperrte Pfade. Einige Crawler cachen robots.txt für 24 Stunden; ausgereifte Produktions-Crawler aktualisieren häufiger, um Änderungen zu erfassen.