如何正确使用Python-Twitter库中的GetStreamFilter?
我在使用 GetStreamFilter
这个函数时遇到了一些问题,这个函数是来自 Python-Twitter库。
我用的是这段代码:
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”这个词的新推文,或者每当有新的推文发布时就获取一次。
2 个回答
1
你可以考虑把你的 while True
循环换成一个从数据流中提取内容的循环,这样可能会更好。
for tweet in apiTest.GetStreamFilter(track=['someWord']):
print tweet
2
你只需要在循环外面创建这个流,并且只创建一次。
stream = apiTest.GetStreamFilter(None, ['someWord'])
while True:
for tweet in stream:
print(tweet)