我想设置最大推文数量限制

I want to set the limit of maximum number of Tweets

我对 python 很陌生。我正在使用 tweepy 库通过 Twitter 流 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"])

谢谢

要解决您的连接问题,请参考以下内容:

要实现推文限制,您可以 return False 从 class def on_data 方法中获取所需数量的推文。在 init 方法中设置推文的最大数量,并使用 try and 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)