API-Access – YouTube

Digital behavioral data - Session 05

23.11.2022

Seminarplan

Sitzung Datum Thema Referent*Innen
1 26.10.2022 Kick-Off Session Christoph Adrian
2 02.11.2022 DBD: Einführung und Überblick Christoph Adrian
3 09.11.2022 DBD: Datenerhebung Christoph Adrian
4 16.11.2022 API-Access (I): Twitter Falk
5 23.11.2022 API-Access (II): YouTube Denisov
6 30.11.2022 API-Access (II): Reddit Landauer
7 07.12.2022 Webscraping: TikTok Brand & Kocher
8 14.12.2022 Exkurs: DBD Analyse mit R Christoph Adrian
WEIHNACHTSPAUSE
9 12.01.2023 ESM: m-path Dörr
10 19.01.2023 Data Donations Hofmann & Wierzbicki
11 26.01.2023 PUFFER
12 02.02.2023 Guest Lecture: Linking DBD & Survey data Johannes Breuer
13 09.02.2023 Semesterabschluss & Evaluation Christoph Adrian

Agenda

  1. 👥 Group Activity
  2. Beispielhafte Auswertungen
  3. Verständnis- & Diskussionsfragen

👥 Group Activity

Gruppenarbeit zu YouTube Data Tools

What is it an who made it

Hintergrundinformationen YouTube Data Tools (Rieder, 2015)

  • Sammlung von einfachen Modulen zur Extraktion von Daten aus der YouTube-Plattform über die YouTube-API v3.

  • Keine voll entwickelte Analysesoftware, sondern ein Mittel für Forschende, um Daten in Standarddateiformaten zu sammeln und in anderen Softwarepaketen weiter zu analysieren.

  • geschrieben, entwickelt und gepflegt von Bernhard Rieder (Universität Amsterdam)

And now … you!

Beispielhafte Nutzung

  1. Suchen Sie sich einen YouTube-Kanal aus, auf dem die folgenden Analysen basieren sollen
  2. Nutzen Sie die Channel Search des YTDT um die “korrekte” Channel ID zu identifizieren.
  3. Laden Sie mit Hilfe der Video List Seite/Funktion des YTDT eine Liste aller veröffentlichten Videos Ihres ausgewählten YouTube-Kanals herunter.

Optional:

  1. Suchen Sie mit Hilfe der heruntergeladenen Liste der veröffentlichten Videos das Video mit den meisten Likes/Comments.

  2. Downloaden Sie die Kommentare des Videos mit Hilfe der Video Info des YTDT.

Beispielhafte Auswertungen

Im Fokus: maiLab

Quarto Document Binder RStudio Binder Google Colab

Wissenschaftsjournalismus auf YouTube

HIntergrund zu maiLab

  • seit 2016 bestehende YouTube-Kanal (früher schönschlau) von Mai Thi Nguyen-Kim
  • ist Teil des funk-Netzwerks
  • behandelt diverse Themen aus den Bereichen Natur- und Gesellschaftswissenschaften

Zusammenspiel von YTDT & R

maiLab im Fokus: Datenimport mit R (1)

# Load packages
library(readr)
library(tidyverse)

# Import data
channel_list <- read_csv(
  here("content/05-api_access-youtube/data.local/channelsearch_channels50_2022_11_17-09_54_22.csv")
  )

# Preview data 
channel_list %>% glimpse()
Rows: 50
Columns: 10
$ position        <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,…
$ id              <chr> "UCyHDQ5C6z1NDmJ4g6SerW8g", "UC146qqkUMTrn4nfSSOTNwiA"…
$ title           <chr> "maiLab", "musstewissen Chemie", "mailab", "MAILab_메…
$ description     <chr> "Holt euch einen Tee, Freunde der Sonne, macht es euch…
$ publishedAt     <dttm> 2016-09-08 14:13:08, 2016-09-23 09:24:14, 2020-03-19 …
$ defaultLanguage <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ country         <chr> "DE", "DE", "DE", "KR", NA, NA, NA, NA, NA, "DE", NA, …
$ viewCount       <dbl> 127882489, 18039348, 21013, 5101, 11, 2, 2, 5004, 230,…
$ subscriberCount <dbl> 1480000, 190000, 146, 26, 0, 1, 1, 9, 9, 66300, 0, 2, …
$ videoCount      <dbl> 186, 45, 9, 104, 3, 1, 1, 24, 12, 51, 1, 6, 31, 1, 2, …

Mit Channel ID zur Video List

maiLab im Fokus: Datenimport mit R (2)

# Import data: video list
video_list <- read_csv(
  here("content/05-api_access-youtube/data.local/videolist_channel186_2022_11_17-10_20_11.csv")
  )

# Preview data 
video_list %>% glimpse()
Rows: 186
Columns: 23
$ position           <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, …
$ channelId          <chr> "UCyHDQ5C6z1NDmJ4g6SerW8g", "UCyHDQ5C6z1NDmJ4g6SerW…
$ channelTitle       <chr> "maiLab", "maiLab", "maiLab", "maiLab", "maiLab", "…
$ videoId            <chr> "IK5BZdnqMDU", "Mt50U4_ueR0", "-NMs56pQ9EE", "-9OvN…
$ publishedAt        <dttm> 2022-09-18 16:00:18, 2022-06-09 04:30:04, 2022-05-…
$ publishedAtSQL     <dttm> 2022-09-18 16:00:18, 2022-06-09 04:30:04, 2022-05-…
$ videoTitle         <chr> "Das Ende der Homöopathie | MAITHINK X", "Affenpock…
$ videoDescription   <chr> "Der vielleicht größte Abwasserskandal aller Zeiten…
$ tags               <chr> "Mai Thi Nguyen-Kim,Mai Thi,mai,nguyen,mailab,lab,m…
$ videoCategoryId    <dbl> 28, 28, 28, 28, 22, 28, 22, 22, 22, 27, 22, 22, 28,…
$ videoCategoryLabel <chr> "Science & Technology", "Science & Technology", "Sc…
$ duration           <chr> "PT31M57S", "PT13M39S", "PT15M21S", "PT12M6S", "PT1…
$ durationSec        <dbl> 1917, 819, 921, 726, 832, 1664, 306, 1065, 1325, 12…
$ dimension          <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, …
$ definition         <chr> "hd", "hd", "hd", "hd", "hd", "hd", "hd", "hd", "hd…
$ caption            <lgl> FALSE, TRUE, TRUE, FALSE, TRUE, TRUE, TRUE, TRUE, T…
$ thumbnail_maxres   <chr> "https://i.ytimg.com/vi/IK5BZdnqMDU/maxresdefault.j…
$ licensedContent    <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
$ viewCount          <dbl> 1729562, 993841, 929302, 2125579, 3021542, 895038, …
$ likeCount          <dbl> 83334, 56794, 64304, 123191, 236388, 77980, 73251, …
$ dislikeCount       <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ favoriteCount      <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ commentCount       <dbl> 18716, 9141, 8204, 38823, 111200, 7905, 3831, 5723,…

Explorative Analyse der Video List

maiLab im Fokus: Datenauswertung mit R (1)

# Load additional packages
library(sjmisc) 

# Get distribution parameters for selected variables
video_list %>% 
  select(durationSec, viewCount, likeCount, favoriteCount, commentCount) %>% 
  descr() %>%
  select(!c(var, type)) 

## Basic descriptive statistics

         label   n NA.prc      mean        sd       se       md   trimmed
   durationSec 186      0    612.92    402.74    29.53    530.5    579.42
     viewCount 186      0 687563.73 763588.15 55989.00 467371.5 562670.19
     likeCount 186      0  31172.50  36815.40  2699.44  20970.5  24734.81
 favoriteCount 186      0      0.00      0.00     0.00      0.0      0.00
  commentCount 186      0   5598.28  11238.77   824.07   2068.0   3106.24
                   range       iqr skew
          1825 (92-1917)    633.25 0.64
 6671382 (21298-6692680) 782761.75 3.36
    267376 (1063-268439)  37023.75 3.10
                 0 (0-0)      0.00  NaN
      111166 (34-111200)   5718.00 5.54

Videoveröffentlichungen im Zeitverlauf

maiLab im Fokus: Datenauswertung mit R (2)

# Load additional packages
library(sjPlot) 

# Create plot
video_list %>% 
  mutate(year  = as.factor(year(publishedAt))) %>% 
  plot_frq(
    year,
    title = "Video uploads on `maiLab` by year")

Top 5 Videos mit den meisten Aufrufen

maiLab im Fokus: Datenauswertung mit R (3)

video_list %>% 
  arrange(-viewCount) %>% 
  select(videoTitle, publishedAt, viewCount, likeCount, commentCount) %>% 
  head()
# A tibble: 6 × 5
  videoTitle                publishedAt         viewCount likeCount commentCount
  <chr>                     <dttm>                  <dbl>     <dbl>        <dbl>
1 Corona geht gerade erst … 2020-04-02 07:00:00   6692680    268439        48174
2 Impfpflicht ist OK        2021-11-14 07:00:11   3021542    236388       111200
3 So endet Corona           2021-01-28 06:15:04   3020999    170219        28363
4 Virologen-Vergleich       2020-04-19 07:00:22   2654200     92957        33773
5 Rezo wissenschaftlich ge… 2019-05-24 04:30:25   2605822    142990        16995
6 Was ist jetzt mit dem Ko… 2018-08-30 04:30:01   2362469     63198         6833

Top 5 Videos mit den meisten Kommentaren

maiLab im Fokus: Datenauswertung mit R (4)

video_list %>% 
  arrange(-commentCount) %>% 
  select(videoTitle, publishedAt, viewCount, likeCount, commentCount) %>% 
  head()
# A tibble: 6 × 5
  videoTitle                publishedAt         viewCount likeCount commentCount
  <chr>                     <dttm>                  <dbl>     <dbl>        <dbl>
1 Impfpflicht ist OK        2021-11-14 07:00:11   3021542    236388       111200
2 Corona geht gerade erst … 2020-04-02 07:00:00   6692680    268439        48174
3 7 kritische Fragen zur I… 2021-02-11 06:15:02   2068956     80075        38982
4 Corona-Endlosschleife | … 2021-11-25 07:48:24   2125579    123191        38823
5 Corona hat meine Meinung… 2020-10-08 04:30:01   1602957     74811        36543
6 Virologen-Vergleich       2020-04-19 07:00:22   2654200     92957        33773

Interactive and executable environments

Quarto, Binder & Google Colab

Verschiedene Möglichkeiten, um den Code bzw. das heutige Beispiel (“live”) zu reproduzieren:

  1. Quarto-Dokument auf Kurs-Homepage

  2. Binder: Repositories mit Jupyter-Notebooks in ausführbaren Umgebungen öffnen und bearbeiten
    Binder

  3. Google Colab: gehosteter Jupyter-Notebook-Dienst, der keine EInrichtung erfordertund gleichzeitig kostenlosen Zugang zu Rechenressourcen einschließlich GPUs bietet
    Google Colab

Verständnis- & Diskussionsfragen

Ihre Fragen aus MS Teams

Vielen Dank für Ihre Fragen!

Ist es denkbar, dass YouTube eines Tages von anderen sozialen Plattformen wie Instagram oder Spotify überholt wird, an Bekanntheit verliert oder sogar ganz von der Bildfläche verschwindet?

Youtube-Influencer verdienen etwa das Doppelte mit Werbeanzeigen auf YouTube, als wenn sie Werbeanzeigen auf Facebook oder Instagram schalten würden (2016). Kann das im Jahr 2022 immer noch bestätigt werden? Sind Werbeanzeigen auf YouTube erfolgreicher und haben eine weitere Reichweite im Vergleich mit Instagram?

Es wird das Tool Webometric erwähnt, ein automatisiertes Instrument für die Sammlung von Social Media Daten über die API der Plattform YouTube. Wie sieht Webometric genau aus und wie werden die Daten über dieses Tool extrahiert?

Es wird oft darüber geredet, dass das „Recommendation System” fehlerhaft sei und bestimmte Videos trotz mangelnde Performance trotzdem empfohlen werden oder in den Trends landen (z.B Amerikanische Late Night Shows). Wie kann in der Forschung verhindert werden, dass Resultate entstehen die nicht den tatsächlichen Verhaltensdaten der Konsumenten entstehen.

Let’s discuss

Sophie Bishop meint es wäre interessant die Forschung zum Algorithmus von YouTube dahingehend zu erweitern, dass man untersucht was Nutzer denken, wie der Algorithmus funktioniert. Wie würde man bei dieser Fragestellung vorgehen bzw. wie könnte man das untersuchen?

Inwiefern kann YouTube als Soziales Netzwerk verstanden werden, wenn nur ein kleiner Bruchteil seiner User sich durch Upload von Content am Informationsaustausch beteiligt und der Großteil “nur” konsumiert?

YouTube besteht als Social Media Platform länger als die meisten anderen Plattformen (Twitter, Instagram, TikTok, etc.) und besitzt so gut wie weltweite Bekanntheit. Warum ist die Forschung in Richtung YouTube trotzdem so gering?

Time for questions

Bis zur nächsten Sitzung!

Literatur

Rieder, B. (2015). YouTube data tools. https://tools.digitalmethods.net/netvizz/youtube/index.php