gpt4 book ai didi

python - 几个小时后 tweepy 停止

转载 作者:太空狗 更新时间:2023-10-29 22:27:14 25 4
gpt4 key购买 nike

我使用 tweepy 来流式传输一些推文。这是我的程序:

import tweepy
import json

consumer_key = "***"
consumer_secret = "***"
access_token_key="***"
access_token_secret="***"

auth1 = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth1.set_access_token(access_token_key, access_token_secret)
api = tweepy.API(auth1)

class StreamListener(tweepy.StreamListener):
def on_status(self, status):
try:
print status.text
except Exception, e:
print 'Encountered Exception Tweet:', e
pass
return True

def on_error(self, status_code):
print 'Encountered error with status code:' + repr(status_code)
return True

def on_data(self, data):
if 'in_reply_to_status_id' in data:
status = tweepy.Status.parse(self.api, json.loads(data))
if self.on_status(status) is False:
return True
elif 'delete' in data:
delete = json.loads(data)['delete']['status']
if self.on_delete(delete['id'], delete['user_id']) is False:
return True
elif 'limit' in data:
if self.on_limit(json.loads(data)['limit']['track']) is False:
return True
return True

def on_timeout(self):
print 'Timeout...'
return True

l = StreamListener()
streamer = tweepy.Stream(auth=auth1, listener=l, timeout=36000000)

setTerms = ['enbrel']
streamer.filter(follow=None,track = setTerms)

两三个小时后,此过程停止。没有信号错误、超时等。只是没有收到更多推文。我哪里做错了?

最佳答案

尝试在您的类中添加一个on_disconnect 方法。可能是 Twitter 断开了你的连接(不是错误,也不是超时)而你没有处理这个问题。如果愿意,您可以以不同的方式处理不同的 Twitter 错误。

def on_disconnect(self, notice):
"""Called when twitter sends a disconnect notice

Disconnect codes are listed here:
https://dev.twitter.com/docs/streaming-apis/messages#Disconnect_messages_disconnect
"""
return

查看 streaming module的 tweepy 了解更多信息。

您还可以尝试在您的 streamer.filter() 中启用停顿警告。以下是来自 Tweepy 源的所有选项及其默认值:

def filter(self, follow=None, track=None, async=False, locations=None,
stall_warnings=False, languages=None, encoding='utf8'):

关于python - 几个小时后 tweepy 停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14177327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com