使用python下载数千个文件的最快方法?

Mic*_*ael 6 python csv urllib python-3.x

我需要下载一千个 csv 文件大小:20KB - 350KB。到目前为止,这是我的代码:

我正在使用urllib.request.urlretrieve. 用它我下载了数千个文件,所有文件的大小加在一起:250MB,一个多小时。

所以我的问题是:

我怎样才能比一小时更快地下载数千个 csv 文件?

谢谢!

Len*_*bro 6

花费这么长时间的最可能原因是打开连接发出请求、获取文件并再次关闭连接需要时间。

一小时一千个文件是每个文件 3.6 秒,这是很高的,但是您正在下载的站点可能会很慢。

要做的第一件事是使用 HTTP/2.0 并使用 Keep-Alive 为所有文件打开一个连接。最简单的方法是使用Requests库,并使用session。

如果这还不够快,那么您需要使用multiprocessing或threads进行多次并行下载。