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

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

関連記事

no image

Twitter野良APIを停止しました。

以前、以下のエントリーで紹介したYahoo!PipesですがTwitterの規約に抵触しているようですので、公開停止しました。 ・TwitterのAPI制限を回避するためのYahoo!Pipes [C …

no image

GYM Search を少し調整しました

少し前にGYM Searchというサービスを公開していました。 主要な検索エンジンとして知られている、Google、Yahoo!、MSN Live Search、から同時に検索結果を取得し一覧表示しま …

Appleのアウトレット品(整備済Mac、整備済iPod、旧モデル新品)を一覧できるページ作りました

以前、作ったAppleのアウトレット品をチェックするPipesが動かなくなっていたので、手直しついでにアウトレット品を一覧して見る事ができるページを作ってみました。 Apple Outlet : 整備 …

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

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

「ツイポーート/twport」2022年6月いっぱいでレポートの公開機能を終了します【8/1 22時からメンテナンス】

Twitterの検索結果をレポートとして保存できるツイポーートですが、すでに機能開発を終了し必要最低限のメンテナンスを継続している状況です。一方、Twitterを使ったキャンペーンなど集計に使える数少 …

スポンサードリンク

スポンサードリンク