Ограничить твиповый поток определенным числом

class listener(StreamListener):

def on_status(self, status):
    try:
        userid = status.user.id_str
        geo = str(status.coordinates)
        if geo != "None":
            print(userid + ',' + geo)
        else:
            print("No coordinates")
        return True
    except BaseException as e:
        print('failed on_status,',str(e))
        time.sleep(5)

def on_error(self, status):
    print(status)


auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)

twitterStream = Stream(auth, listener())
twitterStream.filter(locations=[-97.54,32.55,-97.03,33.04])

У меня есть этот скрипт для моего твипового потока, и он отлично работает. Тем не менее, он продолжается до тех пор, пока я не завершу его с помощью Ctrl + C. Я попытался добавить счетчик в "on_status", но он не увеличивается:

 class listener(StreamListener):

def on_status(self, status):
    i = 0
    while i < 10:
        userid = status.user.id_str
        geo = str(status.coordinates)
        if geo != "None":
            print(userid + ',' + geo)
            i += 1

Независимо от того, куда я положил приращение, оно повторяется. Если я добавлю «i = 0» перед классом, я получу ошибку:

RuntimeError: No active exception to reraise

Любая идея, как я могу заставить счетчик работать с потоковой передачей? Курсор, который идет с tweepy, не работает с потоковой передачей, насколько я знаю, по крайней мере.

Ответы на вопрос(1)

Ваш ответ на вопрос