Datenkratzen

Datenkratzen ist eine Technik, bei der a Computer Programm Auszüge Daten aus für Menschen lesbar Ausgabe von einem anderen Programm.

Beschreibung

Normalerweise, Datentransfer zwischen den Programmen wird erreicht, wenn Sie verwendet werden Datenstrukturen Passend für automatisiert Verarbeitung durch Computers, nicht Menschen. Solcher Austausch Formate und Protokolle sind typischerweise streng strukturiert, gut dokumentiert, leicht analysiert, und minimieren Mehrdeutigkeit. Sehr oft sind diese Übertragungen überhaupt nicht menschlich lesbar.

Somit ist das Schlüsselelement, das Daten unterscheidet, die von regulärem Kratzer sind Parsing ist, dass die abgeschlichene Ausgabe für die Anzeige zu einem vorgesehen ist Endbenutzer, anstatt als Eingabe für ein anderes Programm. Es wird daher normalerweise weder dokumentiert noch zur bequemen Parsen strukturiert. Datenkratzen beinhalten häufig das Ignorieren Binärdaten (normalerweise Bilder oder Multimedia -Daten), Anzeige Formatierung, redundante Beschriftungen, überflüssiger Kommentare und andere Informationen, die entweder irrelevant sind oder die automatisierte Verarbeitung behindern.

Datenkratzen werden am häufigsten entweder zur Schnittstelle zu a durchgeführt Legacy -System, was keinen anderen Mechanismus hat, der mit Strom kompatibel ist Hardware-oder um eine Schnittstelle zu einem System von Drittanbietern, das nicht bequemer ist API. Im zweiten Fall wird der Betreiber des Drittanbieters häufig sehen Bildschirmkratzen als unerwünscht, aus Gründen wie einem erhöhten System Belastung, der Verlust von Anzeige Einnahmen, oder der Kontrollverlust des Informationsinhalts.

Datenkratzen werden im Allgemeinen als als angesehen ad hoc, unelegante Technik, die häufig nur als "letzten Ausweg" verwendet wird, wenn kein anderer Mechanismus für den Datenaustausch verfügbar ist. Abgesehen von den höheren Programmierung und Verarbeitungsaufwand, Ausgangsanzeigen, die für den menschlichen Verbrauch vorgesehen sind, ändern häufig häufig die Struktur. Menschen können mit diesem leicht umgehen, aber ein Computerprogramm wird fehlschlagen. Abhängig von der Qualität und dem Ausmaß von Fehlerbehandlung Im Computer vorhandene Logik kann dieser Fehler zu Fehlermeldungen, beschädigten Ausgaben oder sogar führen Programmabstürze.

Technische Varianten

Bildschirmkratzen

Ein Bildschirmfragment und eine Bildschirm-Craping-Schnittstelle (blaues Feld mit rotem Pfeil), um den Datenerfassungsvorgang anzupassen.

Obwohl die Verwendung von physischen "dumme Terminal"IBM 3270s nimmt langsam ab, da immer mehr Mainframe -Anwendungen erwerben Netz Schnittstellen verwenden einige Webanwendungen nur weiterhin die Technik von Bildschirmkratzen Erfassen Sie alte Bildschirme und übertragen Sie die Daten auf moderne Frontends.[1]

Das Screen -Scraping ist normalerweise mit der programmatischen Sammlung visueller Daten aus einer Quelle verbunden, anstatt Daten wie beim Web -Scraping zu analysieren. Ursprünglich, Bildschirmkratzen bezogen auf die Praxis des Lesens von Textdaten von einer Computeranzeige Terminal's Bildschirm. Dies wurde im Allgemeinen durch Lesen des Terminals durchgeführt Erinnerung durch sein Hilfsmittel Hafenoder durch Anschließen des Anschlusss für ein Computersystem an einen Eingangsport an einem anderen. Das Begriff Screen Scraping wird häufig verwendet, um sich auf den bidirektionalen Datenaustausch zu beziehen. Dies können die einfachen Fälle sein, in denen das Steuerungsprogramm über die Benutzeroberfläche oder komplexere Szenarien navigiert, in denen das Steuerungsprogramm Daten in eine Schnittstelle eingibt, die von einem Menschen verwendet werden soll.

Betrachten Sie als konkretes Beispiel für einen klassischen Bildschirmschaber ein hypothetisches Legacy -System aus den 1960er Jahren - die Morgendämmerung von Computerized Datenverarbeitung. Computer zu Benutzeroberflächen Aus dieser Zeit waren oft einfach textbasierte dumme Terminals die nicht viel mehr als virtuell waren Teleprinter (Solche Systeme werden heute noch verwendet, aus verschiedenen Gründen). Der Wunsch, ein solches System mit moderneren Systemen zu verknüpfen, ist üblich. EIN robust Die Lösung erfordert häufig Dinge, die nicht mehr verfügbar sind, wie z. Quellcode, System Dokumentation, Apis, oder Programmierer mit Erfahrung in einem 50 Jahre alten Computersystem. In solchen Fällen kann die einzige machbare Lösung darin bestehen, einen Bildschirmschaber zu schreiben, der "vorgibt", ein Benutzer an einem Terminal zu sein. Der Bildschirmschaber könnte über das Legacy -System herstellen Telnet, emulieren, nacheifern Die Tastenanschläge, die zur Navigation in der alten Benutzeroberfläche erforderlich sind, verarbeiten die resultierende Anzeigeausgabe, extrahieren die gewünschten Daten und geben sie an das moderne System weiter. Eine ausgefeilte und widerstandsfähige Implementierung dieser Art, die auf einer Plattform basiert, die die Governance und Kontrolle bietet, die von einem großen Unternehmen erforderlich ist - z. Ändern Sie die Kontrolle, Sicherheit, Benutzerverwaltung, Datenschutz, Betriebsprüfung, Lastausgleich und Warteschlangenmanagement usw. - könnte als Beispiel für ein Beispiel für sein Roboterprozessautomatisierung Software, RPA oder RPAAI für selbst geführte RPA 2.0 basierend auf künstliche Intelligenz.

In den 1980er Jahren haben Finanzdatenanbieter wie z. Reuters, Telerat, und Quietron Zeigt Daten in 24 × 80 -Format an, die für einen menschlichen Leser bestimmt sind. Benutzer dieser Daten, insbesondere Investmentbanken, schrieb Anwendungen zum Erfassen und Umwandeln dieser Zeichendaten als numerische Daten zur Aufnahme in Berechnungen für Handelsentscheidungen ohne Wiederschlüsselung die Daten. Der gemeinsame Begriff für diese Praxis, insbesondere in der Vereinigtes Königreich, war Page Shreddingda sich die Ergebnisse vorstellen könnten, a durchlaufen zu haben Aktenvernichter. Innen Reuters verwendete den Begriff "logisiert" für diesen Konvertierungsprozess und führte ein ausgeklügeltes Computersystem ein Vax/vms Logicizer genannt.[2]

Zu den moderneren Screen -Scraping -Techniken gehört das Erfassen der Bitmap -Daten vom Bildschirm und das Ausführen dieser Durchführung durch eine OCR Engine oder für einige spezielle automatisierte Testsysteme, die den Bitmap -Daten des Bildschirms mit den erwarteten Ergebnissen entsprechen.[3] Dies kann im Fall von kombiniert werden GUI Anwendungen, bei der die grafischen Steuerelemente abfragen, indem sie programmatisch Verweise auf ihre zugrunde liegenden erhalten Programmierobjekte. Eine Abfolge von Bildschirmen wird automatisch erfasst und in eine Datenbank konvertiert.

Eine weitere moderne Anpassung an diese Techniken besteht darin, anstelle einer Abfolge von Bildschirmen als Eingabe, einer Reihe von Bildern oder PDF -Dateien zu verwenden, sodass einige Überlappungen mit generischen "Dokumentabschaben" und Scraping "und" Dokument "und" Scraping "und" Scraping "und" Scraping "und" PDF "verwendet werden können. Berichterstattung über Bergbau Techniken.

Es gibt viele Werkzeuge, die zum Screen -Scraping verwendet werden können.[4]

Web -Scraping

Webseiten werden mit textbasierten Mark-up-Sprachen erstellt (Html und Xhtml) und enthalten häufig eine Fülle nützlicher Daten in Textform. Die meisten Webseiten sind jedoch für Menschen ausgelegt Endverbraucher und nicht zur einfachen automatisierten Verwendung. Aus diesem Grund wurden Tool -Kits, die Webinhalte kratzen, erstellt. EIN Webschaber ist ein API oder Tool zum Extrahieren von Daten von einer Website. Unternehmen mögen Amazon AWS und Google zur Verfügung stellen Web -Scraping Tools, Dienste und öffentliche Daten, die kostenlos für Endverbraucher kosten. Neuere Formen der Web -Scraping beinhalten das Anhören von Datenfeeds von Webservern. Zum Beispiel, JSON wird üblicherweise als Transportspeichermechanismus zwischen dem Client und dem Webserver verwendet.

In jüngster Zeit haben Unternehmen Web -Scraping -Systeme entwickelt, die sich auf den Einsatz von Techniken in DOM Parsing verlassen, Computer Vision und Verarbeitung natürlicher Sprache So simulieren Sie die menschliche Verarbeitung, die beim Anzeigen einer Webseite auftritt, um automatisch nützliche Informationen zu extrahieren.[5][6]

Große Websites verwenden normalerweise Defensivalgorithmen, um ihre Daten vor Webbeschabtern zu schützen und die Anzahl der Anforderungen ein IP- oder IP -Netzwerk zu begrenzen. Dies hat einen anhaltenden Kampf zwischen Website -Entwicklern und Scrapingentwicklern verursacht.[7]

Berichterstattung über Bergbau

Berichterstattung über Bergbau ist die Extraktion von Daten aus menschlich-lesbaren Computerberichten. Konventionell Datenextraktion Benötigt eine Verbindung zu einem funktionierenden Quellsystem, das geeignet ist Konnektivität Standards oder an APIund normalerweise komplexe Abfragen. Durch die Verwendung der Standard -Berichtsoptionen des Quellsystems und die Ausgabe der Ausgabe auf a Spulendatei anstelle von a DruckerEs können statische Berichte über den Bericht über den Bericht über den Bericht über den Bericht über die Offline -Analyse geeignet sein.[8] Dieser Ansatz kann intensiv vermeiden Zentralprozessor Die Verwendung während der Geschäftszeiten kann minimieren Endbenutzer Lizenzkosten für ERP Kunden und können sehr schnelle Prototypen und Entwicklung von benutzerdefinierten Berichten bieten. Während Datenkratzen und Web-Scraping die Interaktion mit dynamischer Ausgabe beinhalten, wird das Berichtermining das Extrahieren von Daten aus Dateien in einem menschlich lesbaren Format beinhalten, wie z. Html, PDF oder Text. Diese können leicht aus nahezu jedem System generiert werden, indem der Datenfeed in einen Drucker abfängt. Dieser Ansatz kann einen schnellen und einfachen Weg bieten, um Daten zu erhalten, ohne dass eine API für das Quellsystem programmiert werden muss.

Siehe auch

Verweise

  1. ^ "Zurück in den 1990er Jahren .. 2002 ... 2016 ... immer noch, lautet Chase Bank, ein großes Problem. Ron Lieber (7. Mai 2016). "Jamie Dimon möchte Sie vor innovativen Start-ups schützen". Die New York Times.
  2. ^ Die Mitwirkenden ärgern sich über den Plan von Reuters, vom Monitor -Netzwerk zu IDN zu wechseln, FX Woche, 02. November 1990
  3. ^ Yeh, Tom (2009). "Sikuli: Verwenden von GUI -Screenshots zur Suche und Automatisierung" (PDF). Uist.
  4. ^ "Was ist Screen Scraping". 17. Juni 2019.
  5. ^ "Diffbot zielt darauf ab, Apps einfacher zu erleichtern, Webseiten so zu lesen, wie es Menschen tun.". MIT Technology Review. Abgerufen 1. Dezember 2014.
  6. ^ "Dieses einfache Tool zur Datenbeschaffung könnte die Art und Weise ändern, wie Apps hergestellt werden.". VERDRAHTET. Archiviert von das Original am 11. Mai 2015. Abgerufen 8. Mai 2015.
  7. ^ ""Ungewöhnlicher Datenverkehr aus Ihrem Computernetzwerk" - Suchhilfe ". Support.google.com. Abgerufen 2017-04-04.
  8. ^ Scott Steinacher, "Datenpumpe transformiert Hostdaten", InfoWorld, 30. August 1999, S. 55

Weitere Lektüre

  • Hemenway, Kevin und Calishain, Tara. Spinnenhacks. Cambridge, Massachusetts: O'Reilly, 2003. ISBN0-596-00577-6.