0

まず、背景を少し。

私のPythonは中級レベルです。MongoDB/Redis/Flask は初めてです。

この質問に効果的に答えるには、このヒート マップがどのように機能するかをブログ ライターから理解するために時間を割いていただく必要があると思います。
このブログのコード リポジトリを使用しています:
http://blog.comsysto.com/2012/07/10/real-time-twitter-heat-map-with-mongodb/#comment-770

これは、Git のこのリンクで入手できます:
https://github.com/comsysto/twitter-realtime-heatmap

レディス始めました。
MongoDB で、データベース tstream の下に tweets_tail という名前の上限付きコレクションを作成しました。実際、tstream.tweets_tail.isCapped() は true を返します。
tstream.py を実行するときは、StreamListener クラスの各関数内に print ステートメントを配置しました。これらの関数は、実行時に実際に呼び出されることはありません。

tweet_service.py を実行すると、次のようになります。

avon:heatmap kalil$ python tweet_service.py
* 実行中http://0.0.0.0:5000/
* リロード
開始から終了まで再起動中...
1
127.0.0.1 - - [2012 年 7 月 24 日 14:57:54] "GET /tweets?callback=loomit HTTP/ 1.1" 200 -

tweet_service.py では、それが pubsub.listen() 関数の最初の繰り返しにあると出力しているようです。

ただし、コレクションへのクエリがあるため、それ以上の新しいツイートは取得しません。

デシベル。つぶやき_tail.count()
0

これは、Tweepy のストリーミング API が壊れていることで有名であり (私の研究室ではこのように語られています)、何かツイートが受信されて MongoDB に保存されていないことと関係があると思われます。実際には、私には手がかりがありません。

何かお役に立てれば幸いです。さらに情報が必要な場合はお知らせください。

4

1 に答える 1

0

私はそれを考え出した。Tweepy が原因でした。新しいコミットによって多くのストリーミングの問題が修正されているため、最新バージョンを使用していることを確認してください。

于 2012-07-24T22:36:06.710 に答える