موقع د. عزيز الجعيد
  • الرئـيـسـية

  • الأقسام

    • علم البيانات والذكاء الإصطناعي

    • ذكاء الأعمال

    • لغة البرمجة بايثون

    • مقالات متنوعـة

    • لغة البرمجة آر R

    • الإحــــــصــــــاء

    • البيانات المفتوحة

  • عـنــي

  • تواصل معي

علم البيانات والذكاء الاصطناعي

  • الرئـيـسـية

  • الأقسام

    • علم البيانات والذكاء الإصطناعي

    • ذكاء الأعمال

    • لغة البرمجة بايثون

    • مقالات متنوعـة

    • لغة البرمجة آر R

    • الإحــــــصــــــاء

    • البيانات المفتوحة

  • عـنــي

  • تواصل معي

استيراد بيانات تويتر باستخدام بايثون Python

18/04/2020 | لغة البرمجة بايثون | 2 تعليقات

يمكن إستيراد بيانات من تويتر بإستخدام لغة البرمجة بايثون من خلال الخطوات التالية:

اولاً: الحصول على حساب مطور 

https://developer.twitter.com/

ثانياً: اعداد تطبيق تويتر (Twitter App)، من خلال الرابط:

developer.twitter.com/en/apps

ثالثاً:  الحصول على مفاتيح ورموز (Keys and tokens) الوصول الى بيانات تويتر، كما في الشكل أدناه:

رابعاً: تحميل وتفعيل حزمة tweepy.

In:
import tweepy
import pandas as pd

خامساً: إعطاء بايثون صلاحية الوصول لبيانات تويتر

وذلك من خلال استحدام المفاتيح والرموز أعلاه كما يلي:

In:
access_token = "*****"
access_token_secret = "*****"
API_key = "*****"
API_secret_key = "*****"

حيث تستبدل ***** بالقيم الخاصة بها التي يمكن الحصول عليها من تويتر، ثم نستخدم الكود التالي:

In:
auth = tweepy.OAuthHandler(API_key, API_secret_key)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

سادساً: استيراد البيانات

1. استيراد بيانات تاريخية وذلك من خلال:

  • تغريدات التايم لاين لحسابك.
In:
timeline_tweets = api.home_timeline()

حيث يمكن الإطلاع على المتغيرات الموجودة في البيانات من خلال الكود:

In:
for key, value in timeline_tweets[0]._json.items():
    if type(value) is dict:
        print (key,list(value))
    else:
        print (key)

وبالتالي يمكن التعامل مع المتغيرات التي تحتاجها مثلاً كما يلي:

In:
variables_set = [[tweet.user.name, tweet.user.location,tweet.text,tweet.retweet_count] for tweet in timeline_tweets]
my_data = pd.DataFrame(data=variables_set, columns=['user', "location","tweets","retweet"])
my_data
  • هاشتاق او كلمة مفتاحية.
In:
query = "السعودية"
language = "ar"
twitter_data = api.search(q=query, lang=language)
variables_set = [[tweet.user.screen_name, tweet.user.location,tweet.text,tweet.retweet_count] for tweet in twitter_data]
my_data = pd.DataFrame(data=variables_set, columns=['user', "location","tweets","retweet"])
my_data

حيث يتم إستبدال “السعودية” بأي هاشتاق أو كلمة مفتاحية.

  • التايم لاين لحساب معين.
In:
name = "spagov"
tweetCount = 20
timeline_tweets = api.user_timeline(id=name, count=tweetCount)
variables_set = [[tweet.created_at,tweet.text,tweet.retweet_count] for tweet in timeline_tweets]
my_data = pd.DataFrame(data=variables_set, columns=['date and time', "tweets","retweet"])
my_data

حيث يتم إستبدال “spagov” بأي حساب آخر.

 

2. جمع بيانات تويتر لحظياً
يمكن جمع بيانات تويتر لحظياً وذلك من خلال تعريف الدالة أدناه اولاً:

In:
import sys
from tweepy import Stream
from tweepy.streaming import StreamListener

class Listener(StreamListener):
    def __init__(self, output_file=sys.stdout):
        super(Listener,self).__init__()
        self.output_file = output_file
    def on_status(self, status):
        print(status.text, file=self.output_file)
    def on_error(self, status_code):
        print(status_code)
        return False

حيث يمكن استبدال “status.text“ بأي متغير اخر من متغيرات بيانات تويتر. ثم بعد ذلك يمكن استخدام الكود التالي:

In:
output = open('twitter_data.txt', 'w')
listener = Listener(output_file=output)

stream = Stream(auth=api.auth, listener=listener)
try:
    print('Start')
    stream.filter(track=['السعودية'])
except KeyboardInterrupt:
    print("Stopped")
finally:
    stream.disconnect()
    output.close()

حيث يمكن استبدال كلمة “السعودية“ بأي كلمة مفتاحية أخرى او معرف مستخدم.

ملاحظة: يجب تحديد دليل العمل الذي سوف يحفظ عليه ملف البيانات، مثلاً استخدم:

In:
import os
os.chdir('Desktop')
جميع الحقوق الفكرية لهذا المقال محفوظة © موقع د. عزيز، يمنع إعادة نشره في موقع آخر

مقالات ذات صلة:

  • مقدمة في البايثون Python

    بايثون هي لغة برمجة متعددة الأغراض، تعمل على عدد من المنصات مثل ويندوز (Windows) و ماك (Mac OS X) و لينوكس (Linux).... مقدمة في البايثون Python
    اقرأ المزيد
  • قراءة ملفات البيانات في بايثون Python

    في هذا المقال سوف نستعرض كيف يمكن قراءة ملفات البيانات بأنواعها المختلفة باستخدام لغة البرمجة بايثون. في البداية نحتاج... قراءة ملفات البيانات في بايثون Python
    اقرأ المزيد
  • دوال القائمة (list) في بايثون Python

    تعتبر القائمة (list) احد انواع هياكل البيانات شائعة الاستخدام في في لغة البرمجة بايثون والتي يمكن أن تحوي انواع مختلفة... دوال القائمة (list) في بايثون Python
    اقرأ المزيد

التعليقات 2

  1. د صديق الحكيم مؤسس منصة سوا صحة مصر للإستشارات بتاريخ أبريل 1, 2019 - 7:32 ص

    مقال رائع جدا ربنا يوفقك

  2. Abdulwahab Allohayb بتاريخ أبريل 19, 2020 - 4:04 م

    شكرا لك مقال مفيد جدا استمر الله يحفظك ويجزاك خير

شارك بتعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *


The reCAPTCHA verification period has expired. Please reload the page.

د. عزيز عوض الله الجعيد
دكتوراه في الإحصاء، عالم بيانات، مبرمج، مهتم في التحليل المتقدم، والبيانات الضخمة والذكاء الاصطناعي، لمزيد من المعلومات أضغط هنا

  • YouTube
جميع الحقوق محفوظة © موقع د. عزيز