我需要下载一千个CSV文件,大小为:20KB-350KB。到目前为止,这是我的代码:
我正在使用urllib.request.urlretrieve
。有了它,我下载了成千上万个大小为250MB的文件,耗时一个多小时。
所以我的问题是:
如何比一小时更快地下载数千个csv文件?
谢谢!
花费这么长时间的原因很可能是打开连接发出请求,获取文件并再次关闭连接需要花费时间。
每小时一千个文件是每个文件3.6秒,这是很高的,但是您从中下载的站点可能很慢。
要做的第一件事是使用HTTP / 2.0,并通过Keep-Alive对所有文件打开一个连接。最简单的方法是使用Requests库,并使用session。
如果这还不够快,那么您需要使用multiprocessing或threads进行多次并行下载。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句