Я создаю веб-сборщик на Python, используя библиотеку Requests для сбора данных из общедоступного API, который обеспечивает ограничение скорости (возвращает HTTP 429 Too Many Requests после ~50 запросов в минуту).
У меня уже есть работающее решение, использующее time.sleep() и экспоненциальную отсрочку, но я ищу самый чистый и эффективный подход, готовый к производству.
Вот мой текущий код:
import requests
import time
from requests.adapters import HTTPAdapter
from urllib3.util import Retry
session = requests.Session()
retries = Retry(total=10, backoff_factor=1, status_forcelist=\[429, 500, 502, 503, 504\])
session.mount('https://', HTTPAdapter(max_retries=retries))
Подробнее здесь: https://stackoverflow.com/questions/798 ... n-scraping
Мобильная версия