我正在使用该线程中的代码来限制我的下载速率。
如何将部分下载恢复与速率限制代码合并?我发现的示例使用urlopen
而不是urlretrieve
,并且RateLimit
该类取决于urlretrieve
.
我想要一个控制部分下载的外部函数,而不必更改RateLimit
类:
from throttle import TokenBucket, RateLimit
def retrieve_limit_rate(url, filename, rate_limit):
"""Fetch the contents of urls"""
bucket = TokenBucket(10*rate_limit, rate_limit)
print "rate limit = %.1f kB/s" % (rate_limit,)
print 'Downloading %s...' % filename
rate_limiter = RateLimit(bucket, filename)
#
# What do I put here to allow resuming files?
#
return urllib.urlretrieve(url, filename, rate_limiter)