2017-01-20 10 views
0

は、私がチェックのための無限ループにすべてのツイートをしてみてくださいしかし、私はこのコードを使用している場合TweepyレートErrorr

import tweepy 
    import time 
    no = 1 
    a = no 
    consumer_key = 'X' 
    consumer_secret = 'X' 
    access_token = 'X-X' 
    access_token_secret = 'X' 

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

    api = tweepy.API(auth, wait_on_rate_limit=False) 
    timeline = api.user_timeline(count = 3) 
    for t in timeline: 
     api.destroy_status(t.id) 
    time.sleep(9) 
    while no == a: 
     public_tweets = api.home_timeline() 
     for tweet in public_tweets: 
      tweet.text 
      print tweet.text 
      if tweet.text == "1": 
       print "One" 
       for t in timeline: 
        api.destroy_status(t.id) 
       break 
      if tweet.text == "0": 
       print "Zero" 
       for t in timeline: 
        api.destroy_status(t.id)    
       break 

エラー:私は、チェックデータ用(15-20minのような)無限ループにしたい

Traceback (most recent call last): 
    File "test.py", line 21, in <module> 
    public_tweets = api.home_timeline() 
    File "/usr/local/lib/python2.7/dist-packages/tweepy/binder.py", line 245, in _call 
    return method.execute() 
    File "/usr/local/lib/python2.7/dist-packages/tweepy/binder.py", line 227, in execute 
    raise RateLimitError(error_msg, resp) 
tweepy.error.RateLimitError: [{u'message': u'Rate limit exceeded', u'code': 88}] 

いつでも tweepyファイルを編集したり、レート制限ファイルを削除するにはどうすればいいですか?

答えて

1

特定の時間間隔で取得できるツイートの数には制限があります。私はtry catchブロックを使って彼は誤りです。

c = public_tweets 
while True: 
try: 
    tweet = c.next() 
    # Insert into db 
except tweepy.TweepError: 
    time.sleep(60 * 15) 
    continue 
except StopIteration: 
    break 
+0

トレースバック(最新の呼び出しの最後): ファイル "test.py"、16行目、 public_tweets中= api.home_timeline() ファイル「/usr/local/lib/python2.7/dist -packages/tweepy/binder.py "、行245、_call return method.execute() ファイル" /usr/local/lib/python2.7/dist-packages/tweepy/binder.py "、227行目、実行中 raise RateLimitError(error_msg、resp) tweepy.error.RateLimitError:[{u'message ':u'Rateの制限を超えました'、u'code ':88}] – CezmiChef