2. Methodik

Im Folgenden gehen wir auf die verwendeten Methoden für

  1. Datengewinnung
  2. Datenbereinigung
  3. Datenanalyse

ein.

2.1 Datengewinnung

Grundsätzlich stehen folgende Möglichkeiten für das Gewinnen von Daten aus dem Web zur Verfügung:

 

  • Cut’n paste: Daten, die auf Webseiten bereits als strukturierte Tabellen vorliegen, können z.B. mit Excel einfach weitervearbeitet werden. Diese Methode ist schnell, pragmatisch aber eignet sich nur für kleine Datenmengen.
  • Webscraping: Man schreibt ein Programm, das quasi einen Browser simuliert, die Daten auf Websites sammelt und in weiterverarbeitbaren Datenstrukturen ablegt. Der Nachteil dieses Verfahrens ist, dass wenn sich das Datenformat einer Website ändert, das Zugriffsprogram (Crawler) nicht mehr funktioniert. Anhang 3 gibt einen Überblick zu den verwendeten Webscraping-Technologien.
  • API: Manche Websitebetreiber bieten eine Programmierschnittstelle (Application Programming Interface) an, mit der direkt auf eine Datenbank zugegriffen werden kann. Das ist in dem meisten Fällen die präferierte Art des Zugriffs auf Daten und unabhängig von ihrer Präsentation als Webseite.

Im Rahmen des Projektes werden Daten von Wikiart (http://wikiart.org) und Christies (http://christies.com) verwendet. Wikiart bietet eine API, Christie’s keine zumindest öffentlich Zugängliche, so dass hier die Wahl auf Webscraping gefallen ist.

Die Vorgehensweise der Datengewinnung zusammengefasst:

  1. Nutzung von Wikiart als Quelle für Namen von Künstlern des 19. Jh.
  2. Sammeln aller Auktionsergebnisse für den Künstler
  3. Laden des HTML Codes der Webseite zum Auktionsergebnis
  4. Parsen der Daten zumKunstwerk und Ablage in einer Liste

Nutzung von Wikiart als Quelle für Namen von Künstlern des 19. Jh.

Wikiart stellt eine grosse Mengen von Daten über Kunst zur Verfügung, u.a. die Namen von Künstlern:

Screenshot Wikiart: Filtermöglichkeit der Künstler nach Jahrhundert

Die Daten zu Künstlarn lassen sich ohne Webcrawling oder API über Links wie z.B.

https://www.wikiart.org/en/artists-by-century/19/1

gleich im JSON Format auslesen, können also über Programme leicht weiterverwendet werden:

{"contentId":213253,
 "artistName":"Edgar Degas",
 "url":"edgar-degas",
 "lastNameFirst":"Degas Edgar",
 "birthDay":"\/Date(-4274553600000)\/",
 "deathDay":"\/Date(-1649289600000)\/",
 "birthDayAsString":"19 July 1834",
 "deathDayAsString":"27 September 1917",
 "image":"https://uploads3.wikiart.org/images/edgar-degas.jpg!Portrait.jpg",
 "wikipediaUrl":"http://en.wikipedia.org/wiki/Edgar_Degas",
 "dictonaries":[1221,316,311]}

Sammeln aller Auktionsergebnisse für Kunstwerke eines Künstlers

Der in der Programmiersprache Python erstellte Webscraper simuliert die Eingabe des Künstlernamen in das Suchformular auf christies.com, um Links zu Auktionsergebnissen zu erhalten und speichert diese in einer Liste ab.

Screenshot Christie’s: Anzeigen aller Verkauften Werke eines Künstlers (s. Suchfeld)

Da Suchergebnisse auch Werke weiterer Künstler enthalten können, werden vor dem nächsten Schritt Duplikate entfernt. Dieser Schritt ist von essentieller Bedeutung, da hiermit die Crawling-Dauer erheblich reduziert werden kann. Bei Christes wurde somit eine Zeitersparnis von 30% erreicht, was bei 68.000 URLs etwa 6h entsprach.

Laden des HTML Codes der Webseite des Kunstwerks

In diesem Schritt wird gemäß einer Best-practice zunächst der HTML Code als lokale Datei abgespeichert. Somit müssen bei Verbindungsabbrüchen oder Parserfehlern die Daten nicht erneut geladen werden. Zitat:

„When you scrape a new website (especially with variable structure), it’s a good practice to take all the data (web pages) and save it as it is to disk, opposed to trying to process it as it comes from the server. This may save you much time and save you from being banned.“

Parsen der Daten zum Kunstwerk und Ablage in einer Liste

Unter Parsen verstehen wir das Übersetzen der Inhalte auf einer Kunstwerks-Webseite in eine neue Struktur, die bei der späteren Datenanalyse verwendet werden kann. Man kann sich das so vorstellen, dass eine Webseite die Informationen bereits strukturiert bereithält, z.B. steht der Preis immer an gleicher Stelle und hat (zumindest in der Theorie) immer ein ähnliches Format.

Die Kunstwerke auf christies.com folgen alle folgendem Darstellungsmuster:

Der obere Teil enthält Titel, Preisinformationen, Entstehungsjahr, eine kurze Beschreibung

Screenshot Christie’s: Detailseite zu Kunstwerk (oberer Bereich)

Weiter unten folgen beschreibende Texte, die aufgeklappt werden müssen:

Screenshot Christie’s: Detailseite zu Kunstwerk (unterer Bereich)

Hierbei ist die Provenienz, also wer das Werk vorher besessen hat, sowie ob und wie oft es in Museen ausgestellt wurde, relevant für die Preisbildung.

Diese Daten werden extrahiert und in einer eigenen Datenstruktur gespeichert.

2.2 Datenbereinigung

Im besten Fall erreicht man, dass das Scraping alle Daten richtig bzw. konsistent erfasst. Fast immer ist jedoch eine Bereinigung und Nacharbeit erforderlich. Folgende Anomalien sind beim Projekt u.a. aufgetreten:

  • Das Entstehungsjahr sind im Text erfasst, zum Teil ist es unbekannt
  • Die Schreibweise variiert stark: 1860, 1860/1861, circa 1860, 1860 – 1861, 1860-1861, 19th century, …
  • Der Titel besteht meistens aus dem Namen des Künstlers mit den Lebensdaten in Klammern: Claude Monet (1840-1926). Das ist jedoch nicht durchgängig eingehalten. Namen können verschiedene Formen haben.
  • Menschen machen Fehler – manche Künstler sind doppelt im System, z.B. Natalia Goncharova, Natalia Gontscharova. Manche Künstlernamen waren mit und ohne Accents im System und wurden somit als zwei unterschiedliche Künstler geführt.
  • Die primäre Währung ist manchmal in USD, manchmal in anderen Währungen
  • Die Bescheibung kann fehlen, oder im Titel stehen
  • uvm.

Hierbei ist zu bemerken, dass solche Anomalien nicht bzw. nur mit einem großen Aufwand vermieden werden können. Der Grund hierfür ist, dass die Daten mit hoher Wahrscheinlichkeit von unterschiedlichen Personen erfasst werden, keine Regeln für die Erfassung (etwa in Form von Handbüchern) vorliegen und eine Qualitätssicherung mit hohem Aufwand verbunden wäre. Das ist jedoch kein auktionshausspezifiscvhes Problem, sondern eine grundsätzliche Herausforderung in der Datenanalyse

Um einen einheitlichen Datenbestand zu haben, haben wir beim Fehlen von Attributen, das Attribut mit 0 bzw. „“  initialisiert.

Die verwendeten Parser haben bzgl. der Texterkennung Lücken, sind nicht als vollständig implementiert anzusehen und deren Optimierung wäre als zukünftiges Projekt geeignet. Als Technologie hierfür wurden die Python Libraries bs4 / BeautifulSoup und re für Regular Expressions (RegEx) verwendet.

Weitere Nachbearbeitung von Daten z.B. Zusammenfassen von doppelt geführten Künstlern, sind im Rahmen der Datenanalyse in Excel vorgenommen worden.

2.3 Datenanalyse

Bei der Datenanalyse haben wir uns auf ca. 2.500 Ölgemälde fokussiert. Excel bietet eine sehr gute Funktionalität, wenn es um einen überschaubar grossen Datenbestand geht. Der vorselektierte Christie’s Datenbestand lässt sich sehr schnell und einfach  mit Pivot Tabellen und den Excel Grafiken analysieren.

Übergeordnetes Dokument:Einleitung & Gliederung

7
Hinterlasse einen Kommentar

avatar
4 Kommentar Themen
3 Themen Antworten
0 Follower
 
Kommentar, auf das am meisten reagiert wurde
Beliebtestes Kommentar Thema
4 Kommentatoren
Deniz DemirsoyMartin BognerHarald KlinkeFrancois Bry Letzte Kommentartoren
  Abonnieren  
neueste älteste
Benachrichtige mich bei