1.4. Lernziele#

Nach diesem Seminar kennt ihr…

  1. Grundbegriffe und Konzepte der Programmierung mit Python: Die Studierenden kennen den Unterschied zwischen verschiedenen Datentypen in Python und kennen die wichtigsten Operationen darauf. Sie haben ein Grundverständnis von der sinnvollen Strukturierung von Python-Code und kennen wichtige Konventionen.

  2. Grundbegriffe und Strategien des Web Scraping: Die Studierenden kennen Unterschiede zwischen verschiedenen Website-Rendering-Verfahren und deren Bedeutung für die Wahl geeigneter Webscraping-Strategien. Sie haben ein Grundverständnis von HTML, HTTP und JavaScript im Rahmen des Web Scraping-Workflows. Sie sind mit ausgewählten Web-APIs vertraut und wissen, wie diese aus Python heraus abgefragt werden können.

  3. Forschungsinfrastruktur und Datenformate: Die Studierenden kennen verschiedene Datenformate (JSON, XML-TEI, Plain Text) und deren Bedeutung im Webscraping-Workflow. Sie kennen ausgewählte Datenbanken, Einrichtungen und Websites, die (geisteswissenschaftliche) Daten für den programmatischen Zugriff via API zur Verfügung stellen.

  4. Rechtlicher Rahmen und Forschungsethik: Die Studierenden kennen den Unterschied zwischen verschiedenen Zugangsrechten und wissen, wo sie Informationen über die Zugangsbestimmungen der gesuchten Daten finden.

Nach diesem Seminar könnt ihr …

  1. Strategien konzipieren: Die Studierenden können geeignete Strategien zur Beschaffung von Daten/Korpora für ihr Forschungsinteresse entwickeln. Sie können begründen, warum sie sich im Rahmen ihres Forschungsprojekts für eine bestimmte Webscraping-Strategie und für ein bestimmtes Datenformat entschieden haben und können die Vor- und Nachteile dieser Entscheidung evaluieren. Sie können ihr Vorgehen an die formalen und rechtlichen Vorgaben anpassen.

  2. Web Scraper in Python schreiben: Die Studierenden können Python-Code lesen und (je nach Vorkenntnissen) einfache bis fortgeschrittene Skripte zum Web Scraping selbst schreiben. Sie können Fehler mithilfe von Debugging-Strategien selbst identifizieren und können Online-Ressourcen nutzen, um sich selbst Hilfe zu beschaffen. Sie können komplexen Code auf dem eigenen Computer reproduzieren. Sie sind routiniert im Umgang mit Jupyter Notebook/JupyterLab.