我正在使用python从在线api解析json文件并访问静态图片网址,然后可以使用简单的urllib.urlretrieve下载。
我打算下载大量图片(〜8k),我意识到这是一遍又一遍的网站要求。我有一个time.sleep函数来防止url过载,但是这会使程序花费很长时间。因此,我将其设置为可以运行一整夜,并且对于前6k来说都没有问题,然后抛出了超时错误,我想是因为它已连接至服务器很长时间了。
有没有一种方法可以防止这种情况,或者我应该尝试以较小的增量下载文件以限制我连接到服务器的时间。
for i, obsImg in enumerate(obsImages):
fullImgURL = obsImg['url']
fileName = f'{taxonName}_{userName}_{i + 1}.jpg'
print(fileName)
urllib.request.urlretrieve(fullImgURL, fileName)
time.sleep(1.1)