Python 我想设置最大推文数的限制

Python 我想设置最大推文数的限制,python,twitter-streaming-api,Python,Twitter Streaming Api,我对python非常陌生。我正在使用tweepy library通过推特流API抓取推特。但运行一个小时后,连接似乎中断了。我想知道是否有任何方法可以在连接中断之前阻止程序运行。简言之,限制推特 我已经尝试了.items方法,但是它没有工作,因为它给出了名称错误 from tweepy import Stream from tweepy import OAuthHandler from tweepy.streaming import StreamListener ckey="

我对python非常陌生。我正在使用tweepy library通过推特流API抓取推特。但运行一个小时后,连接似乎中断了。我想知道是否有任何方法可以在连接中断之前阻止程序运行。简言之,限制推特

我已经尝试了.items方法,但是它没有工作,因为它给出了名称错误

  from tweepy import Stream
  from tweepy import OAuthHandler
  from tweepy.streaming import StreamListener


  ckey="xxxxxxxxxxxxxxxxxxxxxxxxxxx"
  csecret="xxxxxxxxxxxxxxxxxxxxxx"
  atoken="xxxxxxxxxxxxxxxxxxxxx"
  asecret="xxxxxxxxxxxxxxxxxxxxxxxxxxx"

  class listener(StreamListener):

    def on_data(self, data):
        print(data)
        return(True)

    def on_error(self, status):
       print status

  auth = OAuthHandler(ckey, csecret)
  auth.set_access_token(atoken, asecret)

  twitterStream = Stream(auth, listener())
  twitterStream.filter(track=["Obama"])

感谢

要解决您的连接问题,请从以下位置获取帮助:

要实现tweets限制,当获取所需数量的tweets时,您可以从class
def on_data
方法返回False。在
init
方法中设置最大推文数,并使用
try和except
进行错误处理。这可能会有帮助

def __init__(self):
    super().__init__()
    self.max_tweets = 10
    self.tweet_count = 0

def on_data(self, data):
    try:
     data
    except TypeError:
        print(completed)
    else:
     self.tweet_count+=1
     if(self.tweet_count==self.max_tweets):
       print("completed")
       return(False)
     else:
      decoded = json.loads(data)

错误是什么感谢您回复“连接中断:未完成读取(0字节读取)”,未完成读取(0字节读取)”