Как загрузить изображение с измененным размером с помощью Python?

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

urllib.request.urlretrieve("https://img-prod-cms-rt-microsoft-com.akamaized.net/cms/api/am/imageFileData/RE4wyTq?ver=c8e5&quot","image.jpg")

но при этом загружается изображение в реальном размере. Я хочу загрузить это изображение с разной высотой и весом. Что я могу сделать?


person Saksham Kushwaha    schedule 07.09.2020    source источник
comment
Если CMS / веб-приложение, которое управляет этим изображением в Интернете, не предлагает некоторые параметры запроса, которые вы можете добавить (в соответствии со строками &width=400&height=300), чтобы сгенерировать URL-адрес, который дает вам то, что вы хотите, вам нужно будет загрузить полное изображение и изменить его размер локально. , затем выбросьте загруженный файл большего размера. Или, возможно, вы могли бы найти веб-сервис, который мог бы изменять его размер на лету, но это приводит к тому, что запрашивает территорию мнений.   -  person Grismar    schedule 07.09.2020
comment
Для этого вам нужно использовать другую библиотеку, например PIL, и обрабатывать изображение после его загрузки в исходном размере.   -  person fpietka    schedule 07.09.2020
comment
@fpietka, как я могу это сделать, вы можете объяснить с помощью кода   -  person Saksham Kushwaha    schedule 07.09.2020
comment
вы можете следовать приведенному там примеру: stackoverflow.com/a/37631799/1481213   -  person fpietka    schedule 07.09.2020


Ответы (1)


Попробуй это:

from skimage import io
import cv2
width,height = 'some_w', 'some_h'
req = io.imread("https://img-prod-cms-rt-microsoft-com.akamaized.net/cms/api/am/imageFileData/RE4wyTq?ver=c8e5&quot")
cv2.imwrite("image.jpg", cv2.resize(req, (width,height)))
person dimay    schedule 07.09.2020