Publicatie:Sociale media archiveren met Browsertrix
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 Browsertrix die gebruikt kan worden voor Facebook en Instagram.
Titel | Sociale media archiveren met Browsertrix (Voorkeurstitel) |
Locatie | |
Uitgever | |
Jaar van uitgave | 2021 |
Rechten | CC-BY-SA |
Persistent ID |
Browsertrix is een crawler waarmee websites gecapteerd kunnen worden met behulp van geautomatiseerde browsers. De geautomatiseerde browsers kunnen zowel complex gedrag uitvoeren (bv. autoscrollen en media afspelen) als meerdere websites en webpagina's gelijktijdig capteren. Het is ook mogelijk om profielen aan te maken waarmee je kan inloggen in websites die met een wachtwoord beveiligd zijn. Dit maakt Browsertrix geschikt om sociale media te archiveren.
Vereisten
- Docker;
- Docker-Compose;
- Python 3.6 of hoger;
- geen schrik van de command line.
Voordelen
- draait op Windows, macOS en Linux;
- archiveert sociale media in het standaardformaat WARC;
- geautomatiseerd;
- archiveringsproces kan gevolgd worden via een browser;
- door het aanmaken van profielen kan je de crawler laten inloggen in socialemediaplatformen;
- via een webinterface kan gearchiveerde content geraadpleegd worden i.f.v. kwaliteitscontrole;
- via de webinterface is full-text search in gearchiveerde webpagina’s mogelijk;
- crawlopdrachten kunnen verfijnd worden via een configuratiebestand.
Nadelen
- zowel de installatie van de software als de creatie van crawls en inlogprofielen verlopen via de command line;
- geen controle over het archiveringsproces waardoor je niet weet of de socialemediapagina volledig gearchiveerd werd;
- het geautomatiseerd gedrag werkt niet altijd goed;
- creëert weinig metadata, enkel URL en tijdstempel van captatie;
- crawls kunnen enkel opgestart worden via een configuratiebestand in YAML;
- beperkte documentatie beschikbaar en niet bugvrij.
Workflow
Stap 1: installeer de software
Zorg dat Python 3.6 of hoger, Docker en Docker Compose geïnstalleerd zijn op je computer en dat Docker actief is, voordat je Browertrix installeert.
- Haal de code van Browsertrix op door
git clone https://github.com/webrecorder/browsertrix
in te geven in de terminal of door ze te downloaden. Pak de map uit indien je de code gedownload hebt.
- Open een terminalvenster en navigeer naar de Browsertrix-map via het commando
cd pad/naar/browsertrix
(vervangpad/naar/browsertrix
door het juiste pad voor de Browsertrix-map). Als de map op je Desktop staat, dan is het commando:- voor Windows:
cd c:\Users\(username)\Desktop\browsertrix
(vervang (username) door je gebruikersnaam); - voor macOS:
cd ~/Desktop/browsertrix
.
- voor Windows:
- Installeer de Browsertrix command line interface door in de terminal het commando
python3 setup.py install
in te voeren.
- Vervolgens kan je via het commando
./install-browsers.sh
extra virtuele bowsers installeren die door Browsertrix gebruikt worden bij het crawlen.
- Laat Docker de Browsertrix-omgeving bouwen via het commando
docker-compose build
.
Stap 2: start de software
- Ga verder in het terminalvenster van stap 1. Geef het commando
docker-compose up -d
in om Browsertrix op te starten
Vanaf het moment dat Browsertrix opgestart is, kan Browsertrix gebruikt worden om websites te archiveren.
Via https://localhost:8000 kan de Browsertrix-webinterface geconsulteerd worden. Dit kan je gebruiken om de voortgang van je crawls op te volgen. De interface is nog in ontwikkeling en kent enkele bugs.
Stap 3: creëer een profiel
Om websites te archiveren die beveiligd zijn met een wachtwoord (zoals sociale media) kan je een profiel aanmaken. Op deze manier wordt ook vermeden dat deze privacygevoelige gegevens opgenomen worden in een WARC-bestand. Voor Facebook en Instagram is het noodzakelijk om in te loggen om goed de lay-out te archiveren.
Om een profiel te maken:
- Voer je het commando
browsertrix profile create
in een terminalvenster. - Vervolgens zal er een browser openen. Deze kan je gebruiken om te navigeren naar de websites die je wil capteren en inloggen.
- Inloggen in Facebook kan voor wat problemen zorgen. Volg deze stappen om dit succesvol te doen:
- Ga naar https://www.facebook.com en log je in.
- Je zal een bericht krijgen dat het niet gelukt is.
- Ga naar https://m.facebook.com en log in.
- Ook nu kan het gebeuren dat je een bericht krijgt dat het niet gelukt is. Herlaad de pagina en log opnieuw in.
- Je bent ingelogd op de mobiele versie van Facebook. Als je nu terugkeert naar https://www.facebook.com zal je merken dat je nog steeds ingelogd hebt. Het inloggen is gelukt!
- Nadat je overal ingelogd bent, is het belangrijk om de cache-inhoud te verwijderen. Indien je dat niet doet, zal Browsertrix de gecachte content niet mee archiveren.
- Klik hiervoor op de drie puntjes in de Chrome-browser rechtsboven en kies voor Settings.
- Kies voor Advanced.
- Scroll naar beneden tot je Clear browsing data tegenkomt.
- Vink Browsing history en Cached images and files aan. Het is belangrijk dat Cookies and other site data niet aangevinkt is!
- Daarna ga je terug naar je terminalvenster. Geef een naam aan het profiel en druk <enter>.
- Het profiel is aangemaakt. Je kan kiezen om een nieuw profiel te maken door ‘Y’ in te geven of te stoppen via ‘N’. Als je stopt, kan je de browser nu sluiten.
Je bent nu klaar om dit profiel te gebruiken bij het archiveren van een website. Met dit profiel kan je nu telkens inloggen om een of meerdere accounts naar keuze te archiveren.
Hou het terminalvenster open voor stap 5.
Stap 4: maak een configuratiebestand
Crawls worden gemaakt via een configuratiebestand in het YAML-formaat. Informatie over de verschillende mogelijkheden vind je in de Browsertrix-documentatie.
Download het configuratiebestand voor het type account dat je gaat archiveren:
- configuratiebestand Facebookpagina;
- configuratiebestand Facebookgebruiker;
- configuratiebestand Instagram.
Open het configuratiebestand met Teksteditor of Kladblok en pas een aantal gegevens aan:
- name: vul hier een naam in voor je crawl;
- coll: vul hier dezelfde naam in als de naam voor je crawl;
- seed_urls: wijzig de URL’s naar je pagina’s die je wil capteren.
Stap 5: start een crawl
Vervolgens start je de crawl. Hiervoor moet je terug de terminal gebruiken.
- Gebruik het commando
browsertrix crawl create configuratie.yaml --profile profiel --watch
. Vervang configuratiebestand.yaml door het pad of naam van je configuratiebestand en profiel door de naam van het profiel dat je in Stap 2 aangemaakt hebt. De optie--watch
zorgt ervoor dat er een browservenster geopend wordt waarin je de geautomatiseerde crawl kan volgen.
- Je ziet de browser van post naar post gaan of doorheen de pagina scrollen en media openen.
- Als Browsertrix blijft hangen of bepaalde delen niet capteert, kan je zelf tussenkomen. Bij Instagram vergeet Browsertrix soms de individuele posts te openen. Door zelf een post te openen in de browser, maak je Browsertrix attent op de individuele posts en begint de tool zelf de posts te openen.
Stap 6: controleer de crawl
Wanneer Browsertrix klaar is met de crawl, kan je in de webinterface de kwaliteit van de crawl controleren.
- Surf naar http://localhost:8000.
- Klik op de naam van je crawl.
- Open een pagina naar keuze en controleer de kwaliteit:
- openen alle berichten?
- is de media afspeelbaar?
Stap 7: voeg de verschillende WARC-bestanden samen (optioneel)
Browsertrix creëert standaard verschillende WARC-bestanden tijdens een crawl. Om het gehele webarchief te openen in een WARC-player buiten Browsertrix, moet je de verschillende bestanden samenvoegen tot één WARC-bestand. Je kan dit doen met de tool warcat.
- Open een terminalvenster en installeer warcat met het commando
pip3 install warcat
. - Zoek de WARC-bestanden in de Browsertrix-map. Je vindt ze in de map webarchive > collections > naam van collectie > archive.
- Maak een mapje met de naam WARC op je bureaublad en kopieer hierin de verschillende WARC-bestanden van Browsertrix.
- Open een terminalvenster en ga via de terminal naar je bureaublad:
- in Windows gebruik je het commando:
cd c:\Users\(username)\Desktop
(vervang (username) door je gebruikersnaam); - in macOS is dit via het commando:
cd ~/Desktop
.
- in Windows gebruik je het commando:
- Vervolgens typ je in de terminal het commando om van de verschillende WARC-bestanden één WARC-bestand te maken:
- op Windows:
python3 -m warcat --output output.warc.gz --force-read-gzip --gzip --progress concat WARC\*
; - op macOS:
python3 -m warcat --output output.warc.gz --force-read-gzip --gzip --progress concat WARC/*
.
- op Windows:
- Zodra warcat klaar is, moet er op je bureaublad een bestand output.warc.gz verschijnen. Je kan dit bestand een betere naam geven en vervolgens het mapje WARC verwijderen.
Resultaat
Het webarchief kan nu geopend worden WARC-players zoals ReplayWeb.page. Ga naar https://replayweb.page en open je WARC-bestand.
Troubleshooting
browsertrix: the term `browsertrix` is not recognized as the name of a cmdlet, script file, or operable program in Windows PowerShell of command prompt
Deze error betekent dat PowerShell/Command prompt het programma Browsertrix niet vindt op je computer. Je kan dit oplossen door het commando aan te passen. In plaats van browsertrix [rest van commando]
gebruik je python -m browsertrix [rest van commando]
voorbeeld: python -m browsertrix crawl create configuratie.yaml --profile profiel --watch