Python URLRetrieve限制速率并恢复部分下载
我正在使用 此线程 中的代码来限制我的下载速率。
如何将部分下载恢复与速率限制代码结合起来?我发现的示例使用 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)
I'm using the code from this thread to limit my download rate.
How do I incorporate partial downloads resuming with the rate limiting code? The examples I've found use urlopen
instead of urlretrieve
, and the RateLimit
class depends on urlretrieve
.
I'd like to have an external function that controls the partial downloading, without having to change the RateLimit
class:
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)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
也许可以使用 PyCurl 代替:
May be able to use PyCurl instead: