lehrkraefte:blc:informatik:glf4-20:umgang-mit-dateien:challenge5

Datenextraktion mit Regular Expressions in Python

  • 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"<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 und Score:
  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")
  • lehrkraefte/blc/informatik/glf4-20/umgang-mit-dateien/challenge5.txt
  • Last modified: 2021/03/04 13:36
  • by Ivo Blöchliger