使用Tweepy编写通知程序

时间:2012-05-07 03:31:46

标签: python twitter tweepy

在尝试学习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只是我编写的几行Python,用于使用tweepy来管理OAuth。 getApi方法返回tweepy api,我的帐户已经过身份验证。

似乎非常低效,我不得不一次又一次地询问Twitter是否有新的推文。这是通常的做法吗?如果没有,那么“规范”的做法是什么?

我会想到会有一些代码:

api.set_home_timeline_handler(tweetHandler)
只要有新的推文,就会调用

和tweetHandler。

1 个答案:

答案 0 :(得分:1)

这就是twitter API的工作方式 - 每次想要了解Twitter上的内容时,都会询问。但要注意每10秒的速率限制https://dev.twitter.com/docs/rate-limiting高于最大值

或者有流式api:https://dev.twitter.com/docs/streaming-api/methods可以像您想象的那样工作,但它比检查您的时间线更重要。