1

Python-tweepy apiを学習する際に、最新の10秒間隔内に新しいツイートがあったかどうかを示すコードを少しまとめました(もちろん、実際にはコードが10秒以上あるためです。実行sleep(10)するのにも時間がかかります):

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メソッドは、私のアカウントが認証された状態でtweepyapiを返します。

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

私は次のようなコードがあると想像していました:

api.set_home_timeline_handler(tweetHandler)

tweetHandlerは、新しいツイートがあるたびに呼び出されます。

4

1 に答える 1

1

これがTwitterAPIの仕組みです。Twitterの内容について知りたいときはいつでも質問があります。https://dev.twitter.com/docs/rate-limitingただし、10秒ごとのレート制限は最大値を超えていることに注意してください。

または、ストリーミングAPIがありhttps://dev.twitter.com/docs/streaming-api/methodsます。これは想像どおりに機能しますが、タイムラインをチェックするよりも大きなタスク用です。

于 2012-05-07T06:46:42.690 に答える