Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Last revision Both sides next revision | ||
lehrkraefte:ks:informatik-glf4-20 [2021/05/10 10:25] Simon Knaus |
lehrkraefte:ks:informatik-glf4-20 [2021/05/17 10:47] Simon Knaus |
||
---|---|---|---|
Line 370: | Line 370: | ||
+ | </ | ||
+ | <code insta_englisch.py> | ||
+ | import re # Regular Expressions | ||
+ | import datetime | ||
+ | import os # Files suchen | ||
+ | |||
+ | # Erklärungen zu diesem Code sind Analog dem Youtube-Extraktor. | ||
+ | |||
+ | rootdir = " | ||
+ | mnum = {" | ||
+ | |||
+ | # Resultat, das am Schluss geschrieben werden soll | ||
+ | csv = "" | ||
+ | # Wie viele Kontrollausgaben? | ||
+ | debug = 10 | ||
+ | |||
+ | # Alle HTML-Dateien im Verzeicznis anzeigen | ||
+ | for root, dirs, files in os.walk(rootdir): | ||
+ | for file in files: | ||
+ | if file.endswith(" | ||
+ | filepath = os.path.join(root, | ||
+ | # Datei oeffnen | ||
+ | f = open(filepath, | ||
+ | html = f.read() | ||
+ | f.close() | ||
+ | | ||
+ | | ||
+ | # Datum der Form 30.12.2021, 22:13 einlesen | ||
+ | # Alle nötigen Angaben werden in Klammern " | ||
+ | daten = re.findall(" | ||
+ | |||
+ | | ||
+ | if(debug> | ||
+ | print(file,": | ||
+ | debug-=1 | ||
+ | |||
+ | |||
+ | # Alle Einträge durchgehen, d enthält jeweils den nächsten Eintrag | ||
+ | for d in daten: | ||
+ | # Einträge in Zahlen umwandeln | ||
+ | # Monat plus die anderen Einträge (ohne AM/PM) in Zahlen umgewandelt | ||
+ | # Die Zeichenkette " | ||
+ | | ||
+ | e = [mnum[d[0]]] + [int(x) for x in d[1:-1]] | ||
+ | if d[5]==" | ||
+ | | ||
+ | if debug>0: | ||
+ | # Ausgabe zur Kontrolle, sollte folgendes Format Produzieren | ||
+ | print(e) # [1, 6, 2021, 21, 23, 12] | ||
+ | debug -= 1 # Um 1 vermindern | ||
+ | | ||
+ | # Datum daraus generieren (macht die Datumsmanipulation einfacher). | ||
+ | # Jahr, Monat, Tag, Stunde, Minute, Sekunde | ||
+ | datum = datetime.datetime(e[2], | ||
+ | |||
+ | if debug>0: | ||
+ | # Ausgabe zur Kontrolle, produziert folgendes Format | ||
+ | print(datum) | ||
+ | debug -= 1 # Um 1 vermindern | ||
+ | | ||
+ | # Wochentag (Mo=0, Di=1, ..., So=6) | ||
+ | # Sämtliche Methoden für datetime-Objekte sind hier beschrieben: | ||
+ | wday = datum.weekday() | ||
+ | | ||
+ | # Formatierte Ausgabe des Datums, siehe https:// | ||
+ | # \n heisst neue Zeile. | ||
+ | csv += datum.strftime(" | ||
+ | | ||
+ | # Ausgabe in Datei schreiben | ||
+ | f = open(" | ||
+ | f.write(csv) | ||
+ | f.close() | ||
</ | </ | ||
==== 2. Note: Bewertete Analyse: Abgabe 24. Mai 20121 ==== | ==== 2. Note: Bewertete Analyse: Abgabe 24. Mai 20121 ==== |