使用python中的tweepy从twitter获取所有关注者id的列表

时间:2014-05-28 16:45:48

标签: python twitter tweepy

我想检索超过100万粉丝的粉丝ID列表。我能够通过限制请求来检索记录。但是因为要检索整个关注者ID,它将花费大约15个小时。但是很长一段时间我都无法继续推动请求。所以我正在寻找一种替代方案,我可以以某种方式存储cursorID,以便在一段时间后我可以从该光标点进行调用,而不是从初始步骤开始。

我的python代码就像这样

  import time
  import tweepy
  consumer_key, consumer_secret, access_token, access_token_secret = "consumerkey", 
                                                                  "" ,  "", ""
  auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
  auth.set_access_token(access_token, access_token_secret)
  api = tweepy.API(auth)
  ids = []
  current_cursor = ""
  for page in tweepy.Cursor(api.followers_ids, screen_name="shahidkapoor").pages():
#current_cursor = cursor.iterator.next_cursor
    cursor = tweepy.Cursor(api.followers_ids, screen_name="shahidkapoor",  
    cursor =  current_cursor)
current_cursor = cursor.iterator.next_cursor
print repr(cursor)
print current_cursor
ids.extend(page)
#print page
time.sleep(20)

  print len(ids)

我想要一些方法来跟踪光标或某些变量,这样我就可以从该位置开始请求,而不是从新鲜开始。

1 个答案:

答案 0 :(得分:1)

对于每次Tweepy搜索,请告诉Twitter只为您提供以前无法看到的内容。

  1. 设置since_id=None

  2. 进行Tweepy搜索,传入since_id

  3. 计算#2

  4. 每行结果的最大ID
  5. 转到#2

  6. 请参阅:https://dev.twitter.com/discussions/21516