2016-10-02 43 views
-1

用此代碼運行python 3,我無法爲我的生活捕捉到這個404錯誤。如果沒有找到圖像,urllib.error.HTTPError: HTTP Error 404: Not Found提高在 dl_image = urllib.request.urlretrieve(cam_url, "thumbnail" + str(1 + img_num[0]) + ".jpg")無法捕獲urllib 404下載圖像時出錯

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] 
+0

你能後的追蹤? – WildCard

+0

在'dl_image = urllib.request.urlretrieve(cam_url,「thumbnail」+ str(1 + img_num [0])+「.jpg」)引發錯誤:'將try語句放在該行之前。 – JRodDynamite

+0

@JRodDynamite就是這樣!當解決方案就在我面前時,我正在毆打自己,發表一個答案,我會接受它。 –

回答

1

誤差以

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

提出只需將try語句行之前