Подтвердить что ты не робот

Какова схема URL-адресов изображений Tumblr?

Какова схема образа файла в Tumblr? (Я не имею в виду HTTP) Я только выяснил, что домен серверов, на которых хранятся изображения, <n>.media.tumblr.com, где n - число от 1 до 31, а имя файла изображения имеет префикс "tumblr_.

Я спрашиваю, потому что я хочу найти URL-адреса, которые относятся к одному и тому же изображению.

EDIT: Я также обрабатываю URL-адреса из других источников, а не только Tumblr.

4b9b3361

Ответ 1

Обзор

Когда вы загружаете изображение в Tumblr, в своей сети генерируются и сохраняются несколько размеров (одного и того же изображения).

После загрузки вы можете использовать теги шаблонов, чтобы запросить это изображение со следующими размерами: 75, 100, 250, 400, 500 и 1280.

Стоит отметить следующее:

  • Значение в теге шаблона - это максимальный размер запрашиваемого изображения. Пример. Версия изображения 400 может находиться где угодно между 251px и 400px широким/высоким.
  • Возможно, не существует версии высокого разрешения или 1280. Если исходное изображение 500 пикселей или меньше, версия 1280 не создается.
  • Фотосеты не выпускают версию 100.

URL-адрес изображения

URL-адрес изображения будет либо из двух ниже. Первый URL-адрес, похоже, связан с загрузкой изображений более 6 месяцев назад (это предположение), второй URL-адрес, по-видимому, предназначен для более новых изображений:

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

или

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

Схема URL

Это можно разбить на три части, две переменные, одну константу.

  • http://36
  • .media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1
  • _500.jpg

1 Это номер сервера и может отличаться для каждого размера изображения. AFAIK не гарантирует, что размер изображения будет доступен на всех серверах. @Ally, упомянутый в комментариях, вы можете удалить эту часть из URL-адреса, и изображение все равно будет найдено. 2 Это поддомен Tumblr, каталог (если применимо) и частичное имя файла. Это будет одинаково для всех размеров.
3 Это запрошенный размер (который соответствует тегу шаблона) и расширение файла.

Создание URL-адресов для всех размеров, доступных с использованием тегов шаблонов.

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

Пример кода шаблона:

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

Пример визуализированного кода:

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

С помощью этого метода вы можете быть уверены, что у вас есть правильные URL-адреса, и вы знаете, какие размеры доступны.

Взлом всех URL-адресов размера на основе только одного URL-адреса.

Используя эту информацию, URL-адрес станет следующим:

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

Ниже приведен тест, подтверждающий доступ ко всем доступным размерам:

Вы все еще не знаете, был ли сформирован размер 1280, но его шаг ближе. С помощью этого метода вы можете заменить значение (часть 3) на новый размер, и должен получить изображение.