【发布时间】:2018-05-26 20:02:50
【问题描述】:
我正在使用 tweepy API 来提取推文并将其显示在网页上。尽管我每 1 小时自动刷新一次代码以提取推文,但在代码连续运行大约 24 小时后,我最终得到了以下 TweepError。 错误:
tweepy.error.TweepError:Twitter 错误响应:状态码 = 429
我了解此代码意味着对 API 的请求过多。有没有办法处理这个错误?我什至尝试将刷新率间隔增加到 2 小时,但似乎仍然不起作用。
以下是提取推文并存储在 CSV 中的代码:
def extract_tweet(self):
consumer_key = 'XXX'
consumer_secret = 'XXX'
access_token = 'YYY'
access_token_secret = 'YYY'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
csvFile = open('HELLOTWITTER.csv', 'w', newline='', encoding='utf-8')
csvWriter = csv.writer(csvFile)
for tweet in tweepy.Cursor(api.search,q="#cybersecurity OR #InfoSec", since="2017-10-20",lang="en").items(10):
csvWriter.writerow([tweet.text, tweet.created_at])
csvFile.close()
我查看了 API 文档并偶然发现了 wait_on_rate_limit,但不明白这是否是解决此错误的方法。 请帮忙!谢谢。
【问题讨论】:
-
你可以Retrying包。它有很多选项来处理发生错误时的重试行为。
-
@GarbageCollector :那个包看起来是个不错的解决方案!但我无法将它写入我的代码。你能告诉我如何将它集成到问题中的功能中吗?