我希望能够让我的 twython 应用程序长时间运行而无需用户交互。它只是打印出针对我的推文。该程序正在运行,但过了一段时间我收到以下错误:
HTTPSConnectionPool(host='api.twitter.com', port=443): Max retries exceeded with url: /1.1/statuses/mentions_timeline.json?count=20&since_id=392227122070056960 (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)
我使用的是 REST API,而不是流式传输。twython 对象是通过以下方式创建的:
twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
然后我检索提及:
mentions = twitter.get_mentions_timeline(count=20,since_id=sinceID)
该代码每 10 分钟左右重新检查一次,跟踪最新的 since_id,因此只打印出新的推文。
问题:
1) 错误是 twython 错误还是 python 网络库错误?
2)如果出现此错误,在不重新启动程序的情况下重新建立与推特服务器的连接的正确方法是什么?我是否需要先销毁 twython 对象,然后重新创建它并重新与服务器进行身份验证?在 twython 文档中,我只能找到在使用流 API 时关闭连接的提及。
非常感谢任何建议。