2017-11-29 48 views
0

다음 코드를 실행하고 아래에 복사 된 '88'오류를 수신하려고합니다. 트위터 계정 핸들을 제거했지만 25k 계정 핸들을 포함 시켰습니다. 각 계정 핸들은 약 3k-80k 팔로어 (아마도 평균 약 20k)를가집니다.트위터 속도 제한 기 (파이썬)를 피하기위한 Tweepy 구현

import time 
import tweepy 
import csv 
from itertools import zip_longest 

auth = tweepy.OAuthHandler('', '') 
auth.set_access_token('', '') 

api = tweepy.API(auth) 

accounts = [25 twitter account handles here as strings] 

numberOfAccts = len(accounts) 
d = [[''],[''],[''],[''],[''],[''],[''],[''],[''],[''],[''],[''],[''],[''],[''],[''],[''],[''],[''],[''],[''],[''],[''],[''],['']] 

with open('FollowerIDLists.csv', 'a', newline="") as f: 
    #writer = csv.writer(f) 
    for i in range(0, numberOfAccts): 
     print(accounts[i]) 
     ids = [] 
     for page in tweepy.Cursor(api.followers_ids, screen_name=accounts[i]).pages(): 
      ids.extend(page) 
      time.sleep(60) 
     d[i] = ids 
    export_data = zip_longest(*d, fillvalue = '') 
    wr = csv.writer(f) 
    wr.writerow(accounts) 
    wr.writerows(export_data) 
f.close() 

그리고 여기 오류입니다 : 나는 속도 제한을 피하기 위해 올바른 방법은 'wait_on_rate_limit'와 'wait_on_rate_limit_notify'의 조합을 사용하는 것입니다 들었습니다

Traceback (most recent call last): 
    File "C:\Users\USER\Desktop\composeFollowerIDLists.py", line 30, in <module> 
    for page in tweepy.Cursor(api.followers_ids, screen_name=accounts[i]).pages(): 
    File "C:\Users\USER\AppData\Local\Programs\Python\Python36-32\lib\site-packages\tweepy\cursor.py", line 49, in __next__ 
    return self.next() 
    File "C:\Users\USER\AppData\Local\Programs\Python\Python36-32\lib\site-packages\tweepy\cursor.py", line 75, in next 
    **self.kargs) 
    File "C:\Users\USER\AppData\Local\Programs\Python\Python36-32\lib\site-packages\tweepy\binder.py", line 245, in _call 
    return method.execute() 
    File "C:\Users\USER\AppData\Local\Programs\Python\Python36-32\lib\site-packages\tweepy\binder.py", line 227, in execute 
    raise RateLimitError(error_msg, resp) 
tweepy.error.RateLimitError: [{'message': 'Rate limit exceeded', 'code': 88}] 

,하지만 난하지 않습니다 위의 내용을 구현하는 방법을 알고 있어야합니다. 당신이 볼 수 있듯이, 나는 time.sleep (60) 명령어로 실패했다. 나에게 손을 빌려줄 수있는 사람?

답변