Das R-Paket fouRplebsAPI ermöglicht Forschern die Abfrage der von 4plebs.org archivierten 4chan-Datenbank. Diese Datenbank ist das größte fortlaufende Archiv der jemals verschwundenen Beiträge auf dem Imageboard 4chan. Mit diesem Paket können Forscher die detaillierten Suchfunktionen von 4plebs nutzen und strukturierte Daten der Kommunikation auf 4chan abrufen.
Das Paket basiert auf der 4plebs-API-Dokumentation.
Wenn fouRplebsAPI für Ihre Recherche hilfreich ist, zitieren Sie es bitte als:
Buehling, K. (2022). fouRplebsAPI: R-Paket für den Zugriff auf 4chan-Beiträge über die 4plebs.org-API (Version 0.9.0). https://doi.org/10.5281/zenodo.6637440
Sie können die fouRplebsAPI von GitHub installieren mit:
# install.packages("devtools")
devtools :: install_github( " buehlk/fouRplebsAPI " )
Die 4chan-Boards, die derzeit von 4plebs abgedeckt werden, sind:
Board.name | Abkürzung |
---|---|
Politisch inkorrekt | pol |
Hohe Auflösung | Std |
Traditionelle Spiele | tg |
Fernsehen und Film | Fernseher |
Paranormal | X |
Sh*t 4chan sagt | s4s |
Auto | O |
Beratung | Adv |
Reisen | trv |
Blitz | F |
Sport | sp |
Meine kleine Politik | mlpol |
Mecha & Auto | Mo |
Während dieses Paket mehrere Funktionen enthält, die es Forschern ermöglichen, bestimmte 4chan-Beiträge (get_4chan_post) oder Threads (get_4chan_thread) abzufragen und zu überprüfen, werden Forscher, die Daten aus dem 4plebs-Archiv sammeln möchten, wahrscheinlich daran interessiert sein, eine größere Datenmenge zu sammeln.
Die erste Möglichkeit, Daten zu sammeln, besteht darin, die neuesten Threads in einem bestimmten Board zu sammeln. Nehmen wir an, Sie interessieren sich für die 20 neuesten Threads aus dem „Advice“-Forum (mit Ausnahme der Kommentare zum Eröffnungsbeitrag). Eine Möglichkeit, die Daten abzufragen, ist:
library( fouRplebsAPI )
recentAdv <- get_4chan_board_range( board = " adv " , page_start = 1 , page_stop = 2 , latest_comments = FALSE )
str( recentAdv , vec.len = 1 , nchar.max = 60 )
# > 'data.frame': 20 obs. of 15 variables:
# > $ thread_id : chr "26681983" ...
# > $ doc_id : chr "12984655" ...
# > $ num : chr "26681983" ...
# > $ subnum : chr "0" ...
# > $ op : num 1 1 ...
# > $ timestamp : int 1655111247 1655110365 ...
# > $ fourchan_date : chr "6/13/22(Mon)5:07" ...
# > $ name : chr "Anonymous" ...
# > $ title : logi NA ...
# > $ referencing_comment: logi NA ...
# > $ comments : chr "I have a very good friend. Maybe one of my "| __truncated__ ...
# > $ poster_country : logi NA ...
# > $ nreplies : logi NA ...
# > $ formatted : logi FALSE ...
# > $ media_link : logi NA ...
Die Ausgabebeschreibung finden Sie in den Funktionsdokumentationen. Theoretisch wäre es möglich, mit dieser Funktion weite Bereiche des Archivs zu durchsuchen, obwohl die API eine API-Ratenbegrenzung hat, die den Abfragevorgang verlangsamt.
Eine zweite Möglichkeit, mit diesem Paket 4chan-Daten zu sammeln, ist die Suchfunktion. 4plebs ermöglicht eine sehr detaillierte Suche mit vielen Suchfiltern. Ich zeige nur einfache Beispiele der Daten, die mit fouRplebsAPI gesammelt werden können.
Das Beispiel, das ich hier zeige, ist eher fröhlich, weil ich die kontroverseren Themen vermeiden möchte, für die 4chan, insbesondere das /pol/-Board, berüchtigt ist. Forschern, die sich beispielsweise für die politische Kommunikation von Akteuren mit umstrittenen Ideologien interessieren, wird es leicht fallen, dieses Beispiel zu adaptieren. Aber hier geht es um Urlaub.
Suchen wir im Forum „Reisen“ nach der Mitteilung, in der es um Mallorca, Spanien geht.
Um einen ersten Eindruck von den Suchergebnissen zu bekommen, kann man sich zunächst einen Ausschnitt der 25 aktuellsten Beiträge ansehen, die den Suchbegriff „Mallorca“ enthalten.
mallorca_snippet <- search_4chan_snippet( boards = " trv " , start_date = " 2021-01-01 " , end_date = " 2022-12-31 " , text = " mallorca " )
# > The 1 - 25 oldest posts of the 78 total search results are shown.
# > Scraping all 78 results would take ~ 1.33 minutes.
str( mallorca_snippet , vec.len = 1 , nchar.max = 60 )
# > 'data.frame': 25 obs. of 15 variables:
# > $ thread_id : chr "1938850" ...
# > $ doc_id : chr "1113628" ...
# > $ num : chr "1938924" ...
# > $ subnum : chr "0" ...
# > $ op : num 0 1 ...
# > $ timestamp : int 1610611412 1611403974 ...
# > $ fourchan_date : chr "1/14/21(Thu)3:03" ...
# > $ name : chr "Anonymous" ...
# > $ title : chr NA ...
# > $ referencing_comment: chr "1938909n" ...
# > $ comments : chr ">got murdered and/or raped in shitholes ove"| __truncated__ ...
# > $ poster_country : logi NA ...
# > $ nreplies : int NA 13 ...
# > $ formatted : logi FALSE ...
# > $ media_link : chr NA ...
Beachten Sie, dass die Funktion search_4chan_snippet() auch die Gesamtzahl der Suchergebnisse und die geschätzte Zeit zum Abrufen dieser mit search_4chan() ausgibt. Diese Schätzung basiert auf einem API-Limit von 5 Anfragen pro Minute.
Benutzer, die nur an der Anzahl der Ergebnisse interessiert sind, können diese einfach abrufen, indem sie den Parameter result_type in „results_num“ ändern. Jetzt kann man die Anzahl der Beiträge, in denen Mallorca erwähnt wird, in verschiedenen Zeiträumen vergleichen. Zum Beispiel vor der Pandemie vs. nach der Pandemie:
mallorca_pre <- search_4chan_snippet( boards = " trv " , start_date = " 2018-01-01 " , end_date = " 2019-12-31 " , text = " mallorca " , result_type = " results_num " )
mallorca_post <- search_4chan_snippet( boards = " trv " , start_date = " 2020-01-01 " , end_date = " 2021-12-31 " , text = " mallorca " , result_type = " results_num " )
data.frame ( " Years " = c( " 2018 & 2019 " , " 2020 & 2021 " ),
" Total results " = c( mallorca_pre [ " total_found " ], mallorca_post [ " total_found " ])
)
# > Years Total.results
# > 1 2018 & 2019 86
# > 2 2020 & 2021 99
Es scheint, dass diese Insel häufiger erwähnt wurde, da die Menschen dazu neigten, zu Hause zu bleiben.
Forscher, die mehr Daten als nur einen Ausschnitt der Beiträge sammeln möchten, können die Funktion search_4chan() verwenden. Bleibt man beim Beispiel der Posts, in denen Mallorca im Laufe der Zeit erwähnt wird, könnte man geneigt sein zu fragen, ob sich das Image von Mallorca während der Pandemie verändert hat. Neben der einfachen Abfrage aller Beiträge, in denen ein Suchbegriff vorkommt, ist es beispielsweise auch möglich, nach Beiträgen zu filtern, die Bilddaten enthalten:
mallorca_pre_pics <- search_4chan( boards = " trv " , start_date = " 2018-01-01 " , end_date = " 2019-12-31 " , text = " mallorca " , show_only = " image " )
# > [1] "Approximate time: 0.33 minutes."
mallorca_post_pics <- search_4chan_snippet( boards = " trv " , start_date = " 2018-01-01 " , end_date = " 2019-12-31 " , text = " mallorca " , show_only = " image " )
# > The 1 - 16 oldest posts of the 16 total search results are shown.
# > Scraping all 16 results would take ~ 0.33 minutes.
head( mallorca_post_pics $ media_link )
# > [1] "http://i.4pcdn.org/trv/1521713616876.jpg"
# > [2] "http://i.4pcdn.org/trv/1525249686528.jpg"
# > [3] "http://i.4pcdn.org/trv/1527534752103.jpg"
# > [4] "http://i.4pcdn.org/trv/1527865867839.jpg"
# > [5] "http://i.4pcdn.org/trv/1533082869505.jpg"
# > [6] "http://i.4pcdn.org/trv/1547062117808.jpg"
Die Spalte media_link stellt die herunterladbaren Bildlinks der abgerufenen Beiträge bereit.
Wenn fouRplebsAPI für Ihre Recherche hilfreich ist, zitieren Sie es bitte als:
Buehling, K. (2022). fouRplebsAPI: R-Paket für den Zugriff auf 4chan-Beiträge über die 4plebs.org-API (Version 0.9.0). https://doi.org/10.5281/zenodo.6637440