Python3 urllib для получения изображения
Я пишу небольшой скрипт на Python, чтобы получать изображения с помощью изображений Google. Мне удалось привести все к тому, что у меня есть URL-адреса изображений, которые я хочу, в удобном списке. Теперь мне просто нужно схватить их ...
для каждого URL изображения я делаю это:
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()
Вот проблемы, с которыми я сталкиваюсь:
Попытка открыть некоторые из URL-адресов дает мне 403, хотя я могу открыть URL-адреса прямо в моем браузере. Так что в заголовке HTTP-запроса есть что-то, что серверу изображений не нравится ... есть идеи?
Вот некоторые из результатов:
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