web-dev-qa-db-ja.com

Tumblr画像のURLスキーマとは何ですか?

Tumblrの画像ファイルのスキーマは何ですか? (HTTPを意味するものではありません)画像が保存されているサーバーのドメインが<n>.media.tumblr.com、ここでnは1〜31の数字で、画像ファイルの名前の前には「tumblr_

同じ画像を参照するURLを見つけたいので、私は尋ねています。

編集:Tumblrだけでなく、他のソースからのURLも処理しています。

24
Jimmy T.

概要

Tumblrに画像をアップロードすると、(同じ画像の)複数のサイズが生成され、ネットワーク全体に保存されます。

アップロードしたら、 テンプレートタグ を使用して、次のサイズでこの画像をリクエストできます:75100250400500および1280.

以下に言及する価値があります。

  1. テンプレートタグの値は、要求された画像の最大サイズです。例:400バージョンの画像は、251px400px幅/高。
  2. 高解像度または1280バージョンの画像がない場合があります。元の画像が500px以下の場合、1280バージョンは ' tが生成されました。
  3. 写真セットは100バージョンを生成しません。

画像URL

画像URLは、次の2つのいずれかです。最初のURLは6か月以上前にアップロードされた画像に関連付けられているようです(これは推測です)。2番目のURLは新しい画像用です。

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

または

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

URLスキーマ

これは、3つの部分、2つの変数、1つの定数に分割できます。

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

1これはサーバー番号であり、画像サイズごとに異なる場合があります。 私の知る限り、すべてのサーバーで画像サイズが利用できるという保証はありません。コメントで@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があり、使用可能なサイズがわかっていることを確認できます。

1つのURLのみに基づいてすべてのサイズのURLをハッキングする。

この情報を使用すると、URLは次のようになります。

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

以下は、利用可能なすべてのサイズにアクセスすることを確認するテストです。

1280サイズが生成されたかどうかはまだわかりませんが、一歩近づいています。このメソッドを使用すると、値(パート3)を新しいサイズに置き換えることができ、should画像を取得できます。

52
mikedidthis

元のファイル(最大解像度)は、_1280、_500、_250などではなく、接尾辞「_raw」で保存されることに注意してください。

それらは通常、data.tumblr.com(CDNドメイン)に現在保存されています。

URLスキームのパスは、元の(生の)ファイルのSHA1チェックサムから生成されます。

1
Hernn0