Publicatie:Facebook groepen archiveren

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 verschillende sociale media platformen te archiveren.
Deze publicatie beschrijft hoe Facebook groepen te archiveren met snscrape en wget.


Referentie
Titel Facebook groepen archiveren (Voorkeurstitel)
Locatie
Uitgever
Jaar van uitgave 2020
Rechten
Persistent ID


Facebook groepen archiveren.



Publieke Facebook groepen archiveren

Op 4 november 2020 stelden we vast dat onderstaande methode via snscrape niet meer werkt. We vermoeden dat Facebook iets gewijzigd heeft aan zijn achterliggende code.

Gebruikte Tools:

Voorbereiding:

Navigeer naar de Facebook groep en kopieer de naam van de groep zoals die in de adresbalk staat.

Dit kan een series van cijfers zijn of een relevante naam maar staat altijd na het /groups/ gedeelte van de URL.

Facebook groep url.jpg

We hebben de exacte naam of ID van de Facebook groep nodig in de volgende stap.

URL scrapen met snscrape

Snscrape wordt gebruikt om aan de hand van het facebook groep ID een lijst van URLs te scrapen naar een tekstbestand.

snscrape facebook-group talkgent >/home/jouwgebruikersnaam/snscrape/TALK-Gent.txt
Snscrape gaat starten met het scrapen van URLS, het >/home/jouwgebruikersnaam/snscrape/TALK-Gent.txt gedeelte gaat een tekstbestand maken in de map /home/jouwgebruikersnaam/snscrape/ met TALK-Gent.txt als bestandsnaam.

Ophalen van content

Voor het volgende deel gebruiken wget om de content achter de URLS op te halen. Commando:
wget -i \
/home/jouwgebruikersnaam/snscrape/talk-gent.txt \
--warc-file=talk-gent \
--warc-cdx \
--page-requisites \
--html-extension \
--convert-links \
--execute robots=off \
--user-agent=Mozilla \
- --random-wait \
--wait=2 \
Overlopen van de opties in het wget commando.

  • -i of --input: Lees URL's uit een lokaal of extern bestand, vereist een adres naar het gekozen bestand.
  • --warc-file=talk-gent: Creëer een .warc file om later uit te openen in webrecorder, met naam talk-gent
  • --warc-cdx: Instrueert wget om een bijpassend index bestand te maken voor het talk-gent.warc bestand. Het CDX-bestand bevat een lijst met de records en hun locaties in de WARC-bestanden
  • --page-requisites: Deze optie zorgt ervoor dat Wget alle bestanden downloadt die nodig zijn om een HTML pagina correct weer te geven. Dit omvat zaken als inline afbeeldingen, geluiden en stijlbladen waarnaar wordt verwezen.
  • --html-extension: Deze optie voegt de .html extensie toe waar nodig.
  • --convert-links: Nadat het downloaden is voltooid, converteert wget de links in het document om ze geschikt te maken voor lokaal gebruik. Dit heeft niet alleen invloed op de zichtbare hyperlinks, maar op elk deel van het document waarnaar wordt gelinkt, externe inhoud, zoals ingesloten afbeeldingen, links naar style sheets, hyperlinks naar niet-HTML-inhoud, enzovoort.
  • --execute robots=off: Deze optie instrueert wget de richtlijnen van de robots.txt op de website te negeren. Wget volgt standaard strikt de robots.txt-richtlijnen van een website. In bepaalde situaties kan dit ertoe leiden dat Wget helemaal niets download, wanneer het robots.txt-bestand Wget bijvoorbeeld geen toegang geeft tot de site.
  • --user-agent=Mozilla: Zorgt er voor dat wget zich gaat voor doen als een Mozilla web-browser. Sommige websites weren standaard verzoeken afkomstig van de wget tool.
  • --random-wait: Wacht een willekeurig aantal seconden, tussen de 5s en 10s, voor het volgende verzoek naar de website.
  • --wait=2: Wacht een vast aantal seconden tussen verzoeken naar de website. De laatste twee opties zijn er om te vermijden de server van de website niet overbelast wordt door wget.

Private Facebook groepen archiveren

Under construction