Какие библиотеки там позволяют Вам контролировать скорость загрузки сетевых запросов (http в особенности). Я не вижу ничего встроенного в urllib2 (ни в QT (Py), который я предназначаю при использовании).
Может Скрученная пропускная способность управления? В противном случае, как я могу управлять размером буфера чтения urllib2 или Скрученный? sleep
луг для приостановки сетевых операций не является опцией.
Конечно витая может. Вам нужен twisted.protocols.policies.ThrottlingFactory
. Просто заверните в него свою существующую фабрику, прежде чем передавать ее любой фабрике.
urllib2 не предлагает способа сделать это, поэтому вам придется расширить некоторые используемые классы и реализовать ограничение скорости самостоятельно. Возможно, вы захотите взглянуть на этот вопрос. Если вы решите написать ограничитель, почитайте об алгоритмах token bucket и leaky bucket.
В качестве альтернативы можно использовать pycurl вместе с опцией CURLOPTMAXRECVSPEEDLARGE.
EDIT: Пакет urlgrabber, похоже, также поддерживает дросселирование и, вероятно, более прост для понимания, чем pycurl.
Если вы предпочитаете программировать, используя модель событийного цикла, есть подход Twisted, который уже упоминался в другом ответе.