Я никогда не использовал zenpy прежде, но я могу поделиться своим опытом, что при вызове API или поиске сайтов первым подходом является добавление времени ожидания между каждым вызовом.Так, чтобы привести пример с вашим кодом, это может быть что-то вроде этого:
import zenpy, datetime, zdcreds, time, random
zenpy_client = zenpy.Zenpy(proactive_ratelimit=700, **zdcreds.creds)
#later this will pull from a csv or excel range
ticket_list = [799380, 805404]
pre_df = {'ticket_id':[], 'comment_text':[], 'author_id':[]}
for t in ticket_list:
for comment in zenpy_client.tickets.comments(ticket=t):
pre_df['ticket_id'].append(t)
pre_df['comment_text'].append(comment.body)
pre_df['author_id'].append(comment.author)
time.sleep(random.randint(2,5))
#will output data to file
Так что это добавит случайное время ожидания между 2-5 секундами к вашему коду.Вы можете проверить некоторые цифры и посмотреть, какая из них лучше работает, чтобы избежать ограничений скорости.Вы также можете сохранить постоянное время сна, но некоторые API могут поймать это, я думаю.Это, скорее всего, позволит избежать чрезмерных звонков.Ваш код будет выполняться дольше, но не достигнет ограничения скорости.