首页 > 解决方案 > 如何设置要获取的最大推文数

问题描述

我正在尝试设置要获取的最大推文数。之前有人问过这个问题,但没有得到回答。任何帮助将不胜感激。

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


#consumer key, consumer secret, access token, access secret.
ckey=""
csecret=""
atoken=""
asecret=""

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=["car"])

标签: pythontwittertweepy

解决方案


我已经想出了解决方案。问题通过returning false使用达到极限来解决if and else。计数器在类中初始化init method。希望它对其他人有所帮助。

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


#consumer key, consumer secret, access token, access secret.
ckey=""
csecret=""
atoken=""
asecret=""

class listener(StreamListener)

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

 def on_data(self, data):
     global dataframe

   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)

 def on_error(self, status):
    return(False)

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

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

推荐阅读