2012-05-07 4 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를 관리하는 데 쓴 파이썬 단 몇 줄입니다. getApi 메소드는 my account가 인증 된 tweepy api를 리턴합니다.

트위터에 새로운 트윗이 있는지 계속 묻는다면 매우 비효율적 인 것처럼 보입니다. 이것이 정상적으로 수행되는 방법입니까? 그렇지 않다면, 그것을 할 수있는 '정식'방법은 무엇입니까?

내가 거기에 몇 가지 코드처럼 될 것이라고 상상했을 것이다 :

api.set_home_timeline_handler(tweetHandler) 

새로운 트윗이있을 때마다 tweetHandler를 호출 할 것이다.

답변

1

트위터 API의 작동 방식입니다. 트위터에 대해 알고 싶을 때마다 묻습니다. 그러나 매 10 초마다 속도 제한 https://dev.twitter.com/docs/rate-limiting이 최대 값을 초과합니다.

스트리밍 API : https://dev.twitter.com/docs/streaming-api/methods은 상상했던 것처럼 작동하지만 시간대를 확인하는 것보다 더 큰 작업입니다.

관련 문제