为了下载文件,我创建了一个urlopen对象(urllib2类)并分块读取它。
我想要多次连接到服务器,并在六个不同的会话中下载文件。这样做,下载速度应该会更快。许多下载管理器都有这个功能。
我想指定我想在每个会话中下载的文件部分,并以某种方式在同一时间处理所有会话。我不确定我如何才能做到这一点。
发布于 2012-01-26 01:51:30
听起来您想要使用HTTP Range的一种可用的风格。
编辑更新链接,指向w3.org存储的RFC
发布于 2012-01-26 05:05:57
至于运行并行请求,您可能希望使用urllib3或requests。
我花了一些时间列出了一系列类似的问题:
查找[python] +download +concurrent会给出这些有趣的结果:
查找[python] +http +concurrent会给出以下结果:
寻找[python] +urllib2 +slow
寻找[python] +download +many
发布于 2012-11-22 05:39:43
正如我们已经讨论过的,我用PycURL做了这样一个例子。
我必须做的唯一一件事就是使用pycurl_instance.setopt(pycurl_instance.NOSIGNAL, 1)来防止崩溃。
我确实使用了APScheduler在单独的线程中触发请求。多亏了您的建议,在主线程中将busy waiting while True: pass更改为while True: time.sleep(3),代码的行为相当不错,来自python-daemon包应用程序的Runner模块的使用几乎已经准备好用作典型的UN*X守护进程。
https://stackoverflow.com/questions/9007456
复制相似问题