2016-11-23 71 views
1

我想要使用关键字“trump”,“clinton”来检索鸣叫数据。我通常使用Jupyter Notebook来使用Python3。以下是我的代码,它在我运行单元格时停止。Twitter挖掘使用流式API,python

我插入的代码之间的一些其它代码以获取错误,但没有工作,要么..

def limit_handled(cursor): 
    while True: 
     try: 
      yield cursor.next() 
     except tweepy.RateLimitError: 
      time.sleep(15 * 60) 

以下均码。

import tweepy 

# OAuth setup 
consumer_key = '000000000' 
consumer_secret = '000000000' 
access_token = '0000000000' 
access_secret = '000000000' 

auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 
auth.set_access_token(access_token, access_secret) 

api = tweepy.API(auth) 

class MyListener(tweepy.StreamListener): 

    def on_data(self, data): 
     try: 
      with open('tweet_stream.json', 'a') as file: 
       file.write(data) 
       print(data) 
       return True 
     except BaseException as e: 
      print("Error on_data: {}".format(str(e))) 
     return True 


twitter_stream = tweepy.Stream(auth, MyListener()) 
twitter_stream.filter(track=['trump', 'clinton']) 

代码使用Jupyter笔记本:

+0

哎呀,你*秘密*代码的截图。您需要重新生成身份验证密钥,因此您不会成为垃圾邮件机器人。 –

+0

感谢您的评论。我编辑了截图并重新生成了我的密钥。 –

回答

0

您需要将api对象传递到流对象。尝试改变行:

twitter_stream = tweepy.Stream(auth, MyListener())

twitter_stream = tweepy.Stream(api, MyListener())