我制作了一个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流监听器中使用异步模式?