web-dev-qa-db-fra.com

Quel est le schéma d'URL des images Tumblr?

Quel est le schéma d'un fichier image sur Tumblr? (Je ne veux pas dire HTTP) J'ai seulement compris que le domaine des serveurs où les images sont stockées est <n>.media.tumblr.com, où n est un nombre compris entre 1 et 31 et le nom du fichier image est précédé de "tumblr_.

Je demande parce que je veux trouver des URL qui renvoient à la même image.

EDIT: Je traite également des URL provenant d'autres sources, pas seulement de Tumblr.

24
Jimmy T.

Aperçu

Lorsque vous téléchargez une image sur Tumblr, plusieurs tailles (de la même image) sont générées et stockées sur leur réseau.

Une fois téléchargé, vous pouvez utiliser balises de modèle pour demander cette image aux tailles suivantes: 75 , 100 , 250 , 400 , 500 et 1280 .

Il convient de mentionner les éléments suivants:

  1. La valeur dans la balise de modèle est la taille maximale de l'image demandée. Exemple: une version 400 d'une image peut être n'importe où entre 251px et 400px large/haut.
  2. Il peut ne pas y avoir de version haute résolution ou 1280 d'une image disponible . Si l'image d'origine est 500 px ou moins, une version 1280 n'est pas ' t généré.
  3. Les ensembles de photos ne produisent pas de version 100 .

URL de l'image

L'URL de l'image sera l'une des deux ci-dessous. La première URL semble être associée aux images téléchargées il y a plus de 6 mois (c'est une supposition), la deuxième URL semble être pour les images plus récentes:

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

ou

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

Schéma d'URL

Cela peut être divisé en trois parties, deux variables, une constante.

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

1 Il s'agit d'un numéro de serveur et peut différer pour chaque taille d'image. AFAIK il n'y a aucune garantie qu'une taille d'image sera disponible sur tous les serveurs. @Ally mentionné dans les commentaires, vous pouvez supprimer cette partie de l'URL et l'image sera toujours trouvée.
2 Il s'agit du sous-domaine Tumblr, du répertoire (le cas échéant) et du nom de fichier partiel. Ce sera le même pour toutes les tailles.
3 Il s'agit de la taille demandée (qui correspond à la balise du modèle) et de l'extension de fichier.

Génération d'URL pour toutes les tailles disponibles à l'aide de balises de modèle.

La seule méthode infaillible que j'ai trouvée consiste à utiliser les balises de modèle correspondantes et à les affecter à un data- attribut.

Exemple de code de modèle:

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

Exemple de code rendu:

<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" >

Avec cette méthode, vous pouvez être certain de disposer des URL correctes et de connaître les tailles disponibles.

Piratage de toutes les URL de taille sur la base d'une seule URL.

En utilisant ces informations, l'URL deviendrait:

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

Voici un test pour confirmer que nous accédons à toutes les tailles disponibles:

Vous ne savez toujours pas si la taille 1280 a été générée, mais c'est un pas de plus. Avec cette méthode, vous pouvez remplacer la valeur (partie 3) par une nouvelle taille et vous devriez être en mesure d'obtenir l'image.

52
mikedidthis

Gardez à l'esprit que les fichiers originaux (dans leur pleine résolution) sont stockés avec le suffixe '_raw', au lieu de _1280, _500, _250, etc.

Ils sont généralement stockés sur data.tumblr.com actuellement (leur domaine CDN).

Le chemin dans le schéma d'URL est généré à partir de la somme de contrôle SHA1 du fichier d'origine (brut).

1
Hernn0