2016-11-01 3 views
0

tweepy에서 스트리밍되는 큰 트윗 데이터가 있습니다. 해당 데이터로부터 트윗을 (으)로 복원하고 싶습니다. tweepy 추출 각 트윗 내가 API.get_status (ID)를 트윗 성공적 후 검색되는 예외를 제기하는 경우는 다른 삭제되지 않은 경우, 트윗을 검색 방법 I가 가정 사용하는 고유 한 ID를 가지고 짹짹이 삭제됩니다. tweepy 데이터에서 삭제 된 트윗을 확인하십시오.

auth = OAuthHandler(ckey,csecret)   
auth.set_access_token(atoken, asecret) 
api = tweepy.API(auth) 
x = 570345457618006016 
try: 
    tweet = api.get_status(x) 
except Exception, e: 
    print "deleted Tweet", tweet.text 
    pass 

그러나이 방법

, 나는 종종 발생한 예외 인해 관련이없는 트윗을 얻을 :

Failed to send request: HTTPSConnectionPool(host='api.twitter.com', port=443): Max retries exceeded with url: /1.1/statuses/show.json?id=570500313653776384 (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x1fce3810>: Failed to establish a new connection: [Errno 111] Connection refused',)) 

사람이 내 코퍼스

에서 삭제 된 트윗을 식별 할 수있는 방법을 제안 할 수

답변

0

모든 예외와 동일한 방식으로 을 처리하고 있습니다. 삭제 된 트윗과 속도 제한으로 인해 발생하는 트윗과 다르게 처리해야합니다. 그러나 두 가지 종류의 예외를 처리하기보다는 속도 제한을 지키지 않아도됩니다.

한계를 너무 자주 적용하면 애플리케이션이 차단 될 수 있으므로 중지하기 전에 중지해야합니다. 15 분마다 180 건의 요청을 할 수 있습니다. 180 건의 요청마다 15 분 동안 잠자기하면 코드가 정상적으로 작동합니다.

+0

tweepy가 자동으로 필요한 양을 대기하게하려면 ['wait_on_rate_limit'] (https://github.com/tweepy/tweepy/blob/master/tweepy/api.py#L44)를 'True'로 설정할 수도 있습니다 시간. –

+0

나는 이미이 옵션에 문제가있어서 주로 아무것도하지 못했다. 어쩌면 내가 잘못했거나 Tweepy에 문제가 있었을 수도 있습니다. 결과적으로 저는 그것을 신뢰하지 않습니다. – Efferalgan

관련 문제