3

ストリーミングTwitterAPIを使用して、特定のユーザーからのいくつかの用語を追跡するアプリを構築しようとしています。

このチュートリアルに基づいて、ストリーミングAPIにtweepyを使用して動作するPythonスクリプトを作成しました。ただし、ツイートを用語またはユーザーIDで追跡する場合にのみ機能しますが、現在は両方で追跡しています。両方を使用して検索しようとすると、APIは任意のユーザーからのツイートを返します。私のコードはここにあります:

#Acessando a API do twitter com as chaves
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token_key, access_token_secret)

#Chamando o Listener com o tweepy
api = tweepy.API(auth)

#Chama o stream e passa o que buscar no twitter.
sapi = tweepy.streaming.Stream(auth, CustomStreamListener())
list_users = ['11111','22222']   #Some ids
list_terms = ['term1','term2']   #Some terms
sapi.filter(follow=list_users, track=list_terms)

これらの2つの変数(list_userslist_terms)は、それぞれユーザーIDのリストと用語のリストです。

ツイートストリームをユーザーと用語でフィルタリングするにはどうすればよいですか?ツイーピーフィルターでそれを行う方法はありますか?または、ツイートを取得した後に検証を行う必要がありますか?

4

1 に答える 1

1

TwitterストリーミングAPIは、ORロジックを使用してさまざまな条件を評価します。つまり、用語とユーザーからのツイートの結合を返します。したがってon_data、でフィルタリングするには、カスタム関数を実装する必要がありますAND

最大5000ユーザーと400タームの条件に制限されており、レート制限が問題になる可能性があるため、ツイートストリームが少なくなる条件をAPIに提供し、残りのすべての条件で受信データをフィルタリングすることに注意してください後処理で。

最大5,000人のユーザーと400人のキーワードを追跡できます。レート制限は実際にFirehoseの1%で有効になるため、キーワードとユーザーの結合によるツイートの量が、 Firehoseの「リアルタイム」では、ツイートの最大1%と、見逃したツイートの数を通知するレート制限通知が表示されます。

于 2013-12-20T22:44:36.653 に答える