filter()
コールにcount
パラメータが含まれていない場合でもストリーミングAPIを使用できますが、受信履歴から何個のツイートを指定しようとすると、ストリームオブジェクトはNone
を返します。tweepyのストリーミングAPIで 'count'パラメータを使用するにはどうすればよいですか?
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
ありがとうございました!
はい、正の数を試しましたが、同じことをします。 countパラメータがなければ、フィルタは連続して実行され、つぶやきを出力します。しかし、私がcountパラメータを与えると、それは単にPythonの新しい行(>>>)に移動します。 –
'on_error'は、あなたがそれを上書きしない限り、特に物事を止めるでしょう。 – agf
申し訳ありませんが、私はon_error()メソッドをオーバーライドして、416 Range Unacceptableを与えています。考えられる理由は次のとおりです。カウントパラメータはロールでは許可されていません。カウントパラメータの値が大きすぎます。明らかにそれほど大きくないので、その役割には許されてはいけません。私はまだそれが私にそのエラーを与えている理由についてはまだ分かりません。 –