在对游标进行分页时处理tweepy连接问题

时间:2016-04-13 09:51:53

标签: python twitter tweepy

我正在使用tweepy从twitter上获取一些对话。如果存在连接问题,Tweepy有一个讨厌的破坏习惯,所以我正在尝试处理这个并且如果存在连接问题则继续重试,但是我很难在分页游标时弄清楚如何执行此操作。

这是我的代码:

chains = []
for status in tweepy.Cursor(api.search, q='the&filter:replies', count=100).items():
    try:
        status_chain = get_status_chain(api, status.id_str)
        if len(status_chain) > 9:
            chains.append(status_chain)
    except Exception as e:
        # We hit a private message or a connection issue, skip to the next.
        print('Error: {error}. Retrying.'.format(error=e), file=sys.stderr)
        continue
    print(len(chains))
    if len(chains) > 99:
        break

这里有两个问题。最大的问题是try / except仅涵盖get_status_chain()中的调用。如果for status in tweepy.Cursor(api.search, q='the&filter:replies', count=100).items()行出现问题,则异常将无法处理,我的程序将停止。如果在这里发生错误,我想继续在同一点重试,即不再重新启动for循环。

第二个问题是,如果我们遇到连接问题,我真的想重新尝试再次使用相同的链,而不是仅仅进入下一个链,但我不确定如何干净利落地做到这一点。

0 个答案:

没有答案