3

我在使用Python-Twitter 库GetStreamFilter中的函数时遇到了一些麻烦。

我用过这段代码:

import twitter
import time

consumer_key = 'myConsumerKey'
consumer_secret = 'myConsumerSecret'
access_token = 'myAccessToken'
access_token_secret = 'myAccessTokenSecret'

apiTest = twitter.Api(consumer_key,
                      consumer_secret,
                      access_token,
                      access_token_secret)

#print(apiTest.VerifyCredentials())

while (True):
    stream = apiTest.GetStreamFilter(None, ['someWord'])
    try:
        print(stream.next())
    except:
        print ("No posts")

    time.sleep(3)

我想要做的是获取包含单词“someWord”的新推文,并每三秒(或每次发布新推文)执行一次。

4

2 回答 2

2

您只需要在循环之外创建一次流。

stream = apiTest.GetStreamFilter(None, ['someWord'])

while True:
    for tweet in stream:
        print(tweet)
于 2017-06-01T01:51:14.660 回答
1

while True用一个从流中提取东西的循环替换你的怎么样?

for tweet in apiTest.GetStreamFilter(track=['someWord']):
    print tweet
于 2014-04-09T16:14:57.170 回答