Проблема открытия определенных изображений с использованием PIL из URL repsonse - PullRequest
0 голосов
/ 07 февраля 2019

Я работаю над извлечением изображений из URL, немного манипулирую ими и сохраняю их на диск.Это работает на подавляющем большинстве изображений, но есть определенные URL-адреса изображений, которые не работают, несмотря на то, что они нормально загружаются в браузере.Я искал трассировку ошибок, но мне не повезло с различными исправлениями здесь.Ниже приведен пример URL-адреса, извлеченного как ошибка.

OSError: не удается определить файл изображения <объект _io.BytesIO в ...>

from PIL import Image
import requests
from io import BytesIO

urlString = "http://lcl3.com/chemStructures1/A-10400.JPG"
response = requests.get(urlString,headers={'User-Agent': 'Mozilla/5.0'},timeout=10)
img = Image.open(BytesIO(response.content)) #check that it is an image; fails here
rgb_im = img.convert('RGB')
basewidth = 450
wpercent = (basewidth/float(rgb_im.size[0]))
if float(rgb_im.size[0]) > 450:                     
    hsize = int((float(rgb_im.size[1])*float(wpercent)))
    img = img.resize((basewidth,hsize), Image.ANTIALIAS)
    rgb_im.save(image_folder / image_file_name,optimize=True,quality=95)

Я полагаюфайл в другом формате.Для дополнительной справки строка не работает по адресу:

response = запросы.get (urlString, headers = {'User-Agent': 'Mozilla / 5.0'}, время ожидания = 10)

и даетвышеуказанный след.Я уверен, что это, вероятно, однострочник, но я вырвал мои волосы, поэтому любые идеи горячо приветствуются!

Редактировать:

Я считаю, что больше ссылок не работает.Например,

http://www.excelscientific.com/sealplate.jpg
https://www.bioexpress.com/stibo/web/std.lang.all/52/52/4695252.jpg

Я посмотрел исходный код и не могу различить разницу (нетПохоже, что на этих страницах «контент» - это просто изображения, поэтому я уверен, что это проблема с форматом изображения.

...