2012-05-07 16 views
1

Python-tweepy APIを学ぼうとすると、最近の〜10秒の間隔内に新しいつぶやきがあったかどうかを私に伝えます脇sleep(10)からのコードも)を実行するためにいくつかの時間がかかるので、それが10秒以上である練習:Tweepyを使った通知プログラムの作成

from getApi import getApi 
from time import sleep 
from datetime import datetime 

api = getApi() 
top = api.home_timeline()[0].id 

while True: 
    l = api.home_timeline() 
    if top != l[0].id: 
     top = l[0].id 
     print 'New tweet recognized by Python at: %s' % str(datetime.now()) 
    sleep(10) 

getApi私はtweepyを使用してのOAuthを管理するために書いたのPythonのほんの数行です。 getApiメソッドは、アカウントが認証されたtweepy apiを返します。

新しいツイートがあるかどうかをtwitterに何度も尋ねなければならないと非常に非効率的なようです。これは正常に行われているのでしょうか?そうでない場合、それを行うための「標準的な」方法は何でしょうか?

私はそこにいくつかのコードのようになることを想像したでしょう:

api.set_home_timeline_handler(tweetHandler) 

と新しいつぶやきがあるたびtweetHandlerが呼び出されます。

答えて

1

これはtwitter APIの仕組みです。あなたがTwitter上のものについて知りたいと思うたびに尋ねます。しかし、レート制限のためのhttps://dev.twitter.com/docs/rate-limitingは10秒ごとに最大値を超えていることに注意してください。

ストリーミングAPI:https://dev.twitter.com/docs/streaming-api/methodsはあなたの想像力のように機能しますが、タイムラインを確認するよりも大きな作業です。

関連する問題