1

tweepy.Stream()関数を介してTwitterStreamingAPIを利用するDjangoWebアプリを作成しようとしています。適切な実装を概念化するのに苦労しています。

私が欲しい最も簡単な機能は、ハッシュタグを含むツイートの数をリアルタイムでカウントすることです。そのため、キーワードでフィルタリングしてストリームを開き、接続を介して新しいツイートが来るたびに、カウンターをインクリメントします。その後、そのカウンターはWebページに表示され、AJAXなどで更新されます。

問題は、tweepy.Stream()関数が継続的に実行され、Twitterに接続されている必要があることです(これがポイントです)。(ほぼ)リアルタイムで表示できるカウンターをインクリメントしながら、このストリームをDjangoアプリのバックグラウンドで実行するにはどうすればよいですか?

前もって感謝します!

4

1 に答える 1

6

これを行うにはさまざまな方法がありますが、メッセージングライブラリ(セロリ)を使用するのがおそらく最も簡単です。

1)Pythonプロセスをtweepyで実行し続けます。興味深いメッセージが見つかったら、新しいセロリタスクを作成します

2)このニンジンタスク内で、データをデータベース(カウンター、ツイートなど)に永続化します。このタスクは、djangoコード(ORMなど)をうまく実行できます。

3)タスクが持続した結果を表示する通常のdjangoアプリを用意します。

予防策として、監視下でtweepyプロセスを実行することはおそらく良い理想です(監視対象はあなたのニーズに合うかもしれません)。問題が発生した場合は、自動的に再起動できます。

于 2011-02-05T20:55:47.763 に答える