تتيح حزمة R fouRplebsAPI للباحثين الاستعلام عن قاعدة بيانات 4chan المؤرشفة بواسطة 4plebs.org. قاعدة البيانات هذه هي أكبر أرشيف مستمر للمشاركات التي تختفي دائمًا على لوحة الصور 4chan. باستخدام هذه الحزمة، يمكن للباحثين استخدام وظائف البحث التفصيلية التي تقدمها 4plebs واسترجاع البيانات المنظمة للاتصالات على 4chan.
تعتمد الحزمة على وثائق 4plebs API.
إذا كان fouRplebsAPI مفيدًا لبحثك، فيرجى ذكر ما يلي:
بوهلينج، ك. (2022). fouRplebsAPI: حزمة R للوصول إلى منشورات 4chan عبر واجهة برمجة تطبيقات 4plebs.org (الإصدار 0.9.0). https://doi.org/10.5281/zenodo.6637440
يمكنك تثبيت fouRplebsAPI من GitHub باستخدام:
# install.packages("devtools")
devtools :: install_github( " buehlk/fouRplebsAPI " )
لوحات 4chan التي تغطيها حاليًا 4plebs هي:
اسم اللوحة | اختصار |
---|---|
غير صحيح سياسيا | بول |
دقة عالية | ساعة |
الألعاب التقليدية | tg |
التلفزيون والسينما | تلفزيون |
خوارق | س |
يقول Sh * t 4chan | s4s |
آلي | س |
نصيحة | ظرف |
يسافر | trv |
فلاش | و |
الرياضة | sp |
سياستي الصغيرة | mlpol |
ميكا والسيارات | شهر |
في حين أن هذه الحزمة تتضمن العديد من الوظائف التي تسمح للباحثين بالاستعلام وفحص منشورات 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/ board. سيجد الباحثون، على سبيل المثال، المهتمين بالتواصل السياسي بين الجهات الفاعلة ذات الأيديولوجيات المثيرة للجدل، أنه من السهل تكييف هذا المثال. لكن هذا يتعلق بالإجازة.
دعونا نجد الرسالة في لوحة "السفر" التي تناقش مايوركا، إسبانيا.
أولاً، للحصول على انطباع أولي عن نتائج البحث، يمكن للمرء فحص مقتطف من أحدث 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 مفيدًا لبحثك، فيرجى ذكر ما يلي:
بوهلينج، ك. (2022). fouRplebsAPI: حزمة R للوصول إلى منشورات 4chan عبر واجهة برمجة تطبيقات 4plebs.org (الإصدار 0.9.0). https://doi.org/10.5281/zenodo.6637440