Я пытаюсь транслировать твиты в течение нескольких дней, избегая ошибок, которые приводят к остановке программы.
Я новичок в программировании, и мне нужно собрать этот код из разных источников.Насколько я понимаю, я могу транслировать твиты в течение 15 минут, а затем должен остановиться еще на 15, прежде чем продолжить.Это единственное ограничение, с которым я должен быть осторожен?
start_time = time.time() #grabs the system time
class CustomStreamListener(tweepy.StreamListener):
def __init__(self, start_time, time_limit):
self.time = start_time
self.limit = time_limit
self.tweet_data = []
def on_data(self, data):
while (time.time() - self.time) < self.limit:
try:
with open('unlimited.json', 'a') as f:
f.write(data)
return True
except BaseException as e:
print("Error on_data: %s" % str(e))
return True
def on_error(self, status_code):
print >> sys.stderr, 'Encountered error with status code:', status_code
time.sleep(61*15)
return True # Don't kill the stream
def on_timeout(self):
print >> sys.stderr, 'Timeout...'
return True # Don't kill the stream
sapi = tweepy.streaming.Stream(auth, CustomStreamListener(start_time, time_limit=59*15))
sapi.filter(locations=[-73.79,-11.12,-34.41,-4.29,-70.23,-4.29,-34.41,2.67,-52.37,2.67,-50.61,5.41,-65.03,2.67,-59.33,5.41,-65.31,-14.2,-36.76,-11.11,-60.6,-16.43,-38.45,-14.2,-58.49,-22.4,-38.73,-16.43,-55.96,-24.27,-41.83,-22.4,-55.96,-28.37,-46.61,-24.27,-57.65,-31.65,-48.43,-28.37,-54.27,-33.96,-51.6,-31.65])
Я запустил этот код, и программа собирала твиты в течение нескольких минут, а затем полностью прекратила сбор, но не показала никакой ошибки.Я предполагаю, что есть некоторая проблема, когда я определяю on_error и / или on_timeout.