Tengo un enlace de imagen de la API de iMDB, ¿cómo puedo cambiar su tamaño en python?
Estoy tratando de trabajar con la API de IMDb. Mi código hasta ahora es:
import http.client
import json
import requests
conn = http.client.HTTPSConnection("imdb-api.com", 443)
payload = ''
headers = {'User-agent': 'Chrome/95.0'}
conn.request("GET", "https://imdb-api.com/en/API/MostPopularMovies/<api_key>",headers=headers)
res = conn.getresponse()
data = res.read()
convertedDict = json.loads(data.decode("utf-8"))
imagepath = r'venv/files/image.jpeg'
req = requests.get(convertedDict['items'][0]['image'], headers=headers)
with open(imagepath, 'wb') as file:
file.write(req.content)
Esto me permite descargar la imagen de la primera película popular, sin embargo, el tamaño de la imagen es muy pequeño. Este es el enlace que estoy descargando. Sé que si elimino todo después de @, la imagen se volverá mucho más grande. ¿Hay alguna forma de editar el enlace para eliminar todo después de @ e incluso editar los números después de UX con código? Todo lo que intento hacer con operaciones de cadena o URL me da un error.
https://m.media-amazon.com/images/M/MV5BZWMyYzFjYTYtNTRjYi00OGExLWE2YzgtOGRmYjAxZTU3NzBiXkEyXkFqcGdeQXVyMzQ0MzA0NTM@.V1UX128CR0,3,128,176AL_.jpg
Gracias de antemano.
davy.ai
Sí, puedes manipular el enlace para obtener una imagen más grande eliminando todo lo que haya después de “@” y editando los números después de “UX”. Así es cómo puedes modificar el enlace en tu código:
La función
re.split()
divide la URL en “@” y devuelve la parte antes de él. La funciónre.sub()
luego encuentra el patrón “UX” seguido de tres dígitos y un guión bajo, y lo reemplaza con “UX500_”, lo cual te dará una imagen más grande.Ahora puedes usar el
image_url
modificado para descargar una imagen más grande.