使用流API API避免错误420s

时间:2017-11-07 15:35:16

标签: python twitter twitter-streaming-api

我制作了一个python脚本,它使用tweepy流模块将提及流式传输到Twitter帐户,并根据状态文本携带一些功能。

我希望它能够流式传输直到提及,下一站流式传输,根据状态文本传输一些功能并再次开始流式传输。

这是我的代码:

class StdOutListener(tweepy.StreamListener):

    def on_data(self, data):
        tweet = json.loads(data.strip())
        global d
        d=tweet
        return False #stops streaming after a tweet is fed to it

    def on_error(self, status_code):
        print(status_code)
        time.sleep(120)
        return F # To continue listening

    def on_timeout(self)
        time.sleep(120)
        return True # To continue listening
while True:
    d={}
    listener = StdOutListener()
    stream = tweepy.Stream(twitter_auth(tokens), listener)
    stream.filter(track=['@xxx'])
    stream.disconnect()
    doSomething(d)

但它只适用于一个循环,后来显示420(超出限制)错误,即使我只接受一条推文(每个流,如果我没错)。

任何人都可以解释我做错了吗?还有什么时候我们应该在tweepy流监听器中使用异步模式?

0 个答案:

没有答案