image url tumblr

image - ¿Cuál es el esquema de URL de las imágenes de Tumblr?



(2)

Visión general

Cuando carga una imagen en Tumblr, se generan y almacenan múltiples tamaños (de la misma imagen) en su red.

Una vez cargada, puede usar etiquetas de plantilla para solicitar esta imagen en los siguientes tamaños: 75 , 100 , 250 , 400 , 500 y 1280 .

Vale la pena mencionar lo siguiente:

  1. El valor en la etiqueta de la plantilla es el tamaño máximo que tendrá la imagen solicitada. Ejemplo: una versión 400 de una imagen puede estar en cualquier lugar entre 251px y 400px de ancho / alto.
  2. Puede que no haya una versión de alta resolución o 1280 de una imagen disponible. Si la imagen original es de 500px o menos, no se genera una versión 1280 .
  3. Los sets de fotos no producen una versión 100 .

URL de la imagen

La URL de la imagen será una de las dos siguientes. La primera URL parece estar asociada con las imágenes subidas hace más de 6 meses (esto es una conjetura), la segunda URL parece ser para imágenes más nuevas:

http://36.media.tumblr.com/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg

o

http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg

Esquema de URL

Esto se puede dividir en tres partes, dos variables, una constante.

  1. http://36
  2. .media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1
  3. _500.jpg

1 Este es un número de servidor y puede diferir para cada tamaño de imagen. AFAIK no hay garantía de que un tamaño de imagen esté disponible en todos los servidores. @Ally mencionó en los comentarios que puede eliminar esta parte de la URL y la imagen aún se encontrará.
2 Este es el subdominio Tumblr, el directorio (si corresponde) y el nombre de archivo parcial. Esto será igual para todos los tamaños.
3 Este es el tamaño solicitado (que coincide con la etiqueta de la plantilla) y la extensión del archivo.

Generando URLs para todos los tamaños disponibles usando etiquetas de plantilla.

El único método infalible que he encontrado es usar las etiquetas de plantilla correspondientes y asignarlas a un atributo de data- .

Código de plantilla de ejemplo:

<img src="{PhotoURL-100}" data-250u="{PhotoURL-250}" data-400u="{PhotoURL-400}" data-500u="{PhotoURL-500}" data-1280u="{block:HighRes}{PhotoURL-HighRes}{/block:HighRes}" />

Ejemplo de código renderizado:

<img src="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_100.jpg" data-250u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_250.jpg" data-400u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_400.jpg" data-500u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg" data-1280u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_1280.jpg" >

Con este método, puede estar seguro de tener las URL correctas y saber qué tamaños están disponibles.

Hackear URLs de todos los tamaños basadas en una sola URL.

Usando esta información la URL se convertiría en:

http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg

A continuación se muestra una prueba para confirmar que accedemos a todos los tamaños disponibles:

Aún no sabrías si se ha generado el tamaño 1280, pero está un paso más cerca. Con este método, podría reemplazar el valor (parte 3) con un nuevo tamaño y debería poder obtener la imagen.

¿Cuál es el esquema de un archivo de imagen en Tumblr? (No me refiero a HTTP ) Solo he descubierto que el dominio de los servidores donde se almacenan las imágenes es <n>.media.tumblr.com , donde n es un número entre 1 y 31 y el nombre de la imagen el archivo tiene el prefijo " tumblr_ .

Lo pregunto porque quiero encontrar URL que hagan referencia a la misma imagen.

EDITAR: También estoy procesando URL de otras fuentes, no solo de Tumblr.


Tenga en cuenta que los archivos originales (en su resolución completa) se almacenan con el sufijo ''_raw'', en lugar de _1280, _500, _250, etc.

Normalmente se almacenan en data.tumblr.com actualmente (su dominio CDN).

La ruta en el esquema de URL se genera a partir de la suma de comprobación SHA1 del archivo original (sin procesar).