我有一组带索引的图片网址,现在我想通过下载程序解析它,可以一次下载多个文件以加快处理速度。
我尝试将文件名和URL放到dicts(分别是name和d2),然后使用请求和线程来执行此操作:
def Thread(start,stop):
for i in range(start, stop):
url = d2[i]
r = requests.get(url)
with open('assayImage/{}'.format(name[i]), 'wb') as f:
f.write(r.content)
for n in range(0, len(d2), 1500):
stop = n + 1500 if n +1500 <= len(d2) else len(d2)
threading.Thread(target = Thread, args = (n,stop)).start()
但是,有时连接超时并且不会下载该文件,过一会儿,下载速度会急剧下降。例如,对于前1个小时,我可以下载10000个文件,但3个小时后我只能下载8000个文件。每个文件都很小,大约500KB。
所以,我想问一下有没有稳定的方法可以下载大量的多个文件?我非常感谢你的回答。