2013-07-17 6 views
11

Можно ли ограничить скорость загрузки запросов GET с помощью библиотеки Python requests? Например, с такой командой:Как ограничить скорость загрузки HTTP-запросов в библиотеках python запросов?

r = requests.get('https://stackoverflow.com/') 

... можно ли ограничить скорость загрузки? Я надеюсь, что-то похожее на эту wget команду:

wget --limit-rate=20k https://stackoverflow.com/ 

Я знаю, что это possible с urllib2. Я спрашиваю конкретно о библиотеке requests.

ответ

7

Существует несколько подходов к ограничению скорости; один из них - token bucket, для которого вы можете найти a recipe here и another one here.

Обычно вы хотите делать дросселирование или ограничение скорости на socket.send() и socket.recv(). Вы могли бы сыграть с socket-throttle и посмотреть, делает ли он то, что вам нужно.


Это не следует путать с x-ratelimit rate limiting response headers, которые связаны с количеством запросов, а не скорости загрузки/передачи.

Смежные вопросы