Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
lehrkraefte:blc:informatik:efi-2023:regex [2023/12/05 07:26] Ivo Blöchliger created |
lehrkraefte:blc:informatik:efi-2023:regex [2023/12/14 09:25] (current) Ivo Blöchliger [Ausprobieren] |
||
---|---|---|---|
Line 35: | Line 35: | ||
* https:// | * https:// | ||
+ | * http:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
==== Aufgabe: Links extrahieren ==== | ==== Aufgabe: Links extrahieren ==== | ||
* Extrahieren Sie alle Links von folgendem Code-Schnipsel: | * Extrahieren Sie alle Links von folgendem Code-Schnipsel: | ||
Line 67: | Line 72: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | ==== Realworld-Aufgabe: | ||
+ | Kopieren Sie die log-Datei vom Christbaum und analysieren Sie diese. | ||
+ | <code bash> | ||
+ | scp ef: | ||
+ | </ | ||
+ | Mögliche Fragen: | ||
+ | * Welches Programm wurde besonders oft ausgewählt? | ||
+ | * Um welche Uhrzeiten hat der Bewegungsmelder etwas wahrgenommen? | ||
+ | |||
+ | |||
+ | <code python> | ||
+ | import re | ||
+ | |||
+ | fn = " | ||
+ | |||
+ | with open(fn, " | ||
+ | lines = f.readlines() | ||
+ | |||
+ | pattern = re.compile(" | ||
+ | #pattern = re.compile(" | ||
+ | |||
+ | for line in lines: | ||
+ | res = pattern.search(line) | ||
+ | if res: | ||
+ | # | ||
+ | print(res.group(1)) | ||
+ | </ | ||
+ | ==== Realworld-Aufgabe: | ||
+ | Hier finden Sie einen Screenshot und den zughörigen HTML-Code: {{lehrkraefte: | ||
+ | |||
+ | Schreiben Sie ein Python-Programm mit regular Expressions, | ||
+ | |||
+ | === Warum das Blödsinn ist === | ||
+ | Gegen eine UI zu programmieren, | ||
+ | |||
+ | Auch haben wir HTML-Code vorliegen. Dieser ist bereits strukturiert und auch danach durchsuchbar. Z.B. kann man die Sache in JavaScript «relativ» einfach erledigen (In den Entwickler Tools des Webbrowsers (F12)): | ||
+ | <code javascript> | ||
+ | Array.from(document.querySelectorAll(' | ||
+ | </ | ||
+ | Liefert ein Array mit den gewünschten Einträgen. | ||
+ | |||
+ | |||
+ | |||
==== Weitere Übungen ==== | ==== Weitere Übungen ==== | ||
Mit einem [[https:// | Mit einem [[https:// |