быстрее получать подписчики_данных / друзей_идейцев из API Tweepy - PullRequest
0 голосов
/ 15 марта 2020

Я работаю над проектом, в котором мне нужно знать идентификаторы подписчиков и идентификаторы друзей каждого пользователя в сети из ~ 1000 пользователей. Я написал код, который делает это, но каждый раз, когда я достигаю страшного предела скорости, и должен ждать каждый раз в течение 15 минут, что приведет к 16 часам сбора данных. Я задавался вопросом, есть ли способ обойти это время до минимума.

Код ниже:

auth = OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)

def get_r(api, usr_ids):
    usr_ids.sort()

    followers = []
    friends = []
    for idx, usr_id in enumerate(usr_ids):

        followers_arr = np.array(api.followers_ids(user_id=usr_id), dtype=np.int64)
        friends_arr = np.array(api.friends_ids(user_id=usr_id), dtype=np.int64)

        followers.append(followers_arr)
        friends.append(friends_arr)

    return followers, friends
uids = [  742143,   759251,   807095,   813286,  1652541,  1917731,
    2768501,  4970411,  5526692,  8628872,  8802752, 11134252,
   12321952, 12701412, 14780430, 15446551, 15593696, 15606092,
   15745368, 15764644, 15846407, 16260333, 16602052, 17469289,
   17494010, 17506128, 17805878, 18082945, 18465455, 18956073,
   19211550, 19739126, 19750159, 20003409, 20015311, 20545055,
   20926233, 22873328, 24514768, 25073877, 25596707, 25974425,
   26642006, 27493883, 28381177]
get_r(api=api, usr_ids=uids )
...