Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
efinf:blc2016:regex [2016/11/14 15:14] Ivo Blöchliger created |
efinf:blc2016:regex [2016/11/29 14:24] (current) Ivo Blöchliger |
||
---|---|---|---|
Line 35: | Line 35: | ||
</ | </ | ||
+ | Nach gsub kann zusätzlich ein Block folgen, der als Parameter den aktuellen match (als String) bekommt. Dieser wird durch das Resultat vom Block ersetzt. Beispiel: | ||
+ | <code ruby> | ||
+ | str = " | ||
+ | p str.gsub(/ | ||
+ | m[0]+m[1].upcase | ||
+ | } | ||
+ | </ | ||
+ | ==== Eliza ==== | ||
+ | Ziel: Englische Sätze von der Ich- in die Du-Form umschreiben mittels Regular Expressions. Beispiele: | ||
+ | * I think my toe hurts -> Why do **you** think that **your** toe hurts? | ||
+ | * I'm so sad -> Does is happen often that **you' | ||
+ | * I told you so -> Can you elaborate on why **you** told **me** so? | ||
- | ==== Aufgaben ==== | + | Dateien vom Donnerstag 17.11. (bräuchten noch ein bisschen Arbeit): |
- | * CSV-Daten einlesen | + | * {{ : |
- | * Log-File Analyse | + | * {{ : |
- | * pdf-Tabelle konvertieren | + | |
+ | ==== Nesa-Pilot ==== | ||
+ | * Installieren Sie den Chrome (sudo apt-get install chromium-browser) | ||
+ | * In Chrome, drücken Sie F12, um die Debug-Suite zu starten und aktivieren Sie den Tab " | ||
+ | * Gehen Sie auf die Startseite von Nesa: https:// | ||
+ | * Rechts-Klick auf ersten Netzwerkzugriff (mit Code 200): "copy as cURL" | ||
+ | |||
+ | Das curl-Kommando muss jetzt noch ein bisschen angepasst werden, damit die Cookies gespeichert und wiederverwendet werden: | ||
+ | - Fügen Sie die Optionen '' | ||
+ | - Löschen Sie die entsprechende Header Option (falls vorhanden), die ein altes Cookie sendet (-H etc..) | ||
+ | |||
+ | Im login-Formular ist ein Hash, der beim login mitgesendet werden muss (damit werden wohl auch Timeouts festgestellt). Diesen gilt es zu extrahieren: | ||
+ | |||
+ | <code ruby> | ||
+ | startseite = `bash startseite.curl`.force_encoding(" | ||
+ | puts startseite | ||
+ | |||
+ | # loginhash=startseite.scan(/ | ||
+ | puts "-> HASH <-" | ||
+ | puts loginhash | ||
+ | </ | ||
+ | |||
+ | * Loggen Sie sich auf Nesa ein. | ||
+ | * Rechts-Klick auf ersten Netzwerkzugriff: | ||
+ | * Modifizieren Sie das curl-Kommando wie oben. | ||
+ | * In diesem Kommando muss der loginhash angepasst werden | ||
+ | |||
+ | |||
+ | <code ruby> | ||
+ | logincurl = File.read(" | ||
+ | puts logincurl | ||
+ | # logincurl.gsub!(.....) | ||
+ | puts logincurl | ||
+ | |||
+ | # Erste Seite nach login herunterladen | ||
+ | nesaseite = `# | ||
+ | </ | ||
+ | |||
+ | Zusammengefasst als Funktion (liefert erste Seite nach Login): | ||
+ | <code ruby> | ||
+ | def getStartPage | ||
+ | `rm nesa-cookies.txt` | ||
+ | startseite = `bash startseite.curl`.force_encoding(" | ||
+ | | ||
+ | # input type=" | ||
+ | | ||
+ | loginhash=startseite.scan(/ | ||
+ | | ||
+ | curllogin=File.read(" | ||
+ | curllogin.gsub!(/ | ||
+ | `# | ||
+ | end | ||
+ | |||
+ | </ | ||
+ | |||
+ | Nach erfolgreichem Login muss die Seite nach den gewünschten Links abgesucht werden: | ||
+ | * Im " | ||
+ | * Was zwischen nach href="" | ||
+ | |||
+ | |||
+ | Zeichnen Sie dann einen beliebigen Seitenzugriff auf und kopieren sie das curl-Kommando, | ||