1
私はnirgs forked version of Tweepyを使用しています。これは、2017-01-31
と2017-02-01
の間のツイートを取得するために使用する必要があります。私のコードが動作し、Twitters Rate Limitsのために、以前に述べたような遠く離れたつぶやきを扱えるように、複数の認証ハンドラを切り替える必要があります。Tweepy複数の認証ハンドラ
oauth_keys = [["consumer_key_1", "consumer_secret_1", "access_token_1", "access_token_secret_1"], ["consumer_key_2", "consumer_secret_2", "access_token_2", "access_token_secret_2"]]
auths = []
for consumer_key, consumer_secret, access_key, access_secret in oauth_keys:
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
auths.append(auth)
api = tweepy.API(auths, monitor_rate_limit=True)
while True:
try:
for tweet in tweepy.Cursor(api.search, q='bitcoin', since=datetime.date(2017, 1, 31), lang='en').items(3000):
...
except tweepy.TweepError as e:
api.auth_idx += 1
continue
:
File "build/bdist.macosx-10.11-intel/egg/tweepy/api.py", line 45, in auth_idx
IndexError: Index out of bounds
メインのコードは次のようになります。私は私が手に次のエラーがthis instructionを使用しますが、後にレート制限に達するとapi.auth_idx += 1
を使用することにより、次の認証ハンドラへの切り替えをしようとしています私は何が間違っているのか分かりません。どんな助けでも大歓迎です!
は、私にはよさそうです'api = tweepy.API(auths、retry_count = 3、retry_delay = 5、retry_errors = set([401、404、500、503])は、以下のようなブロッキング/待機パラメータでAPIオブジェクトを初期化します。 )、monitor_rate_limit = True、wait_on_rate_limit = True) ' いずれにしても問題ありません。 – nirg