Tumblrの画像ファイルのスキーマは何ですか? (HTTP
を意味するものではありません)画像が保存されているサーバーのドメインが<n>.media.tumblr.com
、ここでn
は1〜31の数字で、画像ファイルの名前の前には「tumblr_
。
同じ画像を参照するURLを見つけたいので、私は尋ねています。
編集:Tumblrだけでなく、他のソースからのURLも処理しています。
Tumblrに画像をアップロードすると、(同じ画像の)複数のサイズが生成され、ネットワーク全体に保存されます。
アップロードしたら、 テンプレートタグ を使用して、次のサイズでこの画像をリクエストできます:75、100、250、400、500および1280.
以下に言及する価値があります。
画像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
これは、3つの部分、2つの変数、1つの定数に分割できます。
http://36
.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1
_500.jpg
1これはサーバー番号であり、画像サイズごとに異なる場合があります。 私の知る限り、すべてのサーバーで画像サイズが利用できるという保証はありません。コメントで@Allyを指定すると、URLからこの部分を削除できますが、画像は引き続き検出されます。
2これは、Tumblrサブドメイン、ディレクトリ(該当する場合)、および部分的なファイル名です。これはすべてのサイズで同じです。
3これは、要求されたサイズ(テンプレートタグと一致)およびファイル拡張子です。
私が見つけた唯一の絶対確実な方法は、対応するテンプレートタグを使用し、それらを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は次のようになります。
http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg
以下は、利用可能なすべてのサイズにアクセスすることを確認するテストです。
1280サイズが生成されたかどうかはまだわかりませんが、一歩近づいています。このメソッドを使用すると、値(パート3)を新しいサイズに置き換えることができ、should画像を取得できます。
元のファイル(最大解像度)は、_1280、_500、_250などではなく、接尾辞「_raw」で保存されることに注意してください。
それらは通常、data.tumblr.com(CDNドメイン)に現在保存されています。
URLスキームのパスは、元の(生の)ファイルのSHA1チェックサムから生成されます。