Eksport fra Twitter

Om hvordan jeg laget mitt eget tweetarkiv.

Etter Instagram og Facebook har tiden kommet for å hente ut dataene mine fra Twitter. Målet mitt er å gjøre det samme som jeg gjorde med Facebook: Sette opp et arkiv på nettstedet mitt som inneholder alt jeg har lagt ut på Twitter siden jeg begynte å bruke det i 2010.

Hvorfor? Det er ikke akkurat mye å være stolt av her, og tweets fungerer dårlig utenfor konteksten de ble skrevet i. Men jeg gjør det litt på trass, litt for moro skyld, og litt fordi jeg har en indre arkivar i hodet mitt som ikke liker at ting bare forsvinner fra nettet. Gamle tweets blir ikke akkurat borte, men de ligger gjemt bak et kronglete søkegrensesnitt. I praksis er Twitter og Facebook sorte hull for omverden. Og en dag i framtiden vil det kunne skje med Twitter som med MySpace, at de selges til noen som ikke ser verdi i å holde gamle data levende.

På samme måte som med Facebook, er det lett å bestille et arkiv fra Twitter som er egnet for din egen personlig bruk. Det er bare å gå inn på Settings and privacy -> Your account -> Download an archive of your data. Kort tid senere kan du laste ned en fil med alt Twitter vet om deg.

Hvis du derimot ønsker å publisere arkivet, må du gjøre litt mer med det. Dataene er i JSON-format, så jeg skrev et Python-script som går gjennom alle tweetene og konverterer dem til den Markdown-baserte filstrukturen i Hugo, løsningen jeg kjører nettstedet mitt på. Dette var lettere enn det var for Facebook. Facebook gir deg JSON-data som er svært dårlige. Jeg ble nødt til å opprette en Facebook utviklerkonto slik at jeg kunne hente det jeg trengte rett fra API-et deres. Twitters JSON-eksport er bedre.

Men den har noen huller. Her er et eksempel hvor jeg har retweetet en artikkellink fra teknologikontoen minhovedkontoen min:

Skjermbilde fra Twitter

Når jeg åpner et slikt innlegg i Twitters eksportfil, får jeg ikke se utdraget eller bildet fra artikkelen. Og fordi det er en retweet, får jeg heller ikke se mer enn de første 140 tegnene i tweeten. Eksporten forteller meg ikke hvilken tweet som har blitt retweetet. Da blir resultatet slik:

Skjermbilde fra Twitter-eksport

Det er ingen grunn til at det skal være slik. Det er lett å inkludere slike data i en eksport. Twitter har bare ingen interesse av å hjelpe deg med å ta med deg dataene dine. Derfor gjør de bare det de må, og litt til.

For å fylle disse hullene kunne jeg gjort som jeg gjorde med Facebook: Gått direkte mot API-et deres. Det har jeg latt være å gjøre, fordi resultatet ellers er bra nok til at jeg ikke gidder å gjøre mer. Jeg kan uansett linke til originalen, og da er det ikke så farlig.

Du finner hele Twitter-arkivet mitt her. Hvis du vil gjøre det samme selv, kan du bruke Python-scriptet mitt som utgangspunkt, men du må nok jobbe litt med det for å få det slik du vil ha det. Dette er ikke lett. Twitter vil ikke at det skal være lett.