如何触发键盘中断
我正在尝试使用Twitter的API来实时获取推文,但我不知道怎么才能自动停止这个数据流,除了用键盘中断(按控制键+c)。
import tweepy
import time
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
class listener(StreamListener):
def on_data(self, data):
#print data
tweet = data.split(',"text":"')[1].split('","source')[0]
print tweet
saveThis = str(time.time()) + '::' + tweet
saveFile = open('twitDB.csv','a')
saveFile.write(saveThis)
saveFile.write('\n')
saveFile.close
return True
def on_error(self, status):
print status
twitterStream = Stream(auth, listener())
twitterStream.filter(track=["car"])
那么,我该如何自动停止数据流呢?
1 个回答
1
你可以保持一个 counter
计数器,在 on_status()
这个函数里对它进行加一和检查。当你达到设定的限制时,使用 returning False
就可以停止数据流了。可以试试下面的代码。
def on_status(self, status):
print status.text
self.n += 1
if self.n < 20:
return True
else:
print 'maxnum = '+str(self.n)
return False