0
我的代碼嘗試在2014-10-01收集關於「cars」的推文。爲了處理速率限制或任何其他與Twitter相關的錯誤(即超過容量),我最終實現了代碼,告訴程序停止並等待TminepError發生時的20分鐘。嘗試繞過「Rate limits」和其他Twitter API錯誤失敗
不幸的是,由於腳本崩潰,它不工作,我仍然可以看到速率限制錯誤消息。請指教,謝謝。
import tweepy
import time
import csv
ckey = "xxx"
csecret = "xxx"
atoken = "xxx-xxx"
asecret = "xxx"
OAUTH_KEYS = {'consumer_key':ckey, 'consumer_secret':csecret,
'access_token_key':atoken, 'access_token_secret':asecret}
auth = tweepy.OAuthHandler(OAUTH_KEYS['consumer_key'], OAUTH_KEYS['consumer_secret'])
api = tweepy.API(auth)
startSince = '2014-10-01'
endUntil = '2014-10-02'
searchTerms = 'cars'
for tweet in tweepy.Cursor(api.search, q=searchTerms,
since=startSince, until=endUntil).items(999999999):
try:
print "Name:", tweet.author.name.encode('utf8')
print "Screen-name:", tweet.author.screen_name.encode('utf8')
print "Tweet created:", tweet.created_at
except tweepy.error.TweepError:
time.sleep(60*20)
continue
except tweepy.TweepError:
time.sleep(60*20)
continue
except TweepError:
time.sleep(60*20)
continue
except IOError:
time.sleep(60*5)
continue
except StopIteration:
break
你爲什麼不使用流API?它沒有速率限制 - https://dev.twitter.com/streaming/overview – 2014-10-06 08:41:28
哦,我不知道流媒體API沒有速率限制。雖然我認爲獲得前一天的API數據對於我的項目來說更好,因爲1)我擔心互聯網是否出現故障,流式傳輸將丟失大量數據,而要從API調用1%前一天的推文,如果情況變差,我可以重試,2)我實際上並不需要流式傳輸數據,因爲我的當前應用程序不需要立即獲取數據。 – KubiK888 2014-10-06 16:52:21