互联网连接中断几秒钟后,Tweepy 光标将退出



试图从Twitter获取数据,我使用以下代码:

api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)    
for tweet in tweepy.Cursor(api.search, q='#WorldCup -filter:retweets since:2017-6-5 lang:en', tweet_mode='extended').items():
json.dump(tweet._json, file, sort_keys=True, indent=4)
num += 1
print "Writing to JSON tweet number : " + str(num)

它运行良好,但问题是当互联网连接仅中断 10 秒并重新连接时,它将在 60 秒后停止并退出并出现错误:

Failed to send request: HTTPSConnectionPool(host='api.twitter.com', port=443): Read timed out. (read timeout=60)

如何将其更改为重新连接到互联网后恢复?

你可以像这样把代码放在一个循环中:

import time
api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)
while True:
try:
for tweet in tweepy.Cursor(api.search, q='#WorldCup -filter:retweets since:2017-6-5 lang:en', tweet_mode='extended').items():
json.dump(tweet._json, file, sort_keys=True, indent=4)
num += 1
print "Writing to JSON tweet number : " + str(num)
except tweepy.error.TweepError as e:
print(str(e))
time.sleep(60) # next search in 60 seconds, either it worked or not

最新更新