首页 > 解决方案 > 我如何知道我的程序在从 Web 下载图像时发生了什么错误,以及如何在 Python 中处理这个错误?

问题描述

我正在从具有序列格式的图像 url 的网站下载一些图像。

每次我运行循环时,它都会卡在任何随机点,例如在 50 张图像之后或有时在下载 70 张图像和it doesn't throw any type of error and just get stuck. 我该如何处理这个问题,以确保我一次下载所有内容而没有任何停止?

import urllib.request
from urllib.error import HTTPError
from urllib.error import URLError
import time

for i in range(1,240):
    filepath = r"C:\Users\....\Image collector\\"
    filename = f'{i:03}'+".jpg"
    fullpath = filepath+filename
    print(fullpath)

    url = "https://www.somerandomxyzwebsite.com/abc_"+f'{i:03}'+".jpg"

    try:
        urllib.request.urlretrieve(url, fullpath)          

    except HTTPError as e:
        print(e)

    except URLError:
        print("Server down or incorrect domain")

print('done')

我可以包含一个条件(如果执行时间 > 1 分钟)然后再次点击相同的网址。这是一种正确的方法还是有其他方法来处理这种情况?

标签: pythonpython-3.x

解决方案


推荐阅读