Retreval obrazu Python3 urllib

Piszę mały skrypt Pythona, aby pobrać obrazy za pomocą obrazów google. Udało mi się doprowadzić rzeczy do punktu, w którym znajduję adresy URL obrazów, które chcę na poręcznej liście. Teraz muszę je tylko złapać ...

dla każdego adresu URL obrazu robię to:

    print("Retrieving:{0}".format(sFinalImageURL))
    sExt = sFinalImageURL.split('.')[-1]
    #u = urllib.request.urlopen(sFinalImageURL)
    try:
        u = urllib.request.urlopen(sFinalImageURL)
    except:
        print("error: cannot retrieve image")
        continue
    raw_data = u.read()
    print("read {0} bytes".format(len(raw_data)))
    u.close()
    global sImagesFolder
    try:
        f = open("{0}/{1}_{2}.{3}".format(sImagesFolder,sImage,i,sExt),'wb')
        f.write(raw_data)
        f.close()
    except:
        print("couldn't write to {0}/{1}_{2}.{3}".format(sImagesFolder,sImage,i,sExt))
    print()

Oto problemy, z którymi mam do czynienia:

próba otwarcia niektórych adresów URL daje mi 403, mimo że mogę otworzyć adresy URL bezpośrednio w przeglądarce. Więc jest coś w nagłówku żądania HTTP, że serwer obrazu nie lubi ... żadnych pomysłów?

Oto część wyników:

Retrieving:http://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Timba%2B1.jpg/220px-Timba%2B1.jpg

error: cannot retrieve image

Retrieving:http://upload.wikimedia.org/wikipedia/commons/thumb/2/26/YellowLabradorLooking_new.jpg/260px-YellowLabradorLooking_new.jpg

error: cannot retrieve image
Retrieving:http://1.bp.blogspot.com/-7SsJ1n3RdoA/Tf07NOgD5nI/AAAAAAAAABo/tl8qLLIU01Y/s1600/english-shepherd-dog-0003.jpg

read 11123 bytes

Retrieving:http://completedogfood.net/wp-content/uploads/2010/07/complete-dog-food.bmp
read 419630 bytes

questionAnswers(1)

yourAnswerToTheQuestion