如何触发键盘中断

0 投票
1 回答
984 浏览
提问于 2025-04-17 21:24

我正在尝试使用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

撰写回答