Ga verder naar de inhoud

Sociale media accounts als gestructureerde tekst opslaan met snscrape

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.

Disclaimer: Deze handleiding is gemaakt in februari 2021. Voor Twitter/X en Facebook werkt het ondertussen niet meer. Voor Facebook verwijzen we door naar Facebookaccounts als gestructureerde tekst opslaan via Facebook-scraper. Twitter/X is sinds de overname door Elon Musk moeilijk te scrapen. Merkt u dat er nog iets niet werkt? Mail dan Nastasia

----

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.

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.

  • 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.

  • Open een terminalvenster.
  • 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).

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

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

  • 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.

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

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

Licentie

  • CC-BY-SA

Medium

Collectie

Expertisedomein

Verwante software

Verwante standaarden

Deze pagina is laatst aangepast op 19 juni 2024

Deze pagina aanvullen of corrigeren?

Heb je aanvullingen of wil je iets rechtzetten? Dan kan je deze pagina makkelijk bewerken via onderstaande knop.