Python: Как получить, обработать, преобразовать url изображения с расширением ".thumb"? - PullRequest
0 голосов
/ 01 августа 2020

Что можно использовать для чтения, обработки, преобразования, сохранения и т. Д. c. URL-адрес изображения с расширением ".thumb"?

Я редко видел URL-адрес изображения с расширением ".thumb", поэтому не уверен, какой инструмент использовать с ним.

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

import requests
import shutil

image_url = 'https://slickdeals.net/attachment/5/4/8/0/7/1/200x200/9242327.thumb'
resp = requests.get(image_url, stream = True)
local_file = open('local_image.thumb', 'wb')
resp.raw.decode_content = True
shutil.copyfileobj(resp.raw, local_file)
del resp

То же самое, если я сохраню его как .jpg или .png. Изображение пустое.

1 Ответ

2 голосов
/ 01 августа 2020

Вы не можете преобразовать его напрямую, потому что байты изображения *.thumb не *.jpg или *.png.

И нет необходимости использовать stream=True в вашем коде. изображение не очень большое. Этот код можно загрузить напрямую:

import requests

image_url = 'https://slickdeals.net/attachment/5/4/8/0/7/1/200x200/9242327.thumb'
resp = requests.get(image_url)
with open('local_image.thumb', 'wb') as f:
    f.write(resp.content)

И вы также можете использовать PIL, чтобы преобразовать его в jpg, например:

import requests, io
from PIL import Image

image_url = 'https://slickdeals.net/attachment/5/4/8/0/7/1/200x200/9242327.thumb'
resp = requests.get(image_url)
image = Image.open(io.BytesIO(resp.content))
image.save("local_image.jpg")
...