我在用Python在Twitter上做一个关于用户社交关系的研究。在
问题是“什么是最快的方式抓取某个用户的关注者信息”
我搜索了很多信息,目前正在使用Tweepy:c = tweepy.Cursor(api.followers_ids, id=centre, count=5000).items()
while True:
try:
followers_ids_list.append(c.next())
except tweepy.TweepError:
# hit rate limit, sleep for 15 minutes
time.sleep(15 * 60 + 15)
continue
之后,我使用/users/lookup根据之前获得的id查找User()对象。在
但是,这条路很慢…我想知道有没有比我现在做的更快的。在
因为我想找到用户关系,这意味着followers in depth 2是不够的。在
比如说,我有100个粉丝,而这100个粉丝有自己的200个粉丝,那么抓住这个社交网络(深度=3)所需的时间是:
(1+100+100*200)/15个电话*15分钟/60分钟=335小时=14天左右!在1个呼叫:请求我的追随者ID(100ID)
100个电话:请求100个追随者ID(100*200ID)
100*200呼叫(至少):请求100*200(关注者的关注者)用户的ID。
我能想到的另一种选择是twitter.com没有api的网站(但是,我想,这样会使我的IP或帐户被禁止在Twitter上使用…)