2 Punkte von GN⁺ 2024-07-31 | 1 Kommentare | Auf WhatsApp teilen
  • Die Betreiberseite von OpenStreetMap spottet darüber, dass AI-Unternehmen statt heimlichem Scraping, das Last verursacht, lieber 10.000 Dollar spenden sollen, und macht damit Kosten für Datenzugriff und Infrastrukturbelastung sichtbar
  • Bei einer Spende von 50.000 Dollar könnte sogar ein direkt von OpenStreetMap.org bereitgestellter Live-Streaming-Updatefeed im Minutentakt angeboten werden
  • Scraping-Traffic ist keine seltene Ausnahme, sondern tritt in einem Ausmaß auf, bei dem auf teure API-Endpunkte mehrere hundert Anfragen pro Sekunde über mehrere IPs und mit gefälschten User-Agents eingehen
  • Da bereits der komplette Datensatz planet.osm, Änderungsdaten und kontinentweise Daten verfügbar sind, ist die Nutzung der offiziellen Datensätze sinnvoller als langsames Web-Scraping
  • Wegen verschleierter User-Agents und wechselnder IPs ist das Blockieren schwierig, aber das Sperren großer AI-Crawler und großzügige Rate Limits können den tatsächlichen Schaden verringern

Vorschlag, statt OpenStreetMap-Daten zu scrapen lieber zu spenden

  • Es wurde die Botschaft geäußert, dass AI-Unternehmen OpenStreetMap nicht heimlich scrapen, sondern lieber 10.000 Dollar spenden sollen
  • Ergänzt wurde, dass bei einer Spende von 50.000 Dollar direkt von OpenStreetMap.org Live-Streaming-Updates im Minutentakt bereitgestellt werden könnten
  • In den Kommentaren wurde wiederholt darauf hingewiesen, dass OpenStreetMap-Daten bereits auf besser geeignete Weise bereitgestellt werden
    • Es gibt den vollständigen Datensatz planet.osm
    • Es gibt Änderungs-Updates
    • Es gibt auch Daten nach Kontinenten
  • Auf die Website direkt zuzugreifen und sie zu scrapen wurde durchweg als langsamer und ineffizienter bewertet als die bereits angebotenen Gesamtdatensätze

Betriebsaufwand durch Scraping-Traffic

  • OpenStreetMap-Scraping gilt nicht als „noch nie gesehene Kombination“, sondern als sehr häufiges Ereignis
    • Auf teure API-Endpunkte gehen teils mehrere hundert Anfragen pro Sekunde ein
    • Es werden mehrere IPs verwendet
    • User-Agents werden gefälscht
  • Sperren auf Basis des User-Agent haben klare Grenzen
    • Es werden Standard-User-Agents von Bibliotheken wie python-requests/2.26.0 genutzt
    • Manche tarnen sich als Browser oder als googlebot
    • Die Einhaltung von robots.txt wird behandelt, als wäre sie optional
    • Wenn gesperrt wird, wechseln sie IP oder User-Agent
  • Trotzdem haben einige AI-Crawler eigene User-Agents, sodass sich große Verursacher identifizieren und blockieren lassen
    • Als Beispiel wird Bytespyder genannt
    • Es geht nicht darum, alle IPs für vergangenes Data-Mining zu sperren, sondern diejenigen zu stoppen, die tatsächlich Schaden verursachen
    • Mit sehr großzügigen Rate Limits könnte nur Traffic begrenzt werden, der problematische Ausmaße erreicht

1 Kommentare

 
GN⁺ 2024-07-31
Hacker-News-Kommentare
  • Die betroffenen Unternehmen sind von den AI-Crawler-Horden zunehmend genervt. Diese Crawler halten sich nicht an bewährte Scraping-Praktiken wie die Beachtung von robots.txt, die Nutzung öffentlicher APIs oder das Meiden von Stoßzeiten
    Es geht nicht nur um Urheberrecht, sondern auch darum, dass übermäßiger Scraping-Traffic die Infrastrukturkosten erhöht. Wie sieht der Endzustand aus? AI kann inzwischen sogar CAPTCHAs lösen, also scheint das Wettrüsten bei der Bot-Abwehr praktisch verloren

    • Das Ziel ist nicht, Scraping unmöglich zu machen, sondern es teuer zu machen. Menschen stellen Anfragen nicht so schnell wie Bots, also stoßen auch Bots, die sich als Menschen ausgeben, am Ende an Rate Limits
      Am Ende braucht man dann Konten, diese Konten werden verfolgt, und Konten mit bestimmten Mustern werden gelöscht. Das stoppt Scraping nicht, aber der Kern ist nicht, es zu stoppen, sondern es langsam und teuer zu machen. Ab einem gewissen Punkt ist es sinnvoller, Lizenzkosten zu zahlen, als so zu tun, als sei man ein Mensch, und dann verschwindet auch das Wettrüsten
      Ob die Abwehr gut genug werden kann, damit es sich gar nicht mehr lohnt zu kämpfen, ist eine viel schwierigere Frage als ob ein zufälliger Bot ein paar Anfragen als Mensch tarnen kann
    • Am Ende wird man wohl an einen Punkt kommen, an dem Dinge wie API-Zugriff allowlist-basiert sind. Um zu verifizieren, dass etwas kein Bot ist, muss man möglicherweise eine echte Beziehung zu einem echten Menschen in einem Unternehmen aufbauen
      Alles andere lässt sich fälschen, also könnte das sogar persönliche Treffen einschließen. Im Ergebnis kehrt man in die Geschäftswelt der 1960er zurück. Dank der Techniker, die allen den Teppich unter den Füßen weggezogen haben
    • Ich weiß nicht, ob die AI-Unternehmen das Endziel im Blick haben. Auf menschlicher Seite wirkt es, als bekämen wir ein für den dunklen Wald ausgelegtes Internet
      Man geht nicht mehr davon aus, dass die meisten gutartig sind und man nur den bösartigen Teil aufspüren und blockieren muss. Stattdessen gilt nur noch das als gutartig, was von einer ausdrücklich vertrauten Peer-Gruppe bestätigt wurde, und alles andere wird als bösartig angenommen. Wenn man wegen Vertrauen geschädigt wird, kappt man diese Vertrauensbeziehung und findet Wege, damit solche Vertrauenshygiene funktioniert
      Verglichen mit dem heutigen Internet ist der erste Gedanke: „Das wird sich niemals auf die ganze Erde skalieren lassen.“ Aber das muss es auch nicht. Die Probleme, die Computer lösen müssen, sind ohnehin alle lokal
    • Die Antwort sind authentifizierte API-basierte Interaktionen
      Früher hatten Websites intern im Grunde ihre eigene API, die Inhalte frei an jeden auslieferte, der anfragte. Jetzt sollten Websites zu einfachen Benutzeroberflächen für Menschen werden, die mit externen APIs kommunizieren, und die Berechtigung für API-Zugriff sollte in der Verantwortung des Nutzers liegen
      Informationen, die es wert sind, mitgenommen zu werden, müssen hinter Authentifizierung gesperrt werden. Dank OAuth über große Anbieter ist Authentifizierung absurd einfach geworden
      Wer zahlt, um Menschen oder kostenpflichtige Dienste zum Extrahieren von Inhalten einzusetzen, sollte stattdessen lieber eine gut verpackte und vernünftig bepreiste API nutzen
      Und schließlich sollte robots.txt gesetzlich durchsetzbar sein. Es gibt keinen Unterschied zwischen dem Diebstahl von Waren aus einem Laden und dem Diebstahl von Inhalten von einer Website
      AI und Gier haben die offene Freiheit des Internets getötet
    • Ich denke, es wird vertrauensbasierte, nur auf Einladung zugängliche Authentifizierungsinseln geben. Das wirkt wie das unvermeidliche Ergebnis der unkontrollierten Zentralisierung des Internets
  • Ich bin Vorsitzender der OpenStreetMap Foundation
    OpenStreetMap-Daten werden in großem Umfang kostenlos unter https://planet.openstreetmap.org bereitgestellt. Bitte nutzt das, statt die Website zu scrapen
    Scraping belastet die durch Spenden finanzierten Ressourcen stark. Wir blockieren Scraping-IP-Adressen, aber selbst das kostet Arbeit und Zeit
    Wenn ihr unsere Zeit und unsere Ressourcen respektiert, helft ihr dabei, den Dienst für alle kostenlos und zugänglich zu halten

    • Ich frage mich, wie genau Scraping-IP-Adressen blockiert werden. Manche Scraper wirken einfach verwirrt und kennen vielleicht keinen besseren Weg, an OSM-Daten zu kommen
      Wenn man mit einem 403-Fehlercode antwortet, wechseln sie nur die IP-Adresse
      Ein wirksamerer Ansatz könnte sein, eine Antwort mit Hinweisen zum Ort für Massendownloads oder mit einem Link zu einer Anleitung für die Verarbeitung von OSM-Dumps bereitzustellen
  • Eine OpenStreetMap-Instanz lässt sich buchstäblich in 10 Minuten selbst starten. Ein einfaches docker run-Kommando reicht
    Natürlich dauert die Indizierung etwas, aber gemessen an deren Ressourcen kann das nicht lange dauern. Das ist einfach nur absurde Gier

    • Ich habe Headway früher aus Neugier ganz kurz ausprobiert. Es ist eine der einfacheren Docker-basierten Optionen für den „kompletten Stack“
      Trotzdem lief es nicht sofort und es gab Probleme. Bei der großen Zahl beweglicher Teile ist das nicht überraschend. Der Workaround mag keine große Sache sein, aber ich bezweifle stark, dass man in 10 Minuten alles stabil zum Laufen bringt
    • Nein, es ist ziemlich schmerzhaft
    • Dafür brauche ich einen Link. Als ich es das letzte Mal versucht habe, war es deutlich komplizierter
  • Eine Zeit lang brauchte ich OSM-Daten, habe aber letztlich nie herausgefunden, was der richtige Weg ist.
    Um die benötigten Daten zu bekommen, musste man eine riesige 100-GB-Datei in einem unklaren Format herunterladen und mit ungewohnten Bibliotheken arbeiten. Die Informationen waren verstreut, und es gab zwar auch eine HTTP-API, aber die war begrenzt oder hatte Rate Limits, und es war nicht klar, ob man sie dafür überhaupt verwenden durfte.
    Ich weiß, dass das Unwissen meinerseits war, und ich bin dankbar, dass das Projekt existiert, aber gemessen an einer Zeit, in der Entwickler eine reibungslose API erwarten, ist die Nutzbarkeit nicht besonders gut.
    Am Ende habe ich ein kostenloses Projekt genutzt, das bereits in die benötigte Form umgewandelte OSM-Daten bereitstellt.

    • Das ist bis zu einem gewissen Grad Absicht. Um eine reibungslose API bereitzustellen, braucht man ein Finanzierungsmodell, um Betriebspersonal zu bezahlen, das diese API hostet und pflegt.
      Die OSM Foundation wird absichtlich klein gehalten und macht so etwas nicht. Stattdessen fördert sie ein dezentrales Ökosystem, in dem jeder die Daten nehmen und darauf aufbauend Dienste entwickeln kann. Es gibt kommerzielle und Hobby-Angebote, kostenpflichtige und kostenlose.
      Das funktioniert sehr gut, und ich persönlich halte es für besser als den maximalistischen Ansatz der Wikimedia Foundation mit ihren großen, budgetzentrierten Strukturen.
    • Falls du die vergleichsweise neueren Daten-Dumps im Protobuf-Format meinst: Das ist ein stark optimiertes Binärformat.
      OrganicMaps verwendet diese Dateien direkt, um ganze Länder lokal zu speichern und abzufragen. In diesem Format ist der Frankreich-Dump zum Zeitpunkt des Schreibens nur 4,3 GB groß.
      Außerdem muss man nicht die ganze Karte herunterladen, sondern kann über einen der vielen Mirror wie Geofabrik nur den interessierenden Teil beziehen.
      [0] https://download.geofabrik.de/
    • Ich frage mich, welche weniger exotischen Formate oder Bibliotheken man für Geodaten in planetarem Maßstab vorschlagen könnte.
      Ich habe früher auch einmal planet.osm heruntergeladen und vermutlich auf meinem Desktop mit osmosis geparst. Weder das Format noch das Tool habe ich sonst irgendwo verwendet, aber es gibt auch nicht viele Konkurrenten zu OSM, die große Mengen Geodaten zur freien Nutzung bereitstellen. Mich würde interessieren, was man in solchen Fällen als etablierten Standard ansehen kann.
    • Auf https://www.openstreetmap.org/ einfach oben links auf „Export“ klicken. Man kann einen kleinen rechteckigen Bereich auswählen und dazu auf „Manually select a different area“ klicken.
      Dann kann man direkt im Browser eine .osm-Datei herunterladen.
      Wenn man buchstäblich nur einen einzelnen Punkt braucht, gibt es unter den Kartensymbolen rechts „Query features“, den Pfeil mit dem Fragezeichen. Damit kann man einzelne Objekte anklicken und deren Daten abrufen.
    • Ein kostenloses Projekt zu verwenden, das OSM-Daten bereits in der benötigten Form bereitstellt, wirkt schon ziemlich nah am „richtigen Weg“.
      Die OSM-Kernentwickler können sich darauf konzentrieren, dass das bestehende OSM-Frontend Daten in einem optimierten Format bereitstellt. Wenn man eine Umwandlung in andere populäre Formate braucht, ist es gut, dass es im Ökosystem bereits Projekte gibt, die das kostenlos übernehmen.
  • Ich bin der Autor des Originalposts. Der Toot war eine sarkastische Reaktion, nachdem ich gegen einen weiteren Schwung bösartiger Scraper Rate Limits und Sperren für die Website und die Karten-API eingerichtet hatte. robots.txt wurde ignoriert.
    OpenStreetMap-Daten können kostenlos heruntergeladen werden. Wir veröffentlichen sie minütlich auf https://planet.openstreetmap.org/, und wir stellen die Daten auch über AWS S3 und Torrent bereit.
    Wenn man gerade erst anfängt, ist es besser, zunächst mit kleineren regionalen Extracts zu beginnen: https://wiki.openstreetmap.org/wiki/Planet.osm

  • Das einfache Spiegeln meines komprimierten Repositories wäre in Sekunden erledigt, aber AI-Scraper ziehen es vor, über das Webinterface jede einzelne Revision jeder .c-Datei einzeln anzufordern.
    Dabei holen sie sogar sämtlichen nutzlosen Zierrat mit ab, der für sie keinerlei Wert hat.
    Ich habe dieses Webinterface als cgi eingerichtet, also wird es länger als das Alter des Universums dauern, bis sie mit dem Scraping fertig sind. In der Zwischenzeit verschwenden sie aber meinen Strom und meine Ressourcen.

  • Wie kürzlich jemand anmerkte, wurde Aaron Swartz mit Gefängnis bedroht, weil er gescraped hat. Heute werden hingegen Hunderte Milliarden Dollar in AI Large Language Models investiert, die durch Scraping entstanden sind.

    • Weil große Unternehmen dich scrapen dürfen, du aber große Unternehmen nicht scrapen darfst.
    • Warum überhaupt bis zu AI Large Language Models gehen? Scrapen und indexieren ist doch alles, was Google Search macht.
    • Regeln für andere, Ausnahmen für mich. So war es schon immer.
    • Aaron hatte nicht die Heerscharen von Anwälten, die Großunternehmen haben.
      Er hat wissenschaftliche Arbeiten genommen und öffentlich gemacht, was eine klare Urheberrechtsverletzung war.
      Bei Large Language Models befindet man sich in einer Grauzone, ob sie abgeleitete Werke sind, statt einfach den Originaltext wortwörtlich zu kopieren.
      Auch Richter haben dazu unterschiedlich entschieden.
    • Hat er nicht Inhalte hinter einer Bezahlschranke gescraped?
  • Man könnte planet.osm einfach per Torrent verteilen. „Scraping“ wäre dann nur noch über Torrent erlaubt.
    Dann würden die Scraper sich die Netzlast untereinander teilen. Vermutlich laufen sie ohnehin alle auf denselben AWS-Instanzen, also wäre die Netzgeschwindigkeit sogar besser.

    • Unsere Daten werden bereits per Torrent veröffentlicht: https://planet.openstreetmap.org
      Daten inklusive minütlicher Updates werden außerdem über öffentliche S3-Buckets (EU und US) bereitgestellt, unterstützt durch das AWS Open Data Sponsorship Program.
  • In einem technischen Bewerbungsgespräch sollte ich einmal ein System entwerfen, das die englische Wikipedia täglich scraped. Ich sagte: „Ich würde damit anfangen, das gzip-komprimierte Archiv herunterzuladen.“
    Es stellte sich heraus, dass der Interviewer diese Möglichkeit nicht kannte und eine Erklärung für ein komplexes System erwartete, das Seite für Seite herunterlädt, einschließlich Multithreading, Standard-URLs, Prüfung bereits besuchter Seiten, Retries und so weiter.
    Trotzdem bekam ich für die Aufgabe ein A und wurde am Ende bei der Firma eingestellt.

  • Wie wäre es mit einem Honeypot für AI-Unternehmen? Man erzeugt einfach eine Endlosschleife aus dumm generierten Inhalten.
    Stell dir etwa Twitter-Posts vor, an deren Ende künstliche Tweets angehängt sind.

    • Dann wäre OpenStreetMap plötzlich gar nicht mehr so open. Wie OpenAI, haha.