Datenverschrottung ist eine Technik, bei der ein Computerprogramm Daten aus von einem Menschen lesbaren Ausgaben extrahiert, die aus einem anderen Programm stammen.
Beschreibung [ edit ]
Normalerweise erfolgt der Datentransfer zwischen Programmen mit Datenstrukturen, die für die automatisierte Verarbeitung durch Computer und nicht für Personen geeignet sind. Solche Austauschformate und -protokolle sind in der Regel starr strukturiert, gut dokumentiert, leicht zu analysieren und reduzieren die Mehrdeutigkeit auf ein Minimum. Sehr oft sind diese Übertragungen überhaupt nicht lesbar.
Daher ist das Schlüsselelement, das zwischen dem Scraping von Daten und dem regulären Parsing unterscheidet, dass die gescrapte Ausgabe für die Anzeige an einen Endbenutzer und nicht als Eingabe für ein anderes Programm bestimmt ist und daher normalerweise für ein bequemes Parsing weder dokumentiert noch strukturiert ist . Bei der Datenverschrottung werden häufig binäre Daten (normalerweise Bilder oder Multimediadaten) ignoriert, Formatierungen der Anzeige, überflüssige Beschriftungen, überflüssige Kommentare und andere Informationen, die entweder irrelevant sind oder die automatisierte Verarbeitung behindern.
Das Verschrotten von Daten erfolgt meistens entweder als Schnittstelle zu einem Altsystem, das über keinen anderen Mechanismus verfügt, der mit der aktuellen Hardware kompatibel ist, oder als Schnittstelle zu einem System eines Drittanbieters, das keine bequemere API bietet. Im zweiten Fall wird der Betreiber des Drittsystems das Bildschirm-Scraping häufig als unerwünscht empfinden, beispielsweise aufgrund einer erhöhten Systemlast, dem Verlust von Werbeeinnahmen oder dem Verlust der Kontrolle über den Informationsinhalt.
Datenverschrottung wird allgemein als ad hoc adelegante Technik betrachtet, die häufig nur als "letzter Ausweg" verwendet wird, wenn kein anderer Mechanismus für den Datenaustausch verfügbar ist. Abgesehen von dem höheren Programmier- und Verarbeitungsaufwand ändern die für den menschlichen Konsum bestimmten Ausgabeanzeigen häufig die Struktur. Menschen können dies problemlos bewältigen, aber ein Computerprogramm kann Unsinn melden und wurde angewiesen, Daten in einem bestimmten Format oder von einem bestimmten Ort aus zu lesen, ohne zu wissen, wie seine Ergebnisse auf Gültigkeit überprüft werden können.
Technische Varianten [ edit ]
Screen Scraping [ edit
Screen Scraping wird normalerweise mit der programmgesteuerten Erfassung visueller Daten aus einer Quelle verknüpft, anstatt Daten wie beim Web Scraping zu analysieren. Screen Scraping bezog sich ursprünglich auf das Lesen von Textdaten vom Bildschirm eines Computerbildschirms. Dies wurde im Allgemeinen durch Lesen des Speichers des Terminals über seinen Hilfsport oder durch Verbinden des Terminalausgangsports eines Computersystems mit einem Eingangsport eines anderen Computers durchgeführt. Der Begriff "Screen Scraping" wird häufig auch für den bidirektionalen Datenaustausch verwendet. Dies können die einfachen Fälle sein, in denen das Steuerungsprogramm durch die Benutzeroberfläche navigiert, oder komplexere Szenarien, in denen das Steuerungsprogramm Daten in eine Schnittstelle eingibt, die von einem Menschen verwendet werden soll.
Als konkretes Beispiel eines klassischen Bildschirmschabers betrachten wir ein hypothetisches Altsystem aus den 1960er Jahren - den Beginn der computergestützten Datenverarbeitung. Computer-zu-Benutzeroberflächen aus dieser Zeit waren oft einfach textbasierte dumme Terminals, die nicht viel mehr als virtuelle Fernschreiber waren (solche Systeme werden heute noch aus verschiedenen Gründen [update] verwendet). Der Wunsch, ein solches System an modernere Systeme anzubinden, ist üblich. Eine robuste Lösung erfordert häufig Dinge, die nicht mehr verfügbar sind, wie Quellcode, Systemdokumentation, APIs oder Programmierer mit Erfahrung in einem 50 Jahre alten Computersystem. In solchen Fällen kann die einzige praktikable Lösung sein, einen Bildschirmschaber zu schreiben, der "vorgibt", ein Benutzer an einem Terminal zu sein. Der Screen Scraper verbindet sich möglicherweise über Telnet mit dem Altsystem, emuliert die zum Navigieren auf der alten Benutzeroberfläche erforderlichen Tastenanschläge, verarbeitet die resultierende Anzeigeausgabe, extrahiert die gewünschten Daten und leitet sie an das moderne System weiter. (Eine derart ausgereifte und ausfallsichere Implementierung, die auf einer Plattform aufbaut, die die von einem großen Unternehmen geforderte Steuerung und Kontrolle bietet - z. B. Änderungskontrolle, Sicherheit, Benutzerverwaltung, Datenschutz, Betriebsüberwachung, Lastausgleich und Warteschlangenverwaltung usw.) sei gesagt, ein Beispiel für automatisierte Software für die Prozessautomatisierung zu sein.)
In den 80er Jahren präsentierten Finanzdatenanbieter wie Reuters, Telerate und Quotron Daten im 24 × 80-Format, die für einen menschlichen Leser bestimmt waren. Benutzer dieser Daten, insbesondere Investmentbanken, haben Anwendungen geschrieben, um diese Zeichendaten als numerische Daten zu erfassen und umzuwandeln, um sie in Berechnungen für Handelsentscheidungen aufzunehmen, ohne die Daten erneut eingeben zu müssen. Der übliche Begriff für diese Praxis, insbesondere in Großbritannien, war Page Shreddern da man sich vorstellen konnte, dass die Ergebnisse einen Aktenvernichter durchlaufen haben. Intern verwendet Reuters für diesen Umwandlungsprozess den Begriff "logisch", indem er ein ausgeklügeltes Computersystem auf VAX / VMS namens Logicizer ausführt. [1]
Zu den moderneren Screen-Scraping-Techniken gehört das Erfassen der Bitmap-Daten aus dem Bildschirm und Ausführen durch eine OCR-Engine oder für einige spezialisierte automatisierte Testsysteme, wobei die Bitmap-Daten des Bildschirms mit den erwarteten Ergebnissen abgeglichen werden. [2] Dies kann bei GUI-Anwendungen mit dem Abfragen der grafischen Steuerelemente durch programmgesteuerte Verweise auf kombiniert werden ihre zugrunde liegenden Programmierobjekte. Eine Folge von Bildschirmen wird automatisch erfasst und in eine Datenbank umgewandelt.
Eine weitere moderne Anpassung an diese Techniken besteht darin, anstelle einer Folge von Bildschirmen als Eingabe einen Satz von Bildern oder PDF-Dateien zu verwenden, so dass es einige Überschneidungen mit generischen "Document Scraping" - und Report-Mining-Techniken gibt.
Web Scraping [ edit ]
Webseiten werden mit textbasierten Auszeichnungssprachen (HTML und XHTML) erstellt und enthalten häufig eine Vielzahl nützlicher Daten in Textform. Die meisten Webseiten sind jedoch für den Endbenutzer bestimmt und nicht für eine einfache automatisierte Verwendung. Aus diesem Grund wurden Toolkits erstellt, die Webinhalte abkratzen. Ein Web-Scraper ist eine API oder ein Tool zum Extrahieren von Daten von einer Website. Unternehmen wie Amazon AWS und Google stellen Tools, Services und öffentliche Daten zur Verfügung, die den Endbenutzern kostenlos zur Verfügung stehen. Neuere Formen des Web-Scraping umfassen das Abhören von Daten-Feeds von Webservern. Beispielsweise wird JSON üblicherweise als Transportspeichermechanismus zwischen dem Client und dem Webserver verwendet.
Vor kurzem haben Unternehmen Web-Scraping-Systeme entwickelt, die auf Techniken des DOM-Parsing, Computer Vision und Natural Language Processing basieren, um die Verarbeitung menschlicher Prozesse zu simulieren, die beim Anzeigen einer Webseite auftreten, um automatisch nützliche Informationen zu extrahieren. [3] [3] [3] [4]
Große Websites verwenden in der Regel defensive Algorithmen, um ihre Daten vor Web-Scrapers zu schützen und die Anzahl der Anfragen zu begrenzen, die ein IP- oder IP-Netzwerk senden darf. Dies hat zu einem anhaltenden Kampf zwischen Website-Entwicklern und kratzenden Entwicklern geführt. [5]
Report Mining [ edit ]
Report Mining ist das Extrahieren von Daten aus von Menschen lesbaren Computerberichten. Herkömmliche Datenextraktion erfordert eine Verbindung zu einem funktionierenden Quellensystem, geeignete Verbindungsstandards oder eine API und normalerweise komplexe Abfragen. Durch die Verwendung der Standardberichterstellungsoptionen des Quellensystems und die Ausgabe der Ausgabe in eine Spooldatei anstelle eines Druckers können statische Berichte erstellt werden, die für die Offline-Analyse über Report Mining geeignet sind. [6] Dieser Ansatz kann eine intensive CPU-Auslastung während der Geschäftszeiten vermeiden. minimiert die Lizenzkosten für Endbenutzer für ERP-Kunden und bietet ein sehr schnelles Prototyping und die Entwicklung von benutzerdefinierten Berichten. Während für das Daten-Scraping und das Web-Scraping Interaktion mit dynamischer Ausgabe erforderlich ist, werden beim Report-Mining Daten aus Dateien in einem für Menschen lesbaren Format (z. B. HTML, PDF oder Text) extrahiert. Diese können einfach von fast jedem System generiert werden, indem der Dateneinzug an einen Drucker unterbrochen wird. Dieser Ansatz bietet einen schnellen und einfachen Weg zum Abrufen von Daten, ohne dass eine API für das Quellsystem programmiert werden muss.
Siehe auch [ edit ]
Referenzen [ edit ]
Weiterführende Literatur [] [].
- Hemenway, Kevin und Calishain, Tara. Spidering Hacks . Cambridge, Massachusetts: O'Reilly, 2003. ISBN 0-596-00577-6.
No comments:
Post a Comment