我有一个成千上万的URL,我需要这些URL来获取图像。
这些URL存储在一个列表中,并在运行以下代码的每个URL上进行迭代。该示例显示了特定的网址:
from PIL import Image, ImageFile
import requests
from io import BytesIO
import urllib
ImageFile.LOAD_TRUNCATED_IMAGES = True
URL = 'https://www.sedie.ws/dynamic/common/data/d/files/45000/45217_2_3-med.jpg'
label = 'table'
r = requests.get(url = URL)
filepath = "{}.jpeg".format(label)
try:
response = requests.get(URL)
data = response.raw.read()
data = BytesIO(data)
im = Image.open(BytesIO(response.content))
im.thumbnail((64, 64))
im.save(filepath)
count += 1
except IOError as e:
print(e, URL, '\n')
但是这将返回错误:
cannot identify image file <_io.BytesIO object at 0x7f890a076db0> https://www.sedie.ws/dynamic/common/data/d/files/45000/45217_2_3-med.jpg
有人可以解释如何正确处理此图像吗?我只想跳过此文件而不必下载它,但是我发现我的尝试捕获程序仍将一些文件保存到本地系统中。但是,在尝试阅读它们时,我也遇到了以上错误。