Publicatie:Sociale media accounts als gestructureerde tekst opslaan met snscrape

Uit Cultureel Erfgoed Standaardentoolbox
Ga naar: navigatie, zoeken


Samenvatting

In het kader van het project Best practices voor de archivering van sociale media in Vlaanderen en Brussel werden verschillende tools getest om socialemediaplatformen te archiveren. Deze handleiding beschrijft de tool snscrape die gebruikt kan worden om de inhoud van sociale media accounts op te slaan als machineleesbare tekst.


Referentie
Titel Sociale media accounts als gestructureerde tekst opslaan met snscrape (Voorkeurstitel)
Locatie
Uitgever
Jaar van uitgave 2021
Rechten CC-BY-SA
Persistent ID


Snscrape is opensourcesoftware om de inhoud van sociale media binnen te halen in een gestructureerd tekstformaat.

Snscrape kan volgende sociale media scrapen:

  • Twitter:
    • thread;
    • search;
    • user;
    • hashtag;
    • posts;
    • profiel;
    • user.
  • Telegram channel.
  • Weibo user.
  • VKontakte user.
  • Instagram:
    • user;
    • hashtag;
    • location.
  • reddit:
    • user;
    • subreddit;
    • search.

Enkel de inhoud van publieke posts kan opgehaald worden.

Vereisten

  • Python 3.8 of hoger: je kan je controleren of je Python hebt, en de versie, via het commando python -V
  • git: je kan controleren of je git hebt, via het commando git --version

Voordelen

  • werkt op Windows, macOS en Linux;
  • geschikt voor Twitter en Instagram;
  • geautomatiseerd;
  • gebruikt geen API’s, waardoor de software niet afhankelijk is van hun beperkingen.

Nadelen

  • het outputformaat JSON Lines is geen standaardformaat, maar is via een script om te zetten naar CSV;
  • haalt enkel tekstuele inhoud op, geen media;
  • sinds maart 2021 blokkeert Facebook deze tool waardoor het niet voor dit platform gebruikt kan worden;
  • comments op berichten worden niet mee opgehaald.

Workflow

Stap 1: installeer snscrape

Snscrape wordt geïnstalleerd via pip, de Python package manager.

  • Open een terminalvenster.
  • Typ in het venster: pip3 install snscrape.
  • Upgrade snscrape naar de laatste versie: pip3 install --upgrade git+https://github.com/JustAnotherArchivist/snscrape@master.

Snscrape is nu goed geïnstalleerd.

Stap 2: download de inhoud in een tekstbestand

Snscrape slaat alle tekst van een sociale media account op in het formaat JSON Lines.

  • Open een terminalvenster.
  • Zoek de naam van je account. Dit is de tekst die verschijnt achter facebook.com/, twitter.com/ en instagram.com/. Voor de Facebook en Twitter van bv. meemoo is dit repectievelijk meemoo.be en meemoo_be.

Snscrape 1.png

  • Typ in het terminalvenster het commando om de gegevens op te slaan in een tekstbestand. In de voorbeelden hieronder noemen we dit bestand output.jsonl, maar je kan dit een naam naar keuze geven.
    • Voor een Facebook-pagina: snscrape --jsonl --progress facebook-user naam > output.jsonl (vervang naam door de naam het van het account).

Snscrape 2.png

  • Voor een Twitter-account: snscrape --jsonl --progress twitter-user naam > output.jsonl (vervang naam door de naam het van het account).

Snscrape 3.png

  • Voor een Instagram-account: snscrape --jsonl --progress instagram-user naam > output.jsonl (vervang naam door de naam het van het account).

Snscrape 4.png

  • De voortgang zal verschijnen in de terminal.

Resultaat

Je hebt de volledige tekstuele inhoud van het sociale media account opgeslagen in een JSON Lines-bestand met o.m. de URL, datum en tijd van publicatie en content van de berichten op de socialemediapagina.

Snscrape 5.png

De volledigheid van het tekstbestand kan je controleren door de datums te bekijken in het tekstbestand. De bovenste lijn is de meest recente, de onderste lijn het oudste bericht. Ga na of het oudste bericht overeenkomt met het oudste bericht op de webpagina.

Troubleshooting

snscrape geeft een error bij het ophalen van data van Facebook

Eind maart 2021 werd vastgesteld dat Facebook snscrape blokkeert (issue #208). Tot zolang de developers achter snscrape dit niet hersteld hebben, kan deze handleiding niet gebruikt worden voor Facebook. Je kan wel proberen Facebook te archiveren met enkel Browertrix. Bekijk hiervoor de handleiding Sociale media archiveren met Browsertrix.

SyntaxError: invalid syntax of NameError: name `snscrape` is not defined op Windows

Deze error betekent dat Windows het programma snscrape niet vindt op je computer. Je kan dit oplossen door het commando aan te passen. In plaats van snscrape [rest van commando] gebruik je python -m snscrape [rest van commando]

voorbeeld: python -m snscrape twitter-user meemoo_be > naam.txt

snscarpe: the term `snscrape` is not recognized as the name of a cmdlet, script file, or operable program in Windows PowerShell

Deze error betekent dat PowerShell het programma snscrape niet vindt op je computer. Je kan dit oplossen door het commando aan te passen. In plaats van snscrape [rest van commando] gebruik je python -m snscrape [rest van commando]

voorbeeld: python -m snscrape twitter-user meemoo_be > naam.txt