Использование ограничений tweepy и twitter - PullRequest
0 голосов
/ 27 декабря 2018

Я пытаюсь транслировать твиты в течение нескольких дней, избегая ошибок, которые приводят к остановке программы.

Я новичок в программировании, и мне нужно собрать этот код из разных источников.Насколько я понимаю, я могу транслировать твиты в течение 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.

...