lehrkraefte:ks:informatik-glf4-20_4blw

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:ks:informatik-glf4-20_4blw [2021/04/08 19:37]
Simon Knaus
lehrkraefte:ks:informatik-glf4-20_4blw [2022/01/07 13:26] (current)
Simon Knaus
Line 283: Line 283:
 === Alternative Aufträge === === Alternative Aufträge ===
   - Evil Twin bauen. Konkrete Frage: Wie könnten damit Daten missbraucht werden?   - Evil Twin bauen. Konkrete Frage: Wie könnten damit Daten missbraucht werden?
-  - Tails o.ä. verwenden. Als Einführung ggf. [[https://media.ccc.de/v/pw20-342-tails|CCC Tails]] anschauen. Konkrete Frage: Welche Daten fallen damit anWelche nicht+  - Knoppix, Ubuntu Live, Tails,  o.ä. verwenden.  
-===== L9-L10: Datenanalyse ===== + 
-==== Ziel ==== +== Endprodukt Tails == 
 +  * Wie funktionieren "Live-Operating-Systeme" (Live-OS) 
 +  * Was ist speziell bei Tails im Gegensatz zu anderen Live-OS? 
 +  * Wer nutzt dies? Wie nutzt es wem? 
 +  * Ist die Anonymisierung die z.B. Tails nutzt in jedem Fall verlässlich ("compromised exit nodes")
 +==== L9-L10: Datenanalyse ==== 
 +=== Ziel ===
 Am Beispiel von Youtube-Daten (Watch-History) können die eigenen Verhaltensmuster mit Excel analysiert werden. Am Beispiel von Youtube-Daten (Watch-History) können die eigenen Verhaltensmuster mit Excel analysiert werden.
-==== Aufträge ==== +=== Aufträge === 
-  - Einführungsvideo schauen +  - [[https://web.microsoftstream.com/video/ba753801-9ab8-41e4-9c9e-d14fe3ddf4db|Einführungsvideo]] schauen 
-  - Daten bei Youtube [[https://takeout.google.com/|herunterladen]] und mit diesem Programm [[lehrkraefte:ks:informatik-glf4-20_4blw:extractor|Python-Programm]] (deutsche / euroäische) Formatierung in ein CSV konvertieren. Falls keine eigene Daten heruntergeladen werden können, bitte diese Datei verwenden.+  - Daten bei Youtube [[https://takeout.google.com/|herunterladen]] und mit diesem Programm [[lehrkraefte:ks:informatik-glf4-20_4blw:extractor|Python-Programm]] ({{lehrkraefte:ks:informatik-glf4-20:youtube-date-extractor.py|deutsche}}{{lehrkraefte:ks:informatik-glf4-20:youtube-date-extractor-europe.py|europäische}}) Formatierung in ein CSV konvertieren. Falls keine eigene Daten heruntergeladen werden können, bitte diese {{lehrkraefte:ks:informatik-glf4-20:jan14-history.html|Datei}} verwenden.
   - CSV in Excel öffnen    - CSV in Excel öffnen 
-    - Einführungsvideo Excel schauen+    - [[https://web.microsoftstream.com/video/114ca60b-fa45-4b99-bb9e-a62b032fd5c6|Einführungsvideo Excel]] schauen
     - Folgende Excel-Funktionen nachlesen resp. ausprobieren:     - Folgende Excel-Funktionen nachlesen resp. ausprobieren:
       - [[https://support.microsoft.com/de-de/office/wochentag-funktion-60e44483-2ed1-439f-8bd0-e404c190949a|Wochentag]]       - [[https://support.microsoft.com/de-de/office/wochentag-funktion-60e44483-2ed1-439f-8bd0-e404c190949a|Wochentag]]
       - [[https://support.microsoft.com/de-de/office/stunde-funktion-a3afa879-86cb-4339-b1b5-2dd2d7310ac7|Stunde]]       - [[https://support.microsoft.com/de-de/office/stunde-funktion-a3afa879-86cb-4339-b1b5-2dd2d7310ac7|Stunde]]
       - [[https://support.microsoft.com/de-de/office/mittelwert-funktion-047bac88-d466-426c-a32b-8f33eb960cf6|Mittelwert]]       - [[https://support.microsoft.com/de-de/office/mittelwert-funktion-047bac88-d466-426c-a32b-8f33eb960cf6|Mittelwert]]
- - Spalten erstellen mit den den notwendigen Informationen, z.B. Stunde am Tag, Wochentag, etc. (siehe oben) +    - Spalten erstellen mit den den notwendigen Informationen, z.B. Stunde am Tag, Wochentag, etc. (siehe oben) und diese dann als Excel-Datei speichern. 
- - Folgende Fragen mit Filter oder Pivot beantworten:+  - Folgende Fragen mit Filter oder Pivot beantworten:
     * Zu welcher Tageszeit schaue ich am meisten Videos?     * Zu welcher Tageszeit schaue ich am meisten Videos?
     * An welchem Wochentag schaue ich am meisten Videos?     * An welchem Wochentag schaue ich am meisten Videos?
     * Wie viele Videos schaue ich durchschnittlich pro Tag?     * Wie viele Videos schaue ich durchschnittlich pro Tag?
-    ...+    ...
  
 +==== L11-L12: Datenanalyse Instagram ====
 +Analog zur Analyse von Youtube-Daten können auch Instagram-Daten analysiert werden. Zu diesem Zweck müssen die Daten bei Instagram heruntergeladen werden: [[https://www.instagram.com/download/request/|Download-Tool]] (HTML wählen).
 +  - Lädt diese Daten herunter, entpackt sie und untersucht die heruntergeladenen Daten. Die HTML-Dateien sind miteinander verlinkt und können so navigiert werden.
 +  - Kopiert den Code unten in TigerJython und passt den Pfad zum entpackten Ordner oben an. Das Programm funktioniert ähnlich wie die Analyse der Youtube-Watchlist. Es untersucht alle Dateien, und speichert die Zeit wie auch die Art der Handlung auf Instagram. Die Datei ``resultat.csv`` kann dann gleich analysiert werden wie die Youtube-Watchlist. 
  
 +=== Zu wenig Speicher beim Download ===
 +Win+E, auf Laufwerk C: navigieren und dort Ordner ''temp'' o.ä. erstellen. Dann können die Dateien dort gespeichert werden. **Achtung**: Unbedingt wieder löschen (Shift-Delete; oder Papierkorb leeren) vor Log-out. Dieser Ordner ist sonst für alle ersichtlich.
  
-===== 2. Note: Bewertete Analyse =====+<code python insta.py> 
 +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() 
 + 
 + 
 +</code> 
 +==== 2. Note: Bewertete Analyse: Abgabe 24. Mai 2021 ====
 Dokumentation der eigenen Analyse in einem PDF-Dokument, welches  Dokumentation der eigenen Analyse in einem PDF-Dokument, welches 
   - Eine Einleitung enthält, welche   - Eine Einleitung enthält, welche
-    * Beschreibt (Screenshot) woher die Daten kommen und wie diese aussehen+    * Beschreibt (Screenshot; Shortcut: ''PrtScr'' oder ''Alt+PrtScr'') woher die Daten kommen und wie diese aussehen
     * Beschreibt, welche Daten erhoben werden.     * Beschreibt, welche Daten erhoben werden.
   - Eine Frage formuliert, welche auf Grund von Excel-Analysen der eigenen Daten beantwortet kann.   - Eine Frage formuliert, welche auf Grund von Excel-Analysen der eigenen Daten beantwortet kann.
Line 317: Line 398:
     * BigData und sozialen Netzen im Allgemeinen.     * BigData und sozialen Netzen im Allgemeinen.
  
 +Bewertungskriterien:
 +   * Nachvollziehbarkeit der Ausführungen und Analysen
 +   * Dokumentation der Analysen (Erklärungen, Screenshots, etc.)
 +   * Ausführlichkeit der Analysen
 +   * Darstellung des Berichts
  
 +=== Tipps Word === 
 +  * ''PrtScr'' erstellt ein Bildschirmfoto  des ganzen Bildschirms in der Zwischenbalge (''CTRL''+''V'' zum Einfügen) 
 +  * ''Alt''+''PrtScrn'' erstellt ein Bildschirmfoto  des aktiven Fensters in der Zwischenbalge (''CTRL''+''V'' zum Einfügen) 
 +  * ''Win''+''PrtScrn'' erstellt ein Bildschirmfoto und speichert es im Bilder-Ordner von Windows 
 +  * ''Win''+''Shift''+''S'' öffnet einen Dialog um ein Bildschirmfoto aufzunehmen und einen Bereich auszuwählen und speichert es dann in der Zwischenbalge (''CTRL''+''V'' zum Einfügen)
 ===== Generelles Python ===== ===== Generelles Python =====
 === Module ==== === Module ====
  • lehrkraefte/ks/informatik-glf4-20_4blw.1617903461.txt.gz
  • Last modified: 2021/04/08 19:37
  • by Simon Knaus