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
Last revision Both sides next revision
lehrkraefte:ks:informatik-glf4-20_4blw [2021/04/08 19:39]
Simon Knaus
lehrkraefte:ks:informatik-glf4-20_4blw [2021/05/21 07:43]
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. Als Einführung zu Tails  ggf. [[https://media.ccc.de/v/pw20-342-tails|CCC Tails]] anschauen. 
 + 
 +== 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 ==== ==== L9-L10: Datenanalyse ====
 === Ziel === === 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 / europä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.txt
  • Last modified: 2022/01/07 13:26
  • by Simon Knaus