使用tweepy避免速率限制错误

时间:2016-02-01 15:22:33

标签: python for-loop tweepy ratelimit

我正在尝试获取特定用户关注的所有推特朋友的一些基本信息。我使用for循环来获取此信息,但如果用户有很多朋友,我会收到速率限制错误。我正在努力整合一种方法来绕过速率限制进入我的for循环。谢谢你的任何建议!!

我的原始代码:

data = []
for follower in followers:
    carrot = api.get_user(follower)
    data.append("[")
    data.append(carrot.screen_name)
    data.append(carrot.description)
    data.append("]")

我试图绕过限速错误:

data = []
for follower in followers:
    carrot = api.get_user(follower,include_entities=True)
    while True:
        try:
            data.append("[")
            data.append(carrot.screen_name)
            data.append(carrot.description)
            data.append("]")
        except tweepy.TweepError:
            time.sleep(60 * 15)
            continue
        except StopIteration:
            break

1 个答案:

答案 0 :(得分:0)

问题可能是get_user可能抛出错误。尝试将api.get_user放入异常块

以下代码。

data = []
for follower in followers:
    while True:
        try:
            carrot = api.get_user(follower,include_entities=True)
        except tweepy.TweepError:
            time.sleep(60 * 15)
            continue
        except StopIteration:
            pass
        break
    data.append([carrot.screen_name, carrot.description])

您打算如何存储这些值?

不易使用以下内容
  

[约翰,旅行者]

与您的代码相反,将其存储为

  

[“[,John,Traveler,”]“]