import re # Regular Expressions import datetime # Datum/Zeit import os # Files suchen # Erklärungen zu diesem Code sind Analog dem Youtube-Extraktor. rootdir = "C:/pfad/zum/entpackten/instagram/ordner/" # Resultat, das am Schluss geschrieben werden soll csv = "" # Comma separated values # 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(".html"): filepath = os.path.join(root, file) # Datei oeffnen f = open(filepath, "r") html = f.read() # Alles einlesen f.close() # Datei schliessen # Datum der Form 30.12.2021, 22:13 einlesen # Alle nötigen Angaben werden in Klammern "ge-captured" daten = re.findall("(\d{1,2}).(\d{1,2}).(\d{1,4}), (\d{1,2}):(\d{1,2})", html) if(debug>0): print(file,": ",len(daten)) 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 "42" ist nicht das gleiche wie die Zahl 42. e = [int(x) for x in d] 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], e[1], e[0], e[3], e[4],0) if debug>0: # Ausgabe zur Kontrolle, produziert folgendes Format print(datum) # 2021-01-06 21:23:12 debug -= 1 # Um 1 vermindern # Wochentag (Mo=0, Di=1, ..., So=6) # Sämtliche Methoden für datetime-Objekte sind hier beschrieben: https://docs.python.org/3/library/datetime.html#datetime-objects wday = datum.weekday() # Formatierte Ausgabe des Datums, siehe https://www.w3schools.com/python/python_datetime.asp # \n heisst neue Zeile. csv += datum.strftime("%Y-%m-%d %H:%M:%S;"+os.path.splitext(file)[0]+"\n") #Das Format soll so angepasst werden, damit die Tabellenkalkulation dann damit umgehen kann. # Ausgabe in Datei schreiben f = open("resultat.csv", "w") f.write(csv) f.close()