Dies ist eine alte Version des Dokuments!


Facebookdaten/Freunde in JSON exportieren und weiter verarbeiten

Manchmal kann es notwendig sein das man z.B. seine Freundesliste in Face wo bequem weiterbarbeiten möchte. Hierfür hat Facebook eine etwas versteckete Funktion wo man seine Daten im JSON und HTML Format exportieren kann. Der HTML Export ist für diese Zwecke unbrauchbar, deshalb verwenden wir hier JSON.

Als erstes muss man die gewünschte Datei anfordern. Hierfür begibt man sich zu volgenden Punkten:

  1. Rechts oben Account „Pfeil nach unten“ klicken
  2. Einstellungen
  3. Linke Spalte, dritter Punkt „Deine Facebook Informationen“
  4. Dann auf der Seite auf „Deine Informationen herunterladen“ auf „Ansehen“ klicken.

Auf der darauf folgenden Seite können jegliche Listen exportiert werden. Wir machen hier nur bei „Freunde“ ein Häckchen.

Weiters wählen wir wie am Screehshot ersichtlich „Format: JSON“ aus. Nund noch auf den rechten blauen Button „Datei erstellen“ klicken. Ihr werden von Facebook benachrichtigt wenn die Datei zum Download bereit ist.

Der Export sieht nun so aus und kommt bereits sortiert nach hinzugefügt.

{
  "friends": [
    {
      "name": "Maxi Test1",
      "timestamp": 1533448433
    },
    {
      "name": "Peter Test2",
      "timestamp": 1233446851
    },
    {
      "name": "Michael Test3",
      "timestamp": 1133245024
    },
    {
      "name": "Klaudia Test4",
      "timestamp": 1333152001
...

So sind die Namen gelistet. Um das ganze nun zu sortieren bedient man sich dem Bordwerkzeug „grep“. Eine brauchbare Liste bekommt wenn man nur den Namen raus filtert.

grep name friends.json > freundeslist.txt

Raus kommt dann eine Textdatei:

"name": "Maxi Test1",
"name": "Peter Test2",
"name": "Michael Test3",
"name": "Klaudia Test4",
...

Kann man natürlich noch bliebig weiter filtern und sortieren. Z.B. nach Timestamp umgekehrte Reihefolge. Hilfe schafft das kleine Phytonscript von Simon, vielen Danke dafür.

sort.py
import json
import sys
 
data = open(sys.argv[1], 'r')
 
j_content = json.load(data)
j_sorted = sorted(j_content["friends"], key=lambda x: x["timestamp"])
prettyjson = json.loads(json.dumps(j_sorted))
print(json.dumps(prettyjson, indent=4))

Beispiel der Anwendung:

python sort.py friends.json