Я работаю над проектом, в котором мне нужно знать идентификаторы подписчиков и идентификаторы друзей каждого пользователя в сети из ~ 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 )