当我在count
调用中未包含filter()
参数时,我可以正常使用流API,但是当我尝试指定我希望收到的历史记录中有多少推文时,我的stream对象返回None
。
import tweepy
from tweepy.streaming import StreamListener, Stream
class Listener (StreamListener):
def on_status(self, status):
print '-' * 20
print status.text
return
def get_tweets(request):
# if request.is_ajax():
# All keys and secrets are declared here, but were removed for security reasons.
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)
listener = Listener()
stream = Stream(auth, listener)
stream.filter(follow=("14739093",), count=-5)
我也尝试了以下内容,看看它返回了什么。
>>> something = stream.filter(follow=("14739093",), count=-5)
>>> print something
None
感谢您的帮助!
答案 0 :(得分:7)
Stream.filter
始终返回None
,其工作只是将数据传递给StreamListener
。
你的问题是Twitter只允许某些“角色”的count
参数。
对捕获所有状态感兴趣的Firehose,Links,Birddog和Shadow客户应保持当前每秒收到的状态数的估计值,并记录收到最后一个状态的时间。重新连接后,客户端可以估计要请求的相应积压。 请注意,其他地方不允许使用count参数,包括track,sample和默认访问角色。
这是您在尝试使用413
参数时遇到count
错误的原因 - 您处于“默认访问”角色。