R 套件 fouRplebsAPI 使研究人員能夠查詢 4plebs.org 存檔的 4chan 資料庫。該資料庫是 imageboard 4chan 上不斷消失的帖子的最大持續存檔。透過該軟體包,研究人員可以使用 4plebs 提供的詳細搜尋功能並檢索 4chan 上通訊的結構化資料。
該套件基於 4plebs API 文件。
如果 fouRplebsAPI 對您的研究有幫助,請引用為:
布林,K.(2022)。 fouRplebsAPI:用於透過 4plebs.org API 存取 4chan 貼文的 R 套件(版本 0.9.0)。 https://doi.org/10.5281/zenodo.6637440
您可以使用以下命令從 GitHub 安裝 fouRplebsAPI:
# install.packages("devtools")
devtools :: install_github( " buehlk/fouRplebsAPI " )
目前 4plebs 覆蓋的 4chan 板有:
板名 | 縮寫 |
---|---|
政治不正確 | 波爾 |
高解析度 | 小時 |
傳統遊戲 | TG |
影視 | 電視 |
超自然現象 | x |
狗屎 4chan 說 | s4s |
汽車 | 哦 |
建議 | 副詞 |
旅行 | tv |
閃光 | f |
運動的 | sp |
我的小政治 | 米波爾 |
機甲汽車 | 莫 |
雖然該軟體包包含多個功能,允許研究人員查詢和檢查特定的 4chan 帖子 (get_4chan_post) 或線程 (get_4chan_thread),但想要從 4plebs 存檔收集資料的研究人員可能會對收集大量資料感興趣。
收集資料的第一種方法是收集給定板上的最新執行緒。假設您對「建議」板上的 20 個最新主題感興趣(不包括開篇文章附帶的評論),查詢資料的一種方法是:
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 ...
輸出描述可以在函數文件中找到。理論上,即使 API 有 API 速率限制(這會減慢查詢過程),也可以使用此函數抓取大範圍的存檔。
使用此軟體包收集 4chan 資料的第二種方法是搜尋功能。 4plebs 允許使用許多搜尋過濾器進行非常詳細的搜尋。我將僅展示可以使用 fouRplebsAPI 收集的資料的簡單範例。
我在這裡展示的例子相當令人愉快,因為我想避免 4chan,尤其是 /pol/ 委員會臭名昭著的更具爭議性的話題。研究人員,例如那些對具有爭議意識形態的行為者的政治溝通感興趣的人,會發現很容易採用這個例子。但這是關於假期的。
讓我們在「旅遊」版塊中找到討論西班牙馬略卡島的通訊。
首先,為了獲得搜尋結果的第一印象,可以檢查包含搜尋字詞「mallorca」的 25 個最新貼文的片段。
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 ...
請注意,函數 search_4chan_snippet() 也會列印搜尋結果的總數以及使用 search_4chan() 檢索它們的估計時間。此估計是基於每分鐘 5 個請求的 API 限制。
僅對結果數量感興趣的使用者可以透過將參數 result_type 變更為“results_num”來檢索結果。現在,我們可以比較不同時間內提及馬洛卡的貼文數量。例如,大流行前與大流行後:
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
由於人們傾向於留在家裡,這個島似乎被更多地提及。
有興趣收集更多數據而不僅僅是帖子片段的研究人員可以使用函數 search_4chan()。繼續以一段時間內提到馬洛卡的貼文為例,人們可能會想問,馬洛卡的形像在大流行期間是否發生了變化。除了簡單地獲取所有提到搜尋字詞的帖子之外,還可以過濾包含圖像資料的帖子:
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"
media_link 欄位提供檢索到的貼文的可下載圖片連結。
如果 fouRplebsAPI 對您的研究有幫助,請引用為:
布林,K.(2022)。 fouRplebsAPI:用於透過 4plebs.org API 存取 4chan 貼文的 R 套件(版本 0.9.0)。 https://doi.org/10.5281/zenodo.6637440