Commit 94320064 authored by Florian Rämisch's avatar Florian Rämisch
Browse files

Add initial version of pyg article

parent ebd3f988
# pyg - passable youtube grabber
## Wie ist die Idee zu XXX entstanden?
Im Jahr 2018 haben wir begonnen in unserer Forschungsgruppe (diggr) die Kommentarspalten von Youtube-Videos sowie Netzwerke von Youtubern zu analysieren um mehr über die Rezeption von Videospielen zu erfahren. Genauergesagt wurde "pyg" entwickelt um uns die Forschungsarbeit zu erleichtern, und insbesondere die zu dem Zeitpunkt technisch weniger versierten Forscher*innen zu ermächtigen eigenständig und automatisiert Daten von Youtube abzurufen.
## Wer sollte XXX benutzen?
Jede*r Forscher*in die sich mit Youtubern, deren Videos, Rezeption und Netzwerken im weitesten sinn befasst kann mit "pyg" eventuell Teile der Datenerhebung erheblich vereinfachen oder beschleunigen.
Leider muss man an dieser Stelle aber direkt auch einige einschränkende Dinge erwähnen. Einerseits kann sich der abrufbare Umfang der Daten täglich ohne Angabe von Gründen oder Vorwarnung ändern. Insbesondere für Forschungsanliegen die auf einer längerfristige Datenerhebung angewiesen sind (z.B. um Schwankungen/Trends/... zu analysieren) sollten damit klarkommen, wenn nach einem Bruchteil des Erhebungszeitraums keine Erhebung mehr möglich ist.
## Wie funktioniert pyg?
Zunächst einmal benötigt jede Nutzer*in einen API-Key für die Youtube-API. Diese Zeichenkette (eine Art Passwort) ist die Voraussetzung die Youtube-API überhaupt nutzen zu können. Dieser Key muss bei jeder Anfrage an die Youtube-API mitgeschickt werden. Damit lassen sich nicht durch die Herausgeber (Google) nicht nur Anfragen einem bestimmten Account/Key zuordnen, sondern Limitierungen was Anzahl und Umfang der Anfragen angeht einschränken.
### a) für den Nutzenden,
Entsprechend der von Google bereitgestellten Anleitung[1] beschafft man sich einen API Key. Anschließend kann es auch schon mit der Installation des Programms losgehen, diese gestaltet sich allerdings üblicherweise recht einfach und ist in wenigen Sekunden erledigt[2].
Nun kann es eigentlich auch schon losgehen mit der erstellung des ersten Projekts. *pyg* hat keine grafische Benutzeroberfläche, sondern wird ausschließlich über die Kommandozeile aufgerufen aber über Textdateien konfiguriert, d.h. man kann den Texteditor der eigenen Wahl benutzen (Hinweis: Microsoft Word/LibreOffice/... sind Textverarbeitungsprogramme und keine einfachen Texteditoren und daher nicht geeignet).
Um Youtube-Channel zum herunterladen vorzumerken, werden die Channel IDs in die von *pyg* erstellte Datei *channels.yml* eingetragen. Mit dem nächsten Aufruf des Programms werden alle dort enthaltenen Channel dann automatisch heruntergeladen.
```yaml
main_group:
- channel/UCdQHEqTxcFzjFCrq0o4V7dg
- channel/UCI06ztiuPl-F9cSXsejMV8A
other_group:
- channel/UCZzPA6tCoQAZNiddpE-xA_Q
```
*pyg* lädt lediglich Metadaten herunter, und bereitet diese zur Weiterverarbeitung z.B. in elasticsearch auf. Damit bleiben die heruntergeladenen Datensätze relativ kompakt. Dadurch das *pyg* keine Werkzeuge zur Analyse mitbringt muss diese mit Hilfe eines anderen Programms erfolgen. Wir haben dazu einen Export nach Elasticsearch eingebaut, aber auch andere Exportformate sind denkbar, allerdings derzeit nicht implementiert.
### b) für die Entwickler*in
Das Programm befindet sich mit Dokumentation und Quelltext auf github und kann dort von jeder und jedem heruntergeladen und entsprechend der Freiheiten welche die GNU General Public License einräumt modifiziert, vertrieben, etc. werden.
Das Programm ist vollständig in Python (>3.5) implementiert und benutzt ansonsten noch YAML (für die Konfiguration) und Elasticsearch (für den Datenexport) als weitere Technologien.
## Welche weiteren Entwicklungen sind geplant?
Da wir mit größten Schritten auf das Projektende zugehen wird es von unserer Seite aus leider keine weiteren Updates der Software geben. Sollte es interessierte Menschen geben, die die Software maintainen möchten, sollte sie mit dem Bereich Digitale Dienste der Universitätsbibliothek Leipzig in Kontakt treten.
[1] Youtube API Keys https://developers.google.com/youtube/v3/getting-started
[2] Installationsanleitung https://github.com/diggr/pyg
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment