แพ็คเกจ R fouRplebsAPI ช่วยให้นักวิจัยสามารถสืบค้นฐานข้อมูล 4chan ที่เก็บถาวรโดย 4plebs.org ฐานข้อมูลนี้เป็นคลังถาวรที่ใหญ่ที่สุดของโพสต์ที่หายไปบนกระดานรูปภาพ 4chan ด้วยแพ็คเกจนี้ ผู้วิจัยสามารถใช้ฟังก์ชันการค้นหาโดยละเอียดที่นำเสนอโดย 4plebs และดึงข้อมูลที่มีโครงสร้างของการสื่อสารบน 4chan
แพ็คเกจนี้อิงตามเอกสารประกอบ 4plebs API
หาก fouRplebsAPI มีประโยชน์สำหรับการวิจัยของคุณ โปรดอ้างอิงเป็น:
บือลิง, เค. (2022) fouRplebsAPI: แพ็คเกจ R สำหรับการเข้าถึงโพสต์ 4chan ผ่าน 4plebs.org API (เวอร์ชัน 0.9.0) https://doi.org/10.5281/zenodo.6637440
คุณสามารถติดตั้ง fouRplebsAPI จาก GitHub ด้วย:
# install.packages("devtools")
devtools :: install_github( " buehlk/fouRplebsAPI " )
บอร์ด 4chan ที่ครอบคลุมโดย 4plebs ในปัจจุบันคือ:
บอร์ด.ชื่อ | คำย่อ |
---|---|
ไม่ถูกต้องทางการเมือง | พล.ต.อ |
ความละเอียดสูง | ชม |
เกมแบบดั้งเดิม | ทีจี |
โทรทัศน์และภาพยนตร์ | ทีวี |
อาถรรพณ์ | x |
อึ 4chan พูด | s4s |
อัตโนมัติ | โอ |
คำแนะนำ | โฆษณา |
การท่องเที่ยว | ทีอาร์วี |
แฟลช | ฉ |
กีฬา | เอสพี |
การเมืองเล็กๆ ของฉัน | มลพล |
เมชาและออโต้ | เดือน |
แม้ว่าแพ็คเกจนี้จะมีฟังก์ชันหลายอย่างที่ช่วยให้นักวิจัยสามารถสืบค้นและตรวจสอบโพสต์ 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/ มีชื่อเสียงฉาวโฉ่ นักวิจัย เช่น ผู้ที่สนใจการสื่อสารทางการเมืองของนักแสดงที่มีอุดมการณ์ที่ขัดแย้ง จะพบว่าการปรับตัวอย่างนี้เป็นเรื่องง่าย แต่อันนี้เกี่ยวกับวันหยุด
มาดูการสื่อสารกันในกระดาน "การเดินทาง" ที่กล่าวถึงมายอร์ก้า ประเทศสเปน
ขั้นแรก เพื่อให้ได้รับความประทับใจครั้งแรกจากผลการค้นหา เราสามารถตรวจสอบตัวอย่างโพสต์ล่าสุด 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() การประมาณนี้อ้างอิงจากขีดจำกัด API 5 คำขอต่อนาที
ผู้ใช้ที่สนใจเฉพาะจำนวนผลลัพธ์สามารถเรียกดูได้โดยเปลี่ยนพารามิเตอร์ 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 มีประโยชน์สำหรับการวิจัยของคุณ โปรดอ้างอิงเป็น:
บือลิง, เค. (2022) fouRplebsAPI: แพ็คเกจ R สำหรับการเข้าถึงโพสต์ 4chan ผ่าน 4plebs.org API (เวอร์ชัน 0.9.0) https://doi.org/10.5281/zenodo.6637440