Я создаю приложение для интеллектуального анализа данных, которое собирает твиты с использованием потокового API Twitter (через tweepy) и запускает на нем набор алгоритмов NLP.Пока все, что я смог сделать, это записать твиты во внешний файл.Из-за объема твитов, которые я собираюсь собрать, это 100 за раз (довольно мало) и проблем с развертыванием, я хочу собрать эти твиты в словарь или список для дальнейшего анализа.Однако мне это не удалось.Код, который у меня есть, приведен ниже:
import tweepy
class MyStreamListener(tweepy.StreamListener):
def __init__(self, api=None):
super(MyStreamListener, self).__init__()
self.num_tweets = 0
self.tweets = []
def on_status(self, status):
#print(status.text)
self.num_tweets += 1
self.tweets.append(status.text)
if self.num_tweets > 100:
return False
def getstreams(keyword):
CONSUMER_KEY = ''
CONSUMER_SECRET = ''
ACCESS_TOKEN = ''
ACCESS_SECRET = ''
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth, wait_on_rate_limit=True)
myStreamListener = MyStreamListener()
myStream = tweepy.Stream(auth = api.auth,listener=myStreamListener)
tweet_list = myStream.filter(track=[keyword])
return tweet_list.tweets
getstreams('Starbucks')
Однако, когда я запускаю это, все, что я получаю, это:
AttributeError: 'NoneType' object has no attribute 'tweets'
, указывающее на строку:
return tweet_list.tweets
Буду признателен, если кто-нибудь ответит, как решить эту проблему, и расскажет, как собрать n списков твитов в список.