Publicatie:YouTube comments archiveren met youtube-comment-downloader
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 de open source tool youtube-comment-downloader om YouTube comments te archiveren. De code van websites en de code van de tools veranderd constant, het is daarom mogelijk dat op een bepaald moment bepaalde workflows niet meer werken.
Titel | YouTube comments archiveren met youtube-comment-downloader (Voorkeurstitel) |
Locatie | |
Uitgever | |
Jaar van uitgave | 2021 |
Rechten | CC-BY-SA |
Persistent ID |
Youtube-comment-downloader is een command line interface tool om YouTube comments te archiveren zonder gebruik te maken van de YouTube API en de limitaties daarvan. De systeemvereisten zijn een installatie van Python.
Installeer Python
Open je command line (Powershell of cmd.exe op Windows, Terminal op macOS). Typ python -V
of python3 -V
in het venster en druk op Enter. Indien je als resultaat niet de versie van je pythoninstallatie krijgt, dan moet je python nog installeren.
Volg deze handleiding op CEST om python op Windows te installeren, deze handleiding om python op macOS te installeren of deze om op Linux te installeren.
Installeren op Windows
Installatie youtube-comment-downloader zonder git
- Ga naar https://github.com/egbertbouman/youtube-comment-downloader en klik op de groene "↓ Code" knop, Selecteer "Download ZIP".
- Download het bestand naar een logische plaats, bijvoorbeeld /User/Documents/tools/ en pak het zip archief uit.
- Er staat nu een map "youtube-comment-downloader" in de map "tools", open de map "youtube-comment-downloader".
- Klik rechtsboven in Explorer op "Bestand" of "File" en selecteer "Open Windows Powershell"
- Kopieer en plak dit commando
python.exe -m pip install --upgrade pip
in het nieuwe Windows Powershell venster. Het zal er voor zorgen dat de package manager van python wordt geüpdatet. - Vervolgens moeten de dependencies van youtube-comment-downloader gedownload worden, kopieer en plak dit commando in het Windows Powershell venster
pip install -r requirements.txt
- Youtube-comment-downloader is nu geïnstalleerd!
Git en Python al geïnstalleerd? Start hier
- Open een Windows Powershell en navigeer naar de folder waar je Youtube-comment-downloader wilt installeren, bijvoorbeeld
\Users\gebruikersnaam\Documents\tools\
. - Download de code met
git clone https://github.com/egbertbouman/youtube-comment-downloader
. - Ga in de folder staan met
cd .\youtube-comment-downloader\
- Voer het volgende commando uit
python.exe -m pip install --upgrade pip
om de package manager van python the updaten. - Installeer youtube-comment-downloader en de dependencies met dit commando in het Windows Powershell venster
pip install -r requirements.txt
- Youtube-comment-downoader is nu geïnstalleerd.
Youtube-comment-downloader toevoegen aan Windows PATH
Het youtube-comment-downloader script "downloader.py" staat in dit voorbeeld onder C:\Users\gebruikersnaam\Documents\tools\youtube-comment-downloader\downloader.py\
dat houd in dat er telkens het pad naar het script moeten worden meegegeven in de commando's en daarna de opties van de tool. Of de gebruiker moet eerst navigeren naar de folder van het script om van daaruit het script te starten.
Het is mogelijk om dit te vermijden door het script toe te voegen aan het Windows PATH. "PATH is de systeemvariabele die door uw besturingssysteem wordt gebruikt voor het zoeken van benodigde uitvoerbare bestanden vanaf de opdrachtregel of vanuit een terminalvenster", https://java.com/nl/download/help/path_nl.html.
Deze stap is optioneel maar wordt in deze handleiding wel gebruikt, hou er rekening mee dat als je deze stap niet doet je het volledige pad naar het script moet ingeven om het script te gebruiken.
- Druk op windows toets + r
- In het "Run" of "Uitvoeren" venster vul
systempropertiesadvanced
in en druk op enter.
- Klik op "Omgevingsvariabelen" in het volgende venster, "Systeemeigenschappen".
- In het bovenste venster scroll tot je de entry "Path" vind, selecteer de lijn en klik op de knop Bewerken of Edit.
- Als het goed is gaat het venster "Omgevingsvariabelen aanpassen" open, klik hier eerst op Nieuw en vorvolgens op Bladeren.
- Navigeer naar de installatiefolder van youtube-comment-downloader, klik op ok wanneer de folder is geselecteerd.
- Het python script van youtube-comment-downloader,
downloader.py
is nu vanuit elke map uitvoerbaar in de command line op Windows.
Installeren op macOS
Brew, git en python al geïnstalleerd? Start hier. Al
Installatie Youtube-comment-downloader zonder git
- Ga naar https://github.com/egbertbouman/youtube-comment-downloader en klik op de groene knop rechtsboven "Code". Download de code als ZIP naar Documents/tools/ maak de map aan als die nog niet bestaat.
- Dubbelklik op het zip archief. Er zal een nieuwe subfolder aangemaakt worden met "youtube-comment-downloader" als naam.
- Open een nieuw terminal venster. CMD + SPACE, zoek naar "Terminal" en druk op ENTER.
- Kopieer en plak dit commando en voer het uit:
cd ~/Documents/tools/youtube-comment-downloader/
- Installeer de dependencies van youtube-comment-downloader met
pip install -r requirements.txt
- Youtube-comment-downoader is nu geïnstalleerd en klaar voor gebruik.
Installatie Youtube-comment-downloader met git
- Open een nieuwe terminal
- Navigeer naar de map waar je youtube-comment-downloader wilt installeren. Wanneer er nog geen folder bestaat, maak deze aan en open de nieuwe folder met het volgende commando uit te voeren
mkdir ~/Applications/tools/ && cd ~/Applications/tools/
, druk op enter. - Download de youtube-comment-downloader met code
git clone https://github.com/egbertbouman/youtube-comment-downloader
. - Navigeer naar de map met
cd youtube-comment-downoader
. - Voer het volgende commando uit om de package manager van python the updaten.
sudo pip install --upgrade pip
druk op enter. - Installeer youtube-comment-downloader vervolgens met
pip install -r requirements.txt
. - Youtube-comment-downoader is nu geïnstalleerd.
Youtube-comment-downloader toevoegen aan $PATH omgevingsvariabele (Optioneel)
Dit is handig maar optioneel, en zal er voor zorgen dat downloader.py uitgevoerd kan worden zonder het volledige pad mee te geven.
Uitgaande van het feit dat het Python script op deze plek staat /Users/gebruikersnaam/Documents/tools/youtube-comment-downloader/
. Dit is het geval als je het clone commando hebt uitgevoerd vanuit de "tools" folder.
Pas de commando's aan afhankelijk van de installatie locatie, vervang gebruikersnaam door eigen gebruikersnaam. (De gebruikersnaam vinden kan met whoami
, gevolgd door enter.
- Open een nieuw terminal venster, en plak dit
which python3
gevolgd door enter. De respons is normaal een pad van de python3 binary. - Verander de shebang in het python script zodat het verwijst naar naar de Python3 binary, kopieer en plak dit commando
sed -i '' "s/python/python3/g" ~/Documents/tools/youtube-comment-downloader/downloader.py
.
- Voer het volgende commando uit om een bash_profile bestand te maken, er zal niets worden aangepast als het bestand al beschikbaar is.
touch ~/.bash_profile
. - Voeg de youtube-comment-downloader folder toe aan de omgevingsvariabele, met het volgende commando:
sudo echo 'export PATH="~/Documents/tools/youtube-comment-downloader:$PATH"' >> ~/.bash_profile && source ~/.bash_profile
. - Kopieer en plak het volgende commando om het script uitvoerbaar te maken
sudo chmod +x ~/Documents/tools/youtube-comment-downloader/downloader.py
- Het script "downloader.py" is nu vanop elke plek in de terminal bruikbaar. Test dit met
cd && downloader.py -h
. De respons zou de help sectie moeten weergeven van de tool.
Installeren op Linux
Youtube-comment-downloader installeren
- Open een nieuw terminal venster met ctrl + alt + t.
- Navigeer naar de folder waar je de tool wilt installeren, bijvoorbeeld ~/home/jouwgebruikersnaam/bin/ creer en navigeer naar de volgende map dit commando
mkdir ~/home/jouwgebruikersnaam/bin/ && cd ~/home/jouwgebruikersnaam/bin/
. - Voer
git clone https://github.com/egbertbouman/youtube-comment-downloader
uit om de code van youtube-comment-downloader op te halen. - Navigeer naar de nieuwe subfolder met
cd youtube-comment-downoader
gevolgd door enter. - Voer
pip install -r requirements.txt
ofpip3 -r requirements.txt
uit om de tool te installeren. - Youtube-comment-downloader is nu geïnstalleerd.
Youtube-comment-downloader toevoegen aan $PATH omgevingsvariabele (Optioneel)
Het python script van het youtube-comment-downloader project zit nu in de map /home/jouwgebruikersnaam/bin/youtube-comment-downloader/downloader.py
.
Om te vermijden dat dit pad telkens volledig moet worden ingegeven bij het gebruik kan het script toegevoegd worden aan de omgevingsvariabele.
Dit houd in dat er een lijn moet toegevoegd worden aan het bashrc bestand en de eerste lijn (shebang) van het script wordt aangepast.
Alle commando's gaan er van uit dat de youtube-comment-downloader repository gecloned is in /home/gebruikersnaam/bin/, vervang dus "gebruikersnaam" met jouw gebruikersnaam.
- Open een nieuw terminal venster met ctrl + alt + t
- Voer dit commando uit
sed -i 's/python/python3/g' /home/jouwgebruikersnaam/bin/youtube-comment-downloader/downloader.py
- Vervolgens,
sudo echo 'export PATH="/home/jouwgebruikersnaam/bin/youtube-comment-downloader:$PATH"' >> ~/.bashrc && source ~/.bashrc
- En als laatste,
sudo chmod +x ~/bin/youtube-comment-downloader/downloader.py
.
Gebruik
Het Youtube-comment-downloader project bestaat uit een python script, downloader.py, het gebruik verloopt volgens het volgende patroon:
downloader.py [--youtubeid YOUTUBEID] [--output OUTPUT]
. Het "help" menu openen gaat met downloader.py -h
.
De originele documentatie is hier te vinden: https://github.com/egbertbouman/youtube-comment-downloader
Het YouTube ID is altijd het laatste deel van de YouTube video url.
--youtubeid YOUTUBEID
of -y YOUTUBEID
: Vervang "YOUTUBEID" met het id van van de youtube video.
--output OUTPUT.jsonl
of -o OUTPUT.jsonl
: Vervang OUTPUT hier met de gewenste titel van het .jsonl bestand.
Wanneer een YouTube video ID begint met een "/" gebruik de optie -y=-idwithdash
of --youtubeid=-
Voorbeelden:
Comments downloaden van deze YouTube video https://www.youtube.com/watch?v=75yKT3OuE44
, het ID is in dit geval 75yKT3OuE44
.
downloader.py -y 75yKT3OuE44 -o computerphile.jsonl
Een deel van de gearchiveerde comments in de vorm van jsonl.
{"cid": "Ugx0Gyc00tbk7QNizCF4AaABAg", "text": "I like this man, please more!", "time": "6 days ago", "author": "Linus Man", "channel": "UC_kqGlIF3qwvRD8_HGXnCVA", "votes": "5", "photo": "https://yt3.ggpht.com/ytc/AAUvwnh_hWZPQHlZcF7jBwg6_erzkVqlg1_XOuH4lQ=s48-c-k-c0xffffffff-no-rj-mo", "heart": false} {"cid": "UgzLL-SbcthoKRXuO0d4AaABAg", "text": "I've been using traceroute for 20 years and never actually knew how it worked, fascinating!", "time": "1 day ago", "author": "Rational Raven", "channel": "UC4dZG3D71TVakPRWWvx5QUw", "votes": "1", "photo": "https://yt3.ggpht.com/ytc/AAUvwnj1FA10zwNJ_GsZKMYJ5NjcTd85VXxoeAFhB3Mi=s48-c-k-c0xffffffff-no-rj-mo", "heart": false} {"cid": "Ugwoi6c_LceonkXjMud4AaABAg", "text": "Speaking of traceroute, hello from Lawrence Berkeley National Laboratory!", "time": "6 days ago (edited)", "author": "Michael Smitasin", "channel": "UCQostpfeegpBE8ouw13uYUw", "votes": "4", "photo": "https://yt3.ggpht.com/ytc/AAUvwnhJhfvoRieSdvqE0o1lD-MVIT2bAC2p51o7KP7STg=s48-c-k-c0xffffffff-no-rj-mo", "heart": false} {"cid": "Ugx6ydRpgB_-ia1D05V4AaABAg", "text": "Can we get the python code?", "time": "6 days ago", "author": "Eddy Bames", "channel": "UC7eZDo5sriiluRpx6UhIV8g", "votes": "25", "photo": "https://yt3.ggpht.com/ytc/AAUvwnhUDBmcBdyNIZbr4OVH2rXbk7wrfzKwN131Rg=s48-c-k-c0xffffffff-no-rj-mo", "heart": false} {"cid": "UgwVBRfCH7j3xPSomJV4AaABAg", "text": "Regarding the paths going through the US: there's almost certainly more and higher bandwidth cables running across the Atlantic, across the US and then across the Pacific than across Russia & China or Egypt/Suez & the Indian Ocean.", "time": "6 days ago", "author": "RonJohn63", "channel": "UCTMNOSp7-nzuK2f8LK0SAww", "votes": "11", "photo": "https://yt3.ggpht.com/ytc/AAUvwnjYk1_CQOP6wej1gxI84LFh58QrsuiBzMkekfcU=s48-c-k-c0xffffffff-no-rj-mo", "heart": false} {"cid": "UgwXbuL_Il1uiLlcyi94AaABAg", "text": "That classic 2D map scene really reminds me one of my favorite game ever .. uplink from introversion software ..", "time": "6 days ago", "author": "Andre Amorim", "channel": "UCilprwYUC_btSGxybDMNM7g", "votes": "17", "photo": "https://yt3.ggpht.com/ytc/AAUvwnil2V959n7mEYV3KCAVzr7_M3djHvoDx1h8ZsVNeq8=s48-c-k-c0xffffffff-no-rj-mo", "heart": false} </@re>