Creazy!

WEBエンジニア・ヤガーのテック・ガジェットブログ

Bookmarklet 開発実績

EXIF情報を一覧表示するブックマークレット「EXIF EXISTS ?」を作りました

投稿日:


WEBページに表示されている画像のEXIF情報をザザーと一覧表示するブックマークレット(というかWEBサービス)「EXIF EXISTS ?」を作ってみました。
EXIF EXISTS ? | あるWEBページ上の画像EXIF情報をまとめて一覧表示
EXIF EXISTS ?
イグジフ・イグジスツ」とでも読んでみようかと思う。
毎度ながら舌を噛み切りそうな名前をつけるオレ。
そして、自分でもウマく読めないorz
使い方はいたって簡単。
EXIF EXISTS ?のページに行って、調べたいWEBページのURLを入力するか、調べたいWEBページを開いた状態で下記ブックマークレットを実行すれば、そのWEBページに表示されている画像からEXIF情報を取り出し、一覧表示します。
EXIF EXISTS ?(Bookmarklet)

EXIF EXISTS ? を作ったきっかけ

先週、紫色の何かを口に押し付けているすごい人が面白いサービスを作っていたわけで、

仕組みは単純で、ブログに埋め込まれている JPEG ファイルを探して、EXIF データがあればその Model, Make をみてメーカー・機種名を出しています。

via: ブログの画像からカメラ携帯の機種を調べてみる: blog.bulknews.net

携帯の機種がさくっと分かってスゲーなーとか思っていたんだけど、EXIFにはもっと色んな情報が入っているし、ウマい写真撮る人がどんなデジカメ使っているかとか、ISOとか露出とかこのくらいでこんな色か、みたいな事を写真と見比べながら確認できたらすごい勉強になるなぁと思って(オレが)。
自分の周りに写真好きが異常に多い事もあって、結構需要は多いんじゃないかと勝手に思っています。

仕組み等を紆余曲折

実はEXIFなんて簡単に取得できちゃうんですが、JSONで取得できるAPIまでありましたよ。

デジタルカメラなどで撮影した画像ファイルに含まれるExifメタ情報を取得し、JSON形式で出力するサービスを作ってみました。

via: Exif JSONサービス – Ogawa::Memoranda

で、当初これを使ってサクッと!と思っていたんですが、うまくEXIFを取得できない画像が多いように感じたので、

巨大なサムネイルデータをExifとして持つような画像ファイルには対応できません。

via: Exif JSONサービス – Ogawa::Memoranda

しかたないので、自前で実装しました。といってもPHPだと関数一発、ファイト一発。

array exif_read_data ( string $filename [, string $sections [, bool $arrays [, bool $thumbnail]]] )

via: PHP: exif_read_data – Manual

EXIF情報が配列で返ってくるのであとは並べるだけ。
あ、そうそうEXIFの前に対象の画像URLを取得しなきゃいけないので以下のような手順をふんでます。
 1)指定されたURLのHTMLを取得
 2)HTMLからIMG要素を正規表現で抜き出し
 3)IMG要素のリストからSRC属性を抜き出し
 4)SRC属性のリストからEXIFに対応しているJPEG/TIFFの画像のみ取得
 5)EXIF取得
 6)一覧表示
おおざっぱすぎるけどまさにこんな感じ。

ご意見ご感想お待ちしています

写真(やカメラ)の知識が足りないので、一般的にEXIF情報の中で何の項目を確認したいか良く分からず。しかも、一覧表示にするのである程度項目は絞らなきゃいけないなと思ったので結構悩みました。結局、Flickrとか他のフォトサービスを参考に表示する項目を決めましたが、何かお気付きの方がいましたら情報頂ければと思います。あと、やっつけで作ったのでバグあるかも。そんな落とし穴を見つけた場合もフィードバックしてもらえるとなお嬉し。

EXIFについて改めて考える
動画を楽しもう!(Youtubeの動画を片っ端からダウンロードするブックマークレット)
第13回:URLエンコードとURLデコードを簡単にするブックマークレット
第11回:引用(blockquote)を簡単にするブックマークレット
第9回:閲覧しているサイトへのリンクタグを生成するブックマークレット
第6回:TinyURL の遷移先が怖くて開けない場合の対処法

-Bookmarklet, 開発実績

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

ミイル(miil)にアップロードした写真をブログに貼り付けるためのHTMLをコピーするブックマークレット

みなさん、お料理写真をおいしそうに写すことができてTwitterやFacebookに共有できるミイル(miil)は使っていますでしょうか?ボクは外食したときにスマホで写真を撮ることが多いのですが、自分 …

HTML5のhistory.replaceStateを使った余計なトラッキング用パラメーターを取り除くUserScript

以前に、余計なトラッキング用パラメーターを取り除くUserScriptとして公開したいたスクリプトがあるのですが、canonical属性があったらそれを生とする仕様としていたため、正しいcanonic …

no image

動画を楽しもう!(YoutubeをMP4でダウンロードするもっと簡単なブックマークレット)

YoutubeをMP4の高画質で見れる方法がある事が分かり、Google Operating SystemではすでにMP4形式でダウンロードできるブックマークレットが紹介されています。 One way …

「はてブ Fans Ranking」であなたのブログをたくさんブクマしてくれてる人を調べよう

ちょっと、思い付いてこんなの作ってみました。 指定したURL内ページをたくさんブックマークしている、はてなブックマークアカウントのランキングを表示してくれます。

no image

続:Apple Store のアウトレット品が買える「特別限定販売」ページをいち早くチェックする方法

以前こんなエントリーを書いて、 ・Apple Store のアウトレット品が買える「特別限定販売」ページをいち早くチェックする方法 TumblrにAppleの特別限定販売ページの更新情報を食わせて、T …

スポンサードリンク

スポンサードリンク