我正在做一个项目,在这个项目中,我需要知道大约1000个用户的网络中每个用户的follower id和friend id。我已经编写了一个这样做的代码,但是每次我达到可怕的速率限制,每次都要等待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 )