====== Datenextraktion mit Regular Expressions in Python ====== ===== Beispiel: Spiele des FC St. Gallen ===== * Besuchen Sie die Seite https://www.fcsg.ch/home/saison/1--mannschaft/resultate/. * Schauen Sie sich den HTML-Code der Seite an (Ctrl-U) und suchen Sie darin die Resultate * Speichern Sie die Seite (nur den HTML-Code) unter dem Namen ''resultate.html''. * Öffnen Sie die Seite in Notepad++, damit Sie eine Übersicht über den HTML-Code haben. * Kopieren Sie folgendes Code-Skellett nach TigerJython und speichern Sie die Python-Datei im gleichen Ordner wie die obige html-Datei. import re # Regular Expressions f = open("resultate.html") # Datei zum Lesen öffnen html = f.read() # Alles einlesen (ohne als json zu interpretieren). Man erhät einfach eine (sehr lange) Zeichenkette. f.close() # Datei schliessen html = html.replace("\n","") # Alle Zeilenumbrüche löschen (werden von . nicht gematcht) spiele = re.findall(r"
(.*?)
", html) for s in spiele: print(s) # Die gewünschten Daten mit weiteren Regular Expressions auslesen, z.B Datum und Score: datum = re.findall(r"match-date\".(.*?)(.*?)<", s)[0] # Nur das erste Regex-Match (mehr sollte es sowieso nicht geben) print(datum) print("\n\n\n")