Publicatie:YouTube comments archiveren met youtube-comment-downloader

Uit Cultureel Erfgoed Standaardentoolbox
Naar navigatie springen Naar zoeken springen


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


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


Windows

Installatie Python Windows


Installatie youtube-comment-downloader zonder git

Chrome G7ie2uQOd3.png

  • 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

ApplicationFrameHost 63mG8ma7Ne.jpg

  • In het "Run" of "Uitvoeren" venster vul systempropertiesadvanced in en druk op enter.

Systempropertiesadvanced.jpg

  • Klik op "Omgevingsvariabelen" in het volgende venster, "Systeemeigenschappen".

Systeemeigenschappen windows 10.jpg

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

Systempropertiesadvanced edit path.png

  • Navigeer naar de installatiefolder van youtube-comment-downloader, klik op ok wanneer de folder is geselecteerd.

SystemPropertiesAdvanced folder selecteren.png

  • Het python script van youtube-comment-downloader, downloader.py is nu vanuit elke map uitvoerbaar in de command line op Windows.

Mac Os X

Python dient geïnstalleerd te zijn alvorens gebruik te kunnen maken van youtube-comment-downloader. Is python 3 nog niet aanwezig op je systeem begin hieronder. Brew, git en python al geïnstalleerd? Start hier: #Ik_heb_brew,_git_en_python_al.

Installatie Python Mac Os X


Installatie Youtube-comment-downloader

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

Ik heb brew, git en python al

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

Linux

Begin met na te gaan of python 3 is geïnstalleerd op je systeem door het volgende commando uit te voeren in de terminal python3 --version. De respons zou Python3 3.x.x moeten zijn. Als je Python 3 al hebt geïnstalleerd start hier #.

Installatie Python 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 of pip3 -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.

Screenshot youtube video url.png

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

Ubuntu youtube-comment-downloader.png

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>