يشكل تويتر متستودعاً ضخماً للكثير من البيانات الهامة حيث يعتبر وجهة رئيسية لمحللي البيانات والباحثين وخصوصاً المهتمين في تحليل المشاعر (sentiments analysis). لإستيراد بيانات من تويتر بإستخدم برنامج آر R نقوم بعدة خطوات سوف نوجزها هنا.
اولاً: الحصول على حساب مطور
https://developer.twitter.com/
ثانياً: اعداد تطبيق تويتر (Twitter App)، من خلال الرابط:
ثالثاً: الحصول على مفاتيح ورموز (Keys and tokens) الوصول الى بيانات تويتر
رابعاً: تحميل الحزم (packages) اللازمة
الأن نقوم بتحميل وتفعيل حزمة (rtweet) كما يلي:
In:
install.packages("rtweet")
library(rtweet)
خامساً: إعطاء آر R صلاحية الوصول لبيانات تويتر
وذلك من خلال استحدام المفاتيح والرموز أعلاه كما يلي:
In:
api_key = "********"
api_secret_key = "********"
access_token = "********"
access_token_secret = "********"
appname="xxxxxxxx"
حيث تستبدل ******** بمفاتيح ورموز الوصول، وكذلك تستبدل xxxxxxxx بأسم التطبيق، ثم نستخدم الكود:
In:
token = create_token(
app = appname,
consumer_key = api_key,
consumer_secret = api_secret_key,
access_token = access_token,
access_secret = access_token_secret
)
get_token()
سادساً: استيراد البيانات
1. استيراد بيانات تاريخية
الآن يمكن إستيراد البيانات من تويتر حول موضوع معين. فمثلاً، يمكن البحث عن 1000 تغريدة تحوي كلمة “السعودية” كما يلي:
In:
query = "السعودية"
twitter_data=search_tweets(q = query,n = 1000)
حيث أن query هو الاستعلام الذي يستخدم لتحديد طريقة جمع البيانات من تويتر. ويمكن أن يأخد كلمة مفتاحية (keyword) او معرف مستخدم (user ID).
ملاحظة:
لمعرفة المتغيرات التي تم الحصول عليها عند استيراد البيانات من تويتر، يمكن استخدام الدالة:
In:
names(twitter_data)
2. جمع بيانات تويتر لحظياً
يمكن جمع بيانات تويتر لحظياً وذلك من خلال استخدام الكود التالي:
In:
query = "السعودية"
stream_time = 30
Data_file = "twitter_data"
rt = stream_tweets(q = query, timeout = stream_time, file_name = Data_file)
حيث أن timeout هو ثابت رقمي يحدد مقدار الوقت بالثواني ليبقى الاتصال مفتوح أثناء جمع البيانات. كذلك يمكن استخدام احداثيات موقع جغرافي، مثلاً لجمع تغريدات مستخدمي تويتر في مدينة الرياض يمكن استخدام الإستعلام التالي:
In:
query = c(46.5,24.5,46.95,24.85)
ملاحظات:
1. يجب تحديد دليل العمل الذي سوف يحفظ عليه ملف البيانات، مثلاً استخدم:
In:
setwd("Desktop")
2. كذلك لقراءة الملف لاحقاً يمكن استخدام الكود:
In:
library(rjson)
fromJSON(file = "twitter_data.json")
جميل جدا.. بحثت مطولا عن الطريقة…ممتنة بقدر مساحة العطء والالهام
جزاك الله كل خير