In der Welt des Internets und der Computerwissenschaften gibt es eine Vielzahl von Begriffen und Konzepten, die für das Verständnis und die Durchführung von Webscraping-Projekten relevant sind.

A wie Asynchrones Scraping

  • AJAX (Asynchronous JavaScript and XML): Eine Gruppe von Webentwicklungstechniken, die für die Erstellung asynchroner Webanwendungen verwendet wird, was bedeutet, dass Webseiten dynamisch ohne Neuladen aktualisiert werden können.
  • API (Application Programming Interface): Eine Sammlung von Definitionen und Protokollen, die es ermöglichen, dass Softwareanwendungen miteinander kommunizieren können. Wird oft verwendet, um Daten legal und effizient zu extrahieren.
  • API Throttling: Eine Methode zur Einschränkung der Anzahl der API-Anfragen innerhalb eines bestimmten Zeitraums, um Überlastungen zu vermeiden.
  • Asynchrones Scraping: Eine Technik, bei der mehrere Anfragen gleichzeitig abgesetzt werden, um die Effizienz zu erhöhen, oft mit Python’s asyncio.

B wie BeautifulSoup

  • BeautifulSoup: Eine Python-Bibliothek, die XML- und HTML-Dokumente analysiert und es ermöglicht, Daten aus diesen Dokumenten zu extrahieren.
  • Bot Detection: Techniken, die von Websites verwendet werden, um zwischen menschlichen Benutzern und Automatisierungen (Bots) zu unterscheiden.

C wie CSS

  • Callback: Eine Funktion, die an eine andere Funktion übergeben wird, um später ausgeführt zu werden, häufig in asynchronen Webscraping-Aufgaben verwendet.
  • Content Delivery Network (CDN): Ein verteiltes Netzwerk von Servern, das Webinhalte anhand der geografischen Nähe des Benutzers liefert, was für Scraping-Standorte relevant sein kann.
  • CORS (Cross-Origin Resource Sharing): Ein Mechanismus, der Webanwendungen ermöglicht, Ressourcen von einem anderen Ursprung anzufordern, was beim Scraping von Cross-Domain-Daten relevant sein kann.
  • CSS Selector: Eine Methode, um Elemente in einem HTML-Dokument auszuwählen, basierend auf deren CSS-Eigenschaften.

D wie DOM

  • Data Pipeline: Ein Prozess oder System zum Sammeln, Transformieren und Laden von Daten von einer Quelle zu einem Ziel, oft im Webscraping-Kontext.
  • Dieses Glossar deckt einige der grundlegenden Begriffe ab, die beim Webscraping verwendet werden. Es gibt natürlich viele mehr spezialisierte Begriffe und Werkzeuge, aber dies sollte einen guten Überblick bieten.
  • DOM (Document Object Model): Eine Programmierschnittstelle für HTML- und XML-Dokumente, die eine strukturierte Darstellung der Dokumente ermöglicht, um sie zu manipulieren und zu durchsuchen.
  • DOM Manipulation: Der Vorgang, das Document Object Model einer Webseite zu ändern oder zu untersuchen, um Daten zu extrahieren oder Interaktionen zu simulieren.
  • Dynamic Content: Inhalte auf einer Webseite, die erst nach dem Laden der Seite durch JavaScript generiert oder verändert werden, erfordern oft spezielle Scraping-Techniken.

E wie Element

  • Elastic IP: Eine statische IP-Adresse, die in der Cloud-Computing-Umgebung verwendet wird und bei Bedarf an Instanzen zugewiesen werden kann, nützlich für langfristige Scraping-Projekte.
  • Element: Ein einzelner Teil eines HTML- oder XML-Dokuments, wie z.B. ein
    oder

    -Tag, aus dem Daten extrahiert werden können.

  • Encoding: Bezieht sich auf die Methode, mit der Daten in einem Webscraping-Kontext dargestellt und interpretiert werden, z.B. UTF-8.

F wie Fingerprinting

  • Fiddler: Ein Web-Debugger, der verwendet werden kann, um HTTP-Verkehr zu überwachen, was beim Debuggen von Webscraping-Skripten hilfreich sein kann.
  • Fingerprinting: Der Prozess der Erkennung und Identifizierung von Anfragen durch Analyse von Browser- und Benutzereigenschaften, um anti-scraping-Maßnahmen zu setzen.
  • Frame Handling: Umgang mit Frames oder IFrames auf Webseiten, die separate HTML-Dokumente enthalten, die gesondert gescraped werden müssen.

G wie GeckoDriver

  • GeckoDriver: Ein WebDriver für Firefox, verwendet in Verbindung mit Selenium, um das Verhalten von Webseiten in einem Firefox-Browser zu simulieren.
  • GET vs. POST: HTTP-Methoden; GET wird verwendet, um Daten von einer spezifischen Ressource abzurufen, während POST Daten an den Server sendet, was beim Interagieren mit Formularen wichtig ist.
  • Googlebot: Der Crawler von Google, der Webseiten durchsucht; das Verständnis seiner Verhalten kann helfen, wie Scraping-Algorithmen optimiert werden können.

H wie Headless

  • Headless Browser: Ein Webbrowser ohne grafische Benutzeroberfläche, der von Skripten gesteuert wird, um Webseiten wie ein normaler Browser zu rendern, aber ohne Sichtbarkeit.
  • Hier sind einige zusätzliche Begriffe, die in das Webscraping-Glossar aufgenommen werden können:
  • Honeypot: Eine Falle, die von Websites platziert wird, um automatische Scraping- oder Hacking-Versuche zu erkennen und zu blockieren.
  • HTML5: Die neueste Version von HTML, die viele neue Elemente und Attribute einführt, die beim Scraping berücksichtigt werden müssen.
  • HTTP (Hypertext Transfer Protocol): Das Protokoll, das für die Übertragung von Webseiten und Daten über das Internet verwendet wird.

I wie IP-Rotation

  • Implicit Wait: Eine Methode in Selenium, bei der der Browser für eine bestimmte Zeit auf Elemente wartet, bevor eine Ausnahme geworfen wird.
  • Infinite Scroll: Eine Technik, bei der Inhalte dynamisch geladen werden, wenn der Benutzer nach unten scrollt, was spezielle Scraping-Methoden erfordert, um alle Daten zu erfassen.
  • IP-Rotation: Technik zum Wechseln der IP-Adresse während des Scrapings, um IP-Bannungen zu vermeiden und den Eindruck zu erwecken, dass Anfragen von verschiedenen Nutzern kommen.

J wie JavaScript

  • JavaScript: Eine Programmiersprache, die oft in Webseiten eingebettet ist, um interaktive Elemente hinzuzufügen. Webscraping kann manchmal JavaScript ausführen müssen, um dynamische Inhalte zu extrahieren.
  • JQuery: Eine JavaScript-Bibliothek, die häufig verwendet wird, um die Interaktion mit HTML-Dokumenten zu vereinfachen, kann beim Scraping hilfreich sein, um Elemente zu selektieren.
  • JSON (JavaScript Object Notation): Ein leichtgewichtiger Datenformat, das oft für die Übertragung von Daten zwischen einem Server und einer Webanwendung verwendet wird, was beim Scraping sehr nützlich ist.
  • JSoup: Eine Java-Bibliothek zum Arbeiten mit real-world HTML, ähnlich wie BeautifulSoup in Python.

K wie Kibana

  • Kibana: Ein Tool, das oft mit Elasticsearch und Logstash eingesetzt wird, um visualisierte Logs und Datenanalyse zu ermöglichen, kann auch für das Verständnis der gesammelten Daten beim Scraping genutzt werden.
  • KML (Keyhole Markup Language): Ein XML-ähnliches Format zur Darstellung geografischer Daten, kann beim Scraping von Locationsdaten relevant sein.

L wie Lazy

  • Lazy Loading: Ein Designmuster, bei dem Inhalte erst geladen werden, wenn sie benötigt werden, was beim Scraping bedeutet, dass man möglicherweise das Scrollen oder das Laden weiterer Inhalte simulieren muss.
  • Link Extractor: Ein Tool oder Modul innerhalb von Webscraping-Frameworks, das speziell zum Finden und Extrahieren von Links auf Webseiten verwendet wird.
  • Load Balancing: Die gleichmäßige Verteilung von Netzwerkverkehr über mehrere Server, kann Scraping-Anfragen beeinflussen.
  • lxml: Eine Python-Bibliothek, die eine sehr schnelle und effiziente Möglichkeit bietet, HTML und XML zu parsen.

M wie Middleware

  • Memcached: Ein leistungsfähiges, verteiltes Speichercachesystem, das verwendet werden kann, um häufig benötigte Daten zu speichern und den Zugriff zu beschleunigen.
  • Microdata: Ein einfaches Syntax-Konzept für das Hinzufügen von Semantik zu Webseiten, das bei der Strukturierung von extrahierten Daten nützlich sein kann.
  • Middleware: Zwischenschicht, die in Webscraping-Frameworks wie Scrapy verwendet wird, um Anfragen und Antworten zu bearbeiten, z.B. für Proxy-Management oder Cookies.
  • Mobile Scraping: Das Scraping von Webseiten, die speziell für mobile Geräte optimiert sind, mit möglicherweise unterschiedlichem Layout und Inhalt.

N wie Non-blocking

  • NavigableString: Ein String-Objekt in BeautifulSoup, das den Text innerhalb eines HTML-Tags repräsentiert.
  • Node.js: Eine JavaScript-Laufzeitumgebung, die außerhalb des Browsers läuft und für server-seitiges Webscraping verwendet werden kann.
  • Non-blocking I/O: Ein Programmierungsmodell, bei dem ein Aufruf nicht auf das Beenden der Operation wartet, was bei großen Scraping-Aufträgen effizient sein kann.

O wie OAuth

  • OAuth: Ein offener Standard für die Autorisierung, der häufig verwendet wird, um auf APIs zuzugreifen, die eine Authentifizierung erfordern.
  • OCR (Optical Character Recognition): Technologie zur Erkennung von Text in Bildern oder Scans, nützlich, wenn Webseiten Text als Bilder darstellen.
  • Open Graph Protocol: Ein Protokoll, das Webseiten erlaubt, ihre Inhalte im sozialen Netzwerk zu repräsentieren, kann beim Scraping von sozialen Metadaten hilfreich sein.

P wie Parser

  • Page Object Model: Ein Designmuster bei der Automatisierung, das die Repräsentation von Webseiten als Objekte mit bestimmten Methoden und Eigenschaften erlaubt.
  • Parser: Ein Programm, das eine Struktur (wie HTML) in eine andere Form, die für die Verarbeitung geeignet ist, umwandelt.
  • PhantomJS: War ein skriptbares Headless Webkit, das für Webscraping genutzt wurde; jedoch ist es seit 2018 nicht mehr weiterentwickelt.
  • Proxy: Ein Server, der als Mittelsmann zwischen einem Client und dem Internet fungiert. Kann verwendet werden, um Anfragen zu maskieren oder den Standort des Scrapers zu verschleiern.
  • Puppeteer: Eine Node.js-Bibliothek, die eine High-Level API zum Steuern von Headless Chrome oder Chromium über das DevTools-Protokoll bietet, oft für Webscraping verwendet.

Q wie Queue

  • Queue: Eine Datenstruktur, die beim Scraping verwendet wird, um URLs zu speichern, die noch besucht werden müssen.

R wie Rate Limiting

  • Rate Limiting: Ein Konzept, bei dem die Rate der Anfragen an einen Server begrenzt wird, um Überlastung zu vermeiden oder gemäß den API-Bedingungen zu handeln.
  • Regex (Regular Expressions): Mächtige Suchmuster, die verwendet werden können, um spezifische Textmuster in Webseiten zu finden und zu extrahieren.
  • Request Headers: Metadaten, die mit jeder HTTP-Anfrage gesendet werden, können manipuliert werden, um wie ein legitimer Benutzer zu erscheinen.
  • Request: Ein Modul in Python, das es ermöglicht, HTTP-Anfragen zu senden. Wird oft im Zusammenhang mit Webscraping verwendet.
  • Robots.txt: Eine Datei, die von Webseitenbetreibern verwendet wird, um zu definieren, welche Teile ihrer Website von Bots (wie Webscrapern) durchsucht werden dürfen.

S wie Selenium

  • Scraper: Ein Skript oder Programm, das Daten von Websites extrahiert.
  • Scrapy: Ein leistungsfähiges, schnell und gut dokumentiertes Framework für Webscraping in Python, das eine hohe Parallelität und einfache Datenspeicherung bietet.
  • Selenium: Ein Tool, das hauptsächlich für das Testen von Web-Anwendungen verwendet wird, aber auch für Webscraping, da es eine Browser-Automatisierung bietet, um mit JavaScript-reichen Seiten umzugehen.
  • Spider: Ein spezifischer Begriff für ein Programm oder Modul, das durch Webseiten navigiert und Daten sammelt, oft in Verbindung mit Frameworks wie Scrapy verwendet.
  • Splash: Eine JavaScript-Rendering-Service, der oft mit Scrapy verwendet wird, um dynamische Webseiten zu rendern.

T wie Throttling

  • Text Mining: Der Prozess der Extraktion von nützlichem Wissen aus Text, oft nach dem Scraping von Textinhalten.
  • Throttling: Ein Mechanismus, um die Geschwindigkeit der Anfragen zu kontrollieren, um Server nicht zu überlasten oder Bannungen zu vermeiden.
  • Timeouts: Einstellungen, die festlegen, wie lange ein Webscraper auf eine Antwort wartet, bevor er die Anfrage abbricht, um stabiles Scraping zu gewährleisten.
  • Tor: Ein Netzwerk und Software, die Anonymität im Internet bieten, kann im Webscraping verwendet werden, um IP-Adressen zu maskieren.

U wie URL

  • URL Normalization: Der Prozess der Standardisierung von URLs, um redundante oder ähnliche Links zu konsolidieren.
  • URL-Parsing: Der Vorgang, eine URL zu analysieren, um ihre Bestandteile wie Schema, Host, Pfad etc. zu extrahieren, nützlich für das Verständnis von Webseitenstrukturen.
  • User-Agent: Eine Zeichenfolge, die in HTTP-Anfragen gesendet wird, um Informationen über den Browser und das Betriebssystem des Clients zu liefern. Kann geändert werden, um wie ein normaler Benutzer zu erscheinen.

V wie Viewport

  • Viewport: Der sichtbare Bereich eines Webseiten-Dokuments, der durch die Größe des Browserfensters bestimmt wird, wichtig bei der Extraktion von Daten, die nur durch Scrollen sichtbar werden.
  • Virtual Private Server (VPS): Eine virtuelle Maschine verkauft als Dienst durch einen Internet-Hosting-Anbieter, oft verwendet für Webscraping, um eine stabile Umgebung zu bieten.

W wie WebSocket

  • Web Crawler: Ein Programm, das systematisch Webseiten durchsucht, oft als Grundlage für Webscraping.
  • Web Scraping Framework: Ein Softwaregerüst, das die Entwicklung von Webscraping-Projekten vereinfacht, indem es vorgefertigte Komponenten und Werkzeuge liefert.
  • WebDriver: Ein Tool innerhalb von Selenium, das es ermöglicht, einen Browser zu steuern, um Webanwendungen zu testen oder zu scrapen.
  • WebSockets: Ein Protokoll für bidirektionale Kommunikation zwischen Browser und Server, kann zum Scraping von real-time Daten verwendet werden.

X wie XPath

  • XML Parsing: Der Vorgang des Analysierens von XML-Dokumenten, um Daten zu extrahieren, was im Webscraping besonders relevant ist, wenn Daten in XML-Format vorliegen.
  • XPath: Ein Auswahlmechanismus für XML-Dokumente, der auch für HTML-Dokumente verwendet werden kann, um Elemente zu lokalisieren.
  • XSL (Extensible Stylesheet Language): Ein Stylesheet-Sprachfamilie, die zur Transformation von XML-Dokumenten verwendet werden kann, was im Scraping relevant sein kann.

Y wie Yield

  • Yield: In Python eine Schlüsselwörter, das in Generator-Funktionen verwendet wird, um ein Ergebnis zurückzugeben und die Ausführung zu pausieren, bis der nächste Wert angefordert wird, nützlich in Webscraping für effizientes Arbeiten mit großen Datenmengen.

Z wie

  • Zope: Ein Python-Web-Framework, das manchmal im Zusammenhang mit Webscraping erwähnt wird, da es Tools und Bibliotheken bietet, die auch in Scraping-Projekten nützlich sein können.
  • Zyte (ehemals Scrapinghub) ist ein führendes Unternehmen im Bereich der Web-Datenextraktion und bietet eine Vielzahl von Tools und Diensten, die Webscraping vereinfachen und skalieren. Hier sind einige der Hauptaspekte von Zyte: