library(academictwitteR)
library(tidyverse)
library(askpass)
library(rio)twitter07
textmining
twitter
programming
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:
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
- programming