This is an old revision of the document!
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 f.close() # Datei schliessen html = html.replace("\n","") # Alle Zeilenumbrüche löschen (werden von . nicht gematcht) spiele = re.findall(r"<div class=\"match\">(.*?)</div></div></div></div>", html) for s in spiele: print(s) # Die gewünschten Daten mit weiteren Regular Expressions auslesen, z.B datum = re.findall(r"match-date\".(.*?)</strong.*?score\">(.*?)<", s)[0] # Nur das erste Regex-Match (mehr sollte es sowieso nicht geben) print(datum) print("\n\n\n")