在Python中从URL获取图像:无法识别图像文件<_io.BytesIO对象位于0x7f890a076db0>

时间:2020-05-21 19:56:35

标签: python web-scraping python-requests python-imaging-library

我有一个成千上万的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 

有人可以解释如何正确处理此图像吗?我只想跳过此文件而不必下载它,但是我发现我的尝试捕获程序仍将一些文件保存到本地系统中。但是,在尝试阅读它们时,我也遇到了以上错误。

0 个答案:

没有答案