【问题标题】:Unable to catch urllib 404 Error when downloading images [duplicate]下载图像时无法捕获 urllib 404 错误 [重复]
【发布时间】:2017-02-10 08:28:33
【问题描述】:

用这段代码运行 python 3,我一辈子都抓不到这个 404 错误。如果找不到图像,urllib.error.HTTPError: HTTP Error 404: Not Founddl_image = urllib.request.urlretrieve(cam_url, "thumbnail" + str(1 + img_num[0]) + ".jpg"):

import requests
# import json
# import re
import random
import urllib
def random_cam(img_num=[0]):
    cam_url = url + camera_IDs[img_num[0]] + trailing_url
    dl_image = urllib.request.urlretrieve(cam_url, "thumbnail" + str(1 + img_num[0]) + ".jpg")
    if img_num == [0]:  # makes sure to only shuffle camera order once to avoid duplicate camera thumbnails
        random.shuffle(camera_rand)
    try:
        dl_image
    except urllib.error.HTTPError:
        print ("image not found or camera is offline")
        img_num[0] += 2 # skip over index that throws an error and download next image in line
        dl_image
    else:
        print (cam_url)
        img_num[0] += 1
        return img_num[0]

【问题讨论】:

  • 你能发布回溯吗?
  • dl_image = urllib.request.urlretrieve(cam_url, "thumbnail" + str(1 + img_num[0]) + ".jpg"): 处引发错误,将try 语句放在该行之前。
  • @JRodDynamite 就是这样!当解决方案就在我面前时,我正在殴打自己,发布答案,我会接受它。

标签: python urllib


【解决方案1】:

错误在

处引发
dl_image = urllib.request.urlretrieve(cam_url, "thumbnail" + str(1 + img_num[0]) + ".jpg") 

只需将try 语句放在该行之前

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    • 2012-10-28
    相关资源
    最近更新 更多