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. | |
* 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 `<div>` oder `<p>`-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 | |
* Feed bezieht sich in der Webtechnologie auf eine Quelle von Inhalten, die regelmäßig aktualisiert werden und in einem standardisierten Format wie RSS, Atom oder JSON Feed präsentiert werden. | |
* 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. | |
* 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 Blocking: Eine Sicherheits- und Schutzmaßnahme, die von Websites und Servern verwendet wird, um den Zugriff von bestimmten IP-Adressen zu verhindern. Websites können IP-Adressen blockieren, die häufige Anfragen senden. Zugriff auf Inhalte beschränken, die nur für bestimmte geografische Regionen freigegeben sind. | |
* 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. | |
* Pagination: Eine Technik, Inhalte auf mehreren Seiten zu verteilen, anstatt alles auf einer einzigen Seite anzuzeigen. Um die Darstellung großer Datenmengen zu verwalten, indem die Ergebnisse in kleinere, überschaubare Teile aufgeteilt werden. Viele Websites verwenden ein konsistentes Muster in ihren URLs, um auf verschiedene Seiten zu verlinken (z.B. ?page=2). Manche Seiten laden Inhalte dynamisch, was bedeutet, dass ein Scraper möglicherweise JavaScript ausführen muss, um die nächsten Seiteninhalte zu laden. | |
* Parser: Ein Programm, das eine Struktur (wie HTML) in eine andere Form, die für die Verarbeitung geeignet ist, umwandelt. | |
* Parsing ist der Prozess der Analyse und Interpretation von Datenstrukturen oder Text, um sie in eine andere, oft einfacher zu verarbeitende Form zu bringen. | |
* 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. | |
* Request Parameter sind Daten, die in einer HTTP-Anfrage an den Server übergeben werden, um zusätzliche Informationen zu liefern oder die Anfrage zu spezifizieren. Teil der URL nach einem `?`, z.B. `?id=123&name=test`. | |
* REST API (Representational State Transfer Application Programming Interface) ist ein Architekturstil für das Design von vernetzten Anwendungen. Es nutzt HTTP-Methoden für CRUD-Operationen (Create, Read, Update, Delete) und ist darauf ausgelegt, stateless zu sein, was bedeutet, dass jede Anfrage alle Informationen enthält, die der Server benötigt, um sie zu verarbeiten. | |
* Robots.txt: Eine Datei, die von Webseitenbetreibern verwendet wird, um zu definieren, welche Teile ihrer Website von Bots (wie Webscrapern) durchsucht werden dürfen. | |
* RSS (Really Simple Syndication) ist ein XML-basierter Formatstandard, der verwendet wird, um häufig aktualisierte Inhalte wie Blogeinträge, Nachrichten oder Podcasts zu veröffentlichen. RSS ist trotz der Zunahme anderer Technologien wie APIs für die Content-Syndikation immer noch weit verbreitet, besonders in Nischen für fortlaufende, zeitnahe Informationen. | |
## 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. | |
* Status Codes sind numerische Codes, die in HTTP-Antworten zurückgegeben werden, um den Status der Anfrage zu kommunizieren. | |
* 1xx (Informational): Anfrage wird verarbeitet, z.B. 100 Continue. | |
* 2xx (Success): Anfrage erfolgreich, z.B. 200 OK, 201 Created. | |
* 3xx (Redirection): Weitere Aktionen sind erforderlich, z.B. 301 Moved Permanently, 302 Found. | |
* 4xx (Client Error): Anfrage kann nicht verarbeitet werden, da die Anfrage fehlerhaft ist, z.B. 400 Bad Request, 404 Not Found. | |
* 5xx (Server Error): Der Server hat die Anfrage nicht erfüllen können, z.B. 500 Internal Server Error, 503 Service Unavailable. | |
* Stream bezeichnet den kontinuierlichen Fluss von Daten, oft in Echtzeit, wie bei Live-Video oder Datenanalyse, und ermöglicht die sofortige Verarbeitung und Übertragung von Informationen. Streaming-Technologien nutzen Protokolle und Plattformen, um Daten effizient von Quellen zu Konsumenten zu leiten, sei es für Multimedia oder Datenverarbeitung. | |
## 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 Zyte | |
* 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. | |