twitter07

textmining
twitter
programming
Published

November 19, 2022

Exercise

Laden Sie \(n=10^k\) Tweets von Twitter herunter (mit \(k=2\)) und zwar pro Nutzerkonto wie unten angegeben . die Tweets sollen jeweils an eine prominente Person gerichtet sein.

Beziehen Sie sich auf diese Politikis.





















Solution

Wir starten die benötigten R-Pakete:

library(academictwitteR)
library(tidyverse)
library(askpass)
library(rio)

Hier ist der Datensatz mit den Twitterkonten, für die wir die Daten herunterladen sollen:

politicians_path <- "https://raw.githubusercontent.com/sebastiansauer/datascience-text/main/data/twitter-german-politicians.csv"
politicians <- import(politicians_path)
politicians
name party screenname comment
Karl Lauterbach SPD Karl_Lauterbach NA
Olaf Scholz SPD OlafScholz NA
Annalena Baerback Gruene ABaerbock NA
Bundesministerium für Wirtschaft und Klimaschutz Gruene BMWK Robert Habeck ist der Minister im BMWK
Friedrich Merz CDU _FriedrichMerz CDU-Chef
Markus Söder CSU Markus_Soeder CSU-Chef
Cem Özdemir Gruene cem_oezdemir BMEL
Janine Wissler Linke Janine_Wissler Linke-Chefin
Martin Schirdewan Linke schirdewan Linke-Chef
Christian Lindner FDP c_lindner FDP-Chef
Marie-Agnes Strack-Zimmermann FDP MAStrackZi Vorsitzende Verteidigungsausschuss
Tino Chrupalla AFD Tino_Chrupalla AFD-Bundessprecher
Alice Weidel AFD Alice_Weidel AFD-Bundessprecherin

Wir müssen noch das Passwort bereitstellen:

bearer_token <- askpass::askpass("bearer token")

Und dann definieren wir eine Funktion, die das Gewichtheben für uns erledigt:

get_all_tweets_politicians <- function(screenname, n = 1e1) {
  get_all_tweets(query = paste0("to:", screenname, " -is:retweet"),
                 start_tweets = "2021-01-01T00:00:00Z",
                 end_tweets = "2021-12-31T23:59:59Z",
                 bearer_token = bearer_token,
                 file = glue::glue("~/datasets/Twitter/hate-speech/tweets_to_{screenname}_2021.rds"),
                 data_path = glue::glue("~/datasets/Twitter/hate-speech/{screenname}"),
                 n = n)
}

Jetzt wenden wir die Funktion auf jedes Twitterkonto unserer Liste (alle Politikis) an:

d <- politicians$screenname %>% 
  map(get_all_tweets_politicians)

Categories:

  • textmining
  • twitter
  • programming