Потоковое API с tweepy только возвращает второй последний твит, а НЕ сразу последний твит
Я новичок не только в Python, но и в программировании, поэтому я очень ценю вашу помощь!
Я пытаюсь фильтровать обнаружение всех твитов из потокового API Twitter, используя Tweepy.
Я отфильтровал по идентификатору пользователя и подтвердил, что твиты собираются в режиме реального времени.
HOWEVERкажется, что толькоsecond last Твит собирается в режиме реального времени, в отличие от самого последнего твита.
Ребята, вы можете помочь?
<code>import tweepy import webbrowser import time import sys consumer_key = 'xyz' consumer_secret = 'zyx' ## Getting access key and secret auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth_url = auth.get_authorization_url() print 'From your browser, please click AUTHORIZE APP and then copy the unique PIN: ' webbrowser.open(auth_url) verifier = raw_input('PIN: ').strip() auth.get_access_token(verifier) access_key = auth.access_token.key access_secret = auth.access_token.secret ## Authorizing account privileges auth.set_access_token(access_key, access_secret) ## Get the local time localtime = time.asctime( time.localtime(time.time()) ) ## Status changes api = tweepy.API(auth) api.update_status('It worked - Current time is %s' % localtime) print 'It worked - now go check your status!' ## Filtering the firehose user = [] print 'Follow tweets from which user ID?' handle = raw_input(">") user.append(handle) keywords = [] print 'What keywords do you want to track? Separate with commas.' key = raw_input(">") keywords.append(key) class CustomStreamListener(tweepy.StreamListener): def on_status(self, status): # We'll simply print some values in a tab-delimited format # suitable for capturing to a flat file but you could opt # store them elsewhere, retweet select statuses, etc. try: print "%s\t%s\t%s\t%s" % (status.text, status.author.screen_name, status.created_at, status.source,) except Exception, e: print >> sys.stderr, 'Encountered Exception:', e pass def on_error(self, status_code): print >> sys.stderr, 'Encountered error with status code:', status_code return True # Don't kill the stream def on_timeout(self): print >> sys.stderr, 'Timeout...' return True # Don't kill the stream # Create a streaming API and set a timeout value of ??? seconds. streaming_api = tweepy.streaming.Stream(auth, CustomStreamListener(), timeout=None) # Optionally filter the statuses you want to track by providing a list # of users to "follow". print >> sys.stderr, "Filtering public timeline for %s" % keywords streaming_api.filter(follow=handle, track=keywords) </code>