Python Requests Image
Python Requests library is one of the most popular libraries used for making HTTP requests in Python. It is used to interact with websites and APIs, and perform various tasks such as downloading files, extracting data from websites, etc. One of the common tasks is to download images from the web.
Using Requests and PIL Library
The most common way to download images using Python Requests is by using the Pillow (PIL) library to save the image from the response. Here's an example:
import requests
from PIL import Image
# Make request
response = requests.get("https://url_to_image.com")
# Save image
with open("image.jpg", "wb") as f:
f.write(response.content)
# Open image
img = Image.open("image.jpg")
img.show()
In this code, we first make a request to the URL of the image, and save the content of the response to a file called "image.jpg". We then open the file using the PIL library and display it using the show() method.
Using Requests and BytesIO
Another way to download images using Python Requests is by using the BytesIO object to read the content of the response and save it to a file. Here's an example:
import requests
from PIL import Image
from io import BytesIO
# Make request
response = requests.get("https://url_to_image.com")
# Save image
img = Image.open(BytesIO(response.content))
img.save("image.jpg")
# Open image
img.show()
In this code, we first make a request to the URL of the image, and read the content of the response using the BytesIO object. We then open the image using the PIL library and save it to a file called "image.jpg". We then display the image using the show() method.
Using Requests and OpenCV Library
If you want to perform image processing tasks on the downloaded image, you can use the OpenCV library along with Python Requests. Here's an example:
import requests
import cv2
import numpy as np
# Make request
response = requests.get("https://url_to_image.com")
# Read image
img_array = np.array(bytearray(response.content), dtype=np.uint8)
img = cv2.imdecode(img_array, cv2.IMREAD_COLOR)
# Display image
cv2.imshow("Image", img)
cv2.waitKey(0)
In this code, we first make a request to the URL of the image, and read the content of the response as a byte array using NumPy. We then decode the byte array using OpenCV's imdecode() function, and display the image using OpenCV's imshow() function.