2013-07-17 26 views
11

Có thể giới hạn tốc độ tải xuống các yêu cầu GET bằng cách sử dụng thư viện Python requests không? Ví dụ: với lệnh như sau:Làm thế nào để giới hạn tốc độ tải xuống của các yêu cầu HTTP trong thư viện yêu cầu python?

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

... có thể giới hạn tốc độ tải xuống không? Tôi hy vọng cho một cái gì đó tương tự như lệnh này wget:

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

Tôi biết đó là possible với urllib2. Tôi hỏi cụ thể về thư viện requests.

Trả lời

7

Có một số cách tiếp cận để hạn chế tốc độ; một trong số đó là token bucket, mà bạn có thể tìm thấy a recipe hereanother one here.

Thông thường bạn sẽ muốn điều chỉnh hoặc giới hạn tốc độ trên socket.send()socket.recv(). Bạn có thể chơi với socket-throttle và xem nếu nó làm những gì bạn cần.


Điều này không bị nhầm lẫn với x-ratelimit rate limiting response headers, có liên quan đến một số yêu cầu thay vì tỷ lệ tải xuống/chuyển.

Các vấn đề liên quan