如何在tweepy的流API中使用'count'参数?

Nat*_*nes 3 python twitter tweepy

当我没有countfilter()调用中包含参数时,我可以正常使用流API ,但是当我尝试指定我希望接收的历史记录中有多少推文时,我的流对象返回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)
Run Code Online (Sandbox Code Playgroud)

我也尝试了以下内容,看看它返回了什么.

>>> something = stream.filter(follow=("14739093",), count=-5)
>>> print something
None
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

agf*_*agf 7

Stream.filter总是返回None,它的工作就是将数据传递给StreamListener.

你的问题是Twitter只允许count某些"角色" 的参数.

对捕获所有状态感兴趣的Firehose,Links,Birddog和Shadow客户应保持当前每秒收到的状态数的估计值,并记录收到最后一个状态的时间.重新连接后,客户端可以估计要请求的相应积压.请注意,其他地方不允许使用count参数,包括track,sample和默认访问角色.

这是413您尝试使用count参数时出现错误的原因- 您处于"默认访问"角色.