python-3.x - 无法捕获TweepError异常

标签 python-3.x twitter error-handling exception-handling tweepy

我试图在一段时间内捕获TweepError异常-尝试-循环除外,但未成功。当发生TweepError/RateLimitError时,以下代码保持停止运行。

    import tweepy
    import time
    name_set = ('name1','name2','name3')
    result = []
    for screen_name in name_set:
        while True:
           profile = api.get_user(screen_name = screen_name)
           try:
               print('collecting user %s'%screen_name)
               result.append(profile)
               break
           except tweepy.RateLimitError:
               print('sleep 15 minutes')
               sleep(900)
               continue
           except tweepy.TweepError as e:
               print(e)
               print('Account %s'%screen_name)
               break
           else:
               print('Account %s'%screen_name)
               break

TweepError

TweepError: [{'message': 'User not found.', 'code': 50}]

最佳答案

您应该在try块中放置一个API调用语句以捕获异常:

try:
    profile = api.get_user(screen_name = screen_name)
    print('collecting user %s'%screen_name)
    ...

关于python-3.x - 无法捕获TweepError异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45897600/

相关文章:

python - 尝试解决将字符串转换为列表中的整数时遇到不同的错误

python-3.x - 如何测试具有多个输入调用的循环?

python - 如何使用正则表达式删除标签、@user、推文链接

php - 搜索查询,例如 Twitter 热门话题

Python - 将值传递到 Dataframe 时出现问题

c# - 如何在不继承的情况下向自定义错误页面提供错误消息?

PHP catch 无法打开流 : HTTP request failed! HTTP/1.1 401 Unauthorized

python - 如何将字典中的值放入变量

python - 复制项目并根据机会将其添加到列表中

python - 如何创建一个变量,其值在文件重新加载时保持不变?